lec6 os structure
TRANSCRIPT
-
8/3/2019 Lec6 OS Structure
1/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.1Operating System Concepts
Operating Systems
Lecture 6System Calls
OS System Structure
-
8/3/2019 Lec6 OS Structure
2/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.2Operating System Concepts
System Calls
System calls provide the interface between a running program andthe operating system.
Generally available as assembly-language instructions.
Languages defined to replace assembly language for systems
programming allow system calls to be made directly (e.g., C,C++)
-
8/3/2019 Lec6 OS Structure
3/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.3Operating System Concepts
System Calls are Used Frequently
A single program may make numerous system calls. For example, aprogram to read from one file and write to another would needsystem calls for the following:
Prompt the user to enter file names
Read in filenames
Open input file
Read from input file
Open/create output file
Write output to file
Close input and output files
The system must be able to signal and handle errors that occur.
-
8/3/2019 Lec6 OS Structure
4/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.4Operating System Concepts
Passing Parameters
Three general methods are used to pass parametersbetween a running program and the operating system.
Pass parameters in registers.
Store the parameters in a table in memory, and the
table address is passed as a parameter in a register. Push (store) the parameters onto the stackby the
program, and pop off the stack by operating system.
-
8/3/2019 Lec6 OS Structure
5/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.5Operating System Concepts
Passing ofParameters As A Table
-
8/3/2019 Lec6 OS Structure
6/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.6Operating System Concepts
Types of System Calls
Process control
create (fork), execute (exec), wait, end (exit), abort (kill), etc.
File management
creat, delete, open, close, read, write, cp, rm, mkdir, rmdir, ls, cat, more, grep,
etc. get/set file attributes
Device management read, write, attach (mount), detach (unmount), get/set device attributes
Information maintenance
get/set time or date, get/set file attributes (chmod, chown, chgrp), get/set
process/device attributes (du, ps, etc) Communications
send, receive, connect, accept, get/set status information, gethostid/sethostid,
gethostbyname, etc.
-
8/3/2019 Lec6 OS Structure
7/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.7Operating System Concepts
Process Control
A process executing one program may want to load and execute another program(e.g. the shell loads and executes programs). The following are important
considerations:
Where does control return when the new process is finished?
If return control to existing program, must save memory image of existing
program before loading new process. If both programs are to run concurrently, the new process is added to the
multiprogramming set of processes.
Controlling execution of the process:
get/set process attributes, terminate process
Waiting for the process to finish wait event, signal event
Terminating the process
Normal (exit) or abnormal (abort) termination.
There are multiple ways of implementing process control.
-
8/3/2019 Lec6 OS Structure
8/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.8Operating System Concepts
MS-DOS Execution
At System Start-up Running a Program
MS-DOS runs the commandinterpreter on startup.
It loads a new program into
memory, writing over part of
the interpreter.
When the program terminates,
the part of the interpreter not
overwritten begins execution.
It loads the rest of the
interpreter from disk.
-
8/3/2019 Lec6 OS Structure
9/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.9Operating System Concepts
UNIX Running Multiple Programs
UNIX runs the shell on startup.
To start a new process, it uses the fork command to
create the process and exec to execute it.
If the process is in the foreground, the shell waits for the
process to finish.
If the process is in the background, the user can
continue to issue commands while the process is
running.
When the process is finished, it executes an exit system
call.
-
8/3/2019 Lec6 OS Structure
10/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.10Operating System Concepts
Message Passing
Processes use message passing to send messages to one another. First, the connection must be opened.
The name of the communicator must be known (hos tname or host id,
process name or process id). Use get process id or get host id.
open connection, close connection
recipient uses accept connection
The initiator is the client. The recipient of the request is the server.
Exchange of information made with write message system calls.
-
8/3/2019 Lec6 OS Structure
11/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.11Operating System Concepts
Shared Memory
In memory sharing, processes communicate by writing and readingto the same memory addresses.
Processes use map memory system calls to access memory
owned by other processes.
Both processes must agree to remove O.S. memory restriction sothat they can access the same region of memory.
The processes are responsible for the form and location of the
data.
The processes are responsible for making sure that they are notwriting to the same memory area simultaneously.
-
8/3/2019 Lec6 OS Structure
12/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.12Operating System Concepts
Communication Models
Msg Passing Shared Memory
Communication may take place using either message passing or
shared memory.
-
8/3/2019 Lec6 OS Structure
13/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.13Operating System Concepts
System Programs
System programs provide a convenient environment for program
development and execution. The can be divided into:
File manipulation
Status information
File modification Programming language support
Program loading and execution
Communications
Application programs
Most users view of the operation system is defined by system
programs, not the actual system calls.
-
8/3/2019 Lec6 OS Structure
14/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.14Operating System Concepts
MS-DOS System Structure
MS-DOS written to provide the most functionality in the least
space
not divided into modules
Although MS-DOS has some structure, its interfaces andlevels of functionality are not well separated
-
8/3/2019 Lec6 OS Structure
15/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.15Operating System Concepts
MS-DOS Layer Structure
-
8/3/2019 Lec6 OS Structure
16/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.16Operating System Concepts
UNIX System Structure
UNIX limited by hardware functionality, the original UNIXoperating system had limited structuring. The UNIX OS
consists of two separable parts.
Systems programs
The kernel Consists of everything below the system-call interface and
above the physical hardware
Provides the file system, CPU scheduling, memory
management, and other operating-system functions; a large
number of functions for one level.
-
8/3/2019 Lec6 OS Structure
17/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.17Operating System Concepts
UNIX System Structure
-
8/3/2019 Lec6 OS Structure
18/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.18Operating System Concepts
Layered Approach
The operating system is divided into a number of layers (levels),each built on top of lower layers. The bottom layer (layer 0), is
the hardware; the highest (layer N) is the user interface.
With modularity, layers are selected such that each uses
functions (operations) and services of only lower-level layers. Advantage: Modularity makes it easy to modify and extend.
Disadvantage: Some functions may depend on one another,
making a strict hierarchy difficult to implement.
-
8/3/2019 Lec6 OS Structure
19/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.19Operating System Concepts
An Operating System Layer
-
8/3/2019 Lec6 OS Structure
20/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.20Operating System Concepts
OS/2 Layer Structure
-
8/3/2019 Lec6 OS Structure
21/21
Silberschatz, Galvin and Gagne 2002Modified for CSCI 399, Royden, 2005
3.21Operating System Concepts
Microkernel System Structure
Moves as much from the kernel into user space.
Communication takes place between user modules using
message passing.
Benefits:
- easier to extend a microkernel- easier to port the operating system to new architectures
- more reliable (less code is running in kernel mode)
- more secure
Example: Mac OS X is based on the Mach micro kernel.