Professional Documents
Culture Documents
Lecture 05 - CH 2
Lecture 05 - CH 2
Structures
Operating System Concepts – 9th Edition Silberschatz, Galvin and Gagne ©2013
Chapter 2: Operating-System Structures
Operating System Concepts – 9th Edition 2.2 Silberschatz, Galvin and Gagne ©2013
Objectives
▪ To describe the services an operating system provides to
users, processes, and other systems
▪ To discuss the various ways of structuring an operating
system
▪ To explain how operating systems are installed and
customized and how they boot
Operating System Concepts – 9th Edition 2.3 Silberschatz, Galvin and Gagne ©2013
Operating System Services
▪ Operating systems provide an environment for execution of programs
and services to programs and users
▪ One set of operating-system services provides functions that are
helpful to the user:
o User interface - Almost all operating systems have a user
interface (UI).
o Varies between Command-Line (CLI), Graphics User
Interface (GUI), Batch
o Program execution - The system must be able to load a
program into memory and to run that program, end execution,
either normally or abnormally (indicating error)
o I/O operations - A running program may require I/O, which may
involve a file or an I/O device
Operating System Concepts – 9th Edition 2.4 Silberschatz, Galvin and Gagne ©2013
Operating System Services (Cont.)
Operating System Concepts – 9th Edition 2.5 Silberschatz, Galvin and Gagne ©2013
Operating System Services (Cont.)
▪ Another set of OS functions exists for ensuring the efficient operation of the
system itself via resource sharing
o Resource allocation - When multiple users or multiple jobs running
concurrently, resources must be allocated to each of them
o Many types of resources - CPU cycles, main memory, file storage,
I/O devices.
o Accounting - To keep track of which users use how much and what
kinds of computer resources
o Protection and security - The owners of information stored in a
multiuser or networked computer system may want to control use of
that information, concurrent processes should not interfere with each
other
o Protection involves ensuring that all access to system resources is
controlled
o Security of the system from outsiders requires user authentication,
extends to defending external I/O devices from invalid access
attempts
Operating System Concepts – 9th Edition 2.6 Silberschatz, Galvin and Gagne ©2013
A View of Operating System Services
Operating System Concepts – 9th Edition 2.7 Silberschatz, Galvin and Gagne ©2013
User Operating System Interface - CLI
Operating System Concepts – 9th Edition 2.8 Silberschatz, Galvin and Gagne ©2013
Bourne Shell Command Interpreter
Operating System Concepts – 9th Edition 2.9 Silberschatz, Galvin and Gagne ©2013
User Operating System Interface - GUI
Operating System Concepts – 9th Edition 2.10 Silberschatz, Galvin and Gagne ©2013
Touchscreen Interfaces
Operating System Concepts – 9th Edition 2.11 Silberschatz, Galvin and Gagne ©2013
The Mac OS X GUI
Operating System Concepts – 9th Edition 2.12 Silberschatz, Galvin and Gagne ©2013
System Calls
▪ Programming interface to the services provided by the OS
▪ Typically written in a high-level language (C or C++)
▪ Mostly accessed by programs via a high-level
Application Programming Interface (API) rather than
direct system call use
▪ Three most common APIs are
▪ Win32 API for Windows,
▪ POSIX API for POSIX-based systems (including
virtually all versions of UNIX, Linux, and Mac OS X),
▪ and Java API for the Java virtual machine (JVM)
Note that the system-call names used throughout this text are
generic
Operating System Concepts – 9th Edition 2.13 Silberschatz, Galvin and Gagne ©2013
Example of System Calls
▪ System call sequence to copy the contents of one file to another file
Operating System Concepts – 9th Edition 2.14 Silberschatz, Galvin and Gagne ©2013
Example of Standard API
Operating System Concepts – 9th Edition 2.15 Silberschatz, Galvin and Gagne ©2013
System Call Implementation
Operating System Concepts – 9th Edition 2.16 Silberschatz, Galvin and Gagne ©2013
API – System Call – OS Relationship
Operating System Concepts – 9th Edition 2.17 Silberschatz, Galvin and Gagne ©2013
System Call Parameter Passing
Operating System Concepts – 9th Edition 2.18 Silberschatz, Galvin and Gagne ©2013
Parameter Passing via Table
Operating System Concepts – 9th Edition 2.19 Silberschatz, Galvin and Gagne ©2013
Types of System Calls
• Process control
o create process, terminate process
o end, abort
o load, execute
o get process attributes, set process attributes
o wait for time
o wait event, signal event
o allocate and free memory
o Dump memory if error
o Debugger for determining bugs, single step execution
o Locks for managing access to shared data between processes
Operating System Concepts – 9th Edition 2.20 Silberschatz, Galvin and Gagne ©2013
Types of System Calls
• File management
o create file, delete file
o open, close file
o read, write, reposition
o get and set file attributes
• Device management
o request device, release device
o read, write, reposition
o get device attributes, set device attributes
o logically attach or detach devices
Operating System Concepts – 9th Edition 2.21 Silberschatz, Galvin and Gagne ©2013
Types of System Calls (Cont.)
• Information maintenance
o get time or date, set time or date
o get system data, set system data
o get and set process, file, or device attributes
• Communications
o create, delete communication connection
o send, receive messages if message passing model to host
name or process name
o From client to server
o Shared-memory model create and gain access to memory
regions
o transfer status information
o attach and detach remote devices
Operating System Concepts – 9th Edition 2.22 Silberschatz, Galvin and Gagne ©2013
Types of System Calls (Cont.)
• Protection
o Control access to resources
o Get and set permissions
o Allow and deny user access
Operating System Concepts – 9th Edition 2.23 Silberschatz, Galvin and Gagne ©2013