0% found this document useful (0 votes)
4 views

ch2_structure_systeme

Système d'exploitation
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

ch2_structure_systeme

Système d'exploitation
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Chapter 2: Operating-System

Structures
Slides have been adapted for INSA by T. Monteil

Operating System Concepts – 8th Edition! Silberschatz, Galvin and Gagne ©2009!
Chapter 2: Operating-System Structures

 Operating System Services"


 User Operating System Interface"
 System Calls"
 Types of System Calls"
 Operating System Structure"
 Virtual Machines"

Operating System Concepts – 8th Edition! 2.2! Silberschatz, Galvin and Gagne ©2009!
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 – 8th Edition! 2.3! Silberschatz, Galvin and Gagne ©2009!
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:"
 User interface - Almost all operating systems have a user interface (UI)."
 Varies between Command-Line (CLI), Graphics User Interface (GUI),
Batch!
 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)"
 I/O operations - A running program may require I/O, which may involve a
file or an I/O device"
 File-system manipulation - The file system is of particular interest.
Programs need to read and write files and directories, create and delete
them, search them, list file Information, permission management."

Operating System Concepts – 8th Edition! 2.4! Silberschatz, Galvin and Gagne ©2009!
Operating System Services (Cont.)
 Communications – Processes may exchange information, on the
same computer or between computers over a network"
 Communications may be via shared memory or through
message passing (packets moved by the OS)"
 Error detection – OS needs to be constantly aware of possible
errors"
 May occur in the CPU and memory hardware, in I/O devices, in
user program"
 For each type of error, OS should take the appropriate action to
ensure correct and consistent computing"
 Debugging facilities can greatly enhance the user’s and
programmer’s abilities to efficiently use the system"

Operating System Concepts – 8th Edition! 2.5! Silberschatz, Galvin and Gagne ©2009!
Operating System Services (Cont.)

 Another set of OS functions exists for ensuring the efficient operation of the
system itself via resource sharing"
 Resource allocation - When multiple users or multiple jobs running
concurrently, resources must be allocated to each of them"
 Many types of resources - Some (such as CPU cycles, main memory,
and file storage) may have special allocation code, others (such as I/O
devices) may have general request and release code"
 Accounting - To keep track of which users use how much and what kinds
of computer resources"
 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"
 Protection involves ensuring that all access to system resources is
controlled"
 Security of the system from outsiders requires user authentication,
extends to defending external I/O devices from invalid access attempts"
 If a system is to be protected and secure, precautions must be
instituted throughout it. A chain is only as strong as its weakest link."

Operating System Concepts – 8th Edition! 2.6! Silberschatz, Galvin and Gagne ©2009!
A View of Operating System Services

Operating System Concepts – 8th Edition! 2.7! Silberschatz, Galvin and Gagne ©2009!
User Operating System Interface - CLI

 Command Line Interface (CLI) or command interpreter allows direct


command entry"
 Sometimes implemented in kernel, sometimes by systems
program"
 Sometimes multiple flavors implemented – shells!
 Primarily fetches a command from user and executes it"
– Sometimes commands built-in, sometimes just names of
programs"
» If the latter, adding new features doesn’t require shell
modification"

Operating System Concepts – 8th Edition! 2.8! Silberschatz, Galvin and Gagne ©2009!
User Operating System Interface - GUI

 User-friendly desktop metaphor interface"


 Usually mouse, keyboard, and monitor"
 Icons represent files, programs, actions, etc"
 Various mouse buttons over objects in the interface cause various
actions (provide information, options, execute function, open directory
(known as a folder)"
 Invented at Xerox PARC"

 Many systems now include both CLI and GUI interfaces"


 Microsoft Windows is GUI with CLI “command” shell"
 Apple Mac OS X as “Aqua” GUI interface with UNIX kernel underneath
and shells available"
 Solaris is CLI with optional GUI interfaces (Java Desktop, KDE)"

Operating System Concepts – 8th Edition! 2.9! Silberschatz, Galvin and Gagne ©2009!
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 Program


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)"

 Why use APIs rather than system calls?


"
"(Note that the system-call names used throughout this text are
generic)"

Operating System Concepts – 8th Edition! 2.10! Silberschatz, Galvin and Gagne ©2009!
Example of System Calls
 System call sequence to copy the contents of one file to another file"

Operating System Concepts – 8th Edition! 2.11! Silberschatz, Galvin and Gagne ©2009!
Example of Standard API
 Consider the ReadFile() function in the"
 Win32 API—a function for reading from a file

"

"

 A description of the parameters passed to ReadFile()"


 HANDLE file—the file to be read"
 LPVOID buffer—a buffer where the data will be read into and written from"
 DWORD bytesToRead—the number of bytes to be read into the buffer"
 LPDWORD bytesRead—the number of bytes read during the last read"
 LPOVERLAPPED ovl—indicates if overlapped I/O is being used"

Operating System Concepts – 8th Edition! 2.12! Silberschatz, Galvin and Gagne ©2009!
API – System Call – OS Relationship

Operating System Concepts – 8th Edition! 2.13! Silberschatz, Galvin and Gagne ©2009!
Standard C Library Example
 C program invoking printf() library call, which calls write() system call"

Operating System Concepts – 8th Edition! 2.14! Silberschatz, Galvin and Gagne ©2009!
Types of System Calls
 Process control"
 end, abort"
 load, execute"
 create process, terminate process"
 get process attributes, set process attributes"
 wait for time"
 wait event, signal event"
 allocate and free memory"
 File management"
 create file, delete file"
 open, close file"
 read, write, reposition"
 get and set file attributes"

Operating System Concepts – 8th Edition! 2.15! Silberschatz, Galvin and Gagne ©2009!
Types of System Calls (Cont.)
 Device management"
 request device, release device"
 read, write, reposition"
 get device attributes, set device attributes"
 logically attach or detach devices"
 Information maintenance"
 get time or date, set time or date"
 get system data, set system data"
 get and set process, file, or device attributes"
 Communications"
 create, delete communication connection"
 send, receive messages"
 transfer status information"
 attach and detach remote devices"

Operating System Concepts – 8th Edition! 2.16! Silberschatz, Galvin and Gagne ©2009!
Examples of Windows and
Unix System Calls

Operating System Concepts – 8th Edition! 2.17! Silberschatz, Galvin and Gagne ©2009!
Traditional UNIX System Structure

Operating System Concepts – 8th Edition! 2.18! Silberschatz, Galvin and Gagne ©2009!
UNIX

 UNIX – limited by hardware functionality, the original UNIX operating


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"

Operating System Concepts – 8th Edition! 2.19! Silberschatz, Galvin and Gagne ©2009!
Layered Operating System

Operating System Concepts – 8th Edition! 2.20! Silberschatz, Galvin and Gagne ©2009!
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"

 Detriments:"
 Performance overhead of user space to kernel space
communication"

Operating System Concepts – 8th Edition! 2.21! Silberschatz, Galvin and Gagne ©2009!
Mac OS X Structure

Operating System Concepts – 8th Edition! 2.22! Silberschatz, Galvin and Gagne ©2009!
Modules
 Most modern operating systems implement kernel modules"
 Uses object-oriented approach"
 Each core component is separate"
 Each talks to the others over known interfaces"
 Each is loadable as needed within the kernel"

 Overall, similar to layers but with more flexible"

Operating System Concepts – 8th Edition! 2.23! Silberschatz, Galvin and Gagne ©2009!
Virtual Machines

 A virtual machine takes the layered approach to its logical


conclusion. It treats hardware and the operating system kernel as
though they were all hardware."

 A virtual machine provides an interface identical to the underlying bare


hardware."

 The operating system host creates the illusion that a process has its
own processor and (virtual memory)."

 Each guest provided with a (virtual) copy of underlying computer."

Operating System Concepts – 8th Edition! 2.24! Silberschatz, Galvin and Gagne ©2009!
Virtual Machines History and Benefits
 First appeared commercially in IBM mainframes in 1972"
 Fundamentally, multiple execution environments (different operating
systems) can share the same hardware"
 Protect from each other"
 Some sharing of file can be permitted, controlled"
 Commutate with each other, other physical systems via networking"
 Useful for development, testing"
 Consolidation of many low-resource use systems onto fewer busier
systems"
 “Open Virtual Machine Format”, standard format of virtual machines,
allows a VM to run within many different virtual machine (host)
platforms"
"

Operating System Concepts – 8th Edition! 2.25! Silberschatz, Galvin and Gagne ©2009!
Virtual Machines (Cont.)

"
"
"
"
"
"
"
"
"
"
"
"

(a) Nonvirtual machine (b) virtual machine"

Operating System Concepts – 8th Edition! 2.26! Silberschatz, Galvin and Gagne ©2009!
Para-virtualization

 Presents guest with system similar but not identical to hardware"

 Guest must be modified to run on paravirtualized hardware"

 Guest can be an OS, or in the case of Solaris 10 applications running in


containers!

Operating System Concepts – 8th Edition! 2.27! Silberschatz, Galvin and Gagne ©2009!
Virtualization Implementation
 Difficult to implement – must provide an exact duplicate of underlying
machine"
 Typically runs in user mode, creates virtual user mode and virtual kernel
mode"
 Timing can be an issue – slower than real machine"
 Hardware support needed"
 More support-> better virtualization"
 i.e. AMD provides “host” and “guest” modes"

Operating System Concepts – 8th Edition! 2.28! Silberschatz, Galvin and Gagne ©2009!
VMware Architecture

Operating System Concepts – 8th Edition! 2.29! Silberschatz, Galvin and Gagne ©2009!
The Java Virtual Machine

Operating System Concepts – 8th Edition! 2.30! Silberschatz, Galvin and Gagne ©2009!

You might also like