100% found this document useful (1 vote)
229 views22 pages

Operating Systems Structures: Jerry Breecher

This document discusses the key components and structures of operating systems. It describes the main components as process management, memory management, file management, I/O management, secondary storage management, networking, and protection. It explains how system calls allow user programs to interact with the operating system and provides examples. It also discusses virtual machines and how they allow multiple operating systems to run simultaneously on the same physical machine through virtualization.

Uploaded by

butterfily
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
100% found this document useful (1 vote)
229 views22 pages

Operating Systems Structures: Jerry Breecher

This document discusses the key components and structures of operating systems. It describes the main components as process management, memory management, file management, I/O management, secondary storage management, networking, and protection. It explains how system calls allow user programs to interact with the operating system and provides examples. It also discusses virtual machines and how they allow multiple operating systems to run simultaneously on the same physical machine through virtualization.

Uploaded by

butterfily
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1/ 22

OPERATING SYSTEMS STRUCTURES

Jerry Breecher

2: OS Structures

OPERATING SYSTEM Structures


What Is In This Chapter?
System Components

System Calls
How Components Fit Together Virtual Machine

2: OS Structures

OPERATING SYSTEM STRUCTURES

SYSTEM COMPONENTS

These are the pieces of the system well be looking at: Process Management Main Memory Management File Management I/O System Management Secondary Management Networking Protection System Command-Interpreter System
2: OS Structures
3

OPERATING SYSTEM STRUCTURES


PROCESS MANAGEMENT

SYSTEM COMPONENTS

A process is a program in execution: (A program is passive, a process active.) A process has resources (CPU time, files) and attributes that must be managed. One (or more) threads are the schedulable entities within a process. Management of processes includes: Thread Scheduling (priority, time management, . . . ) Creation/termination Block/Unblock (suspension/resumption ) Synchronization Communication Deadlock handling Debugging
2: OS Structures

OPERATING SYSTEM STRUCTURES

System Components

MAIN MEMORY MANAGEMENT Allocation/de-allocation for processes, files, I/O. Maintenance of several processes at a time Keep track of who's using what memory Movement of process memory to/from secondary storage. FILE MANAGEMENT A file is a collection of related information defined by its creator. Commonly, files represent programs (both source and object forms) and data. The operating system is responsible for the following activities in connections with file management: File creation and deletion. Directory creation and deletion. Support of primitives for manipulating files and directories. Mapping files onto secondary storage. File backup on stable (nonvolatile) storage media. 2: OS Structures
5

OPERATING SYSTEM STRUCTURES

System Components

I/O MANAGEMENT Buffer caching system Generic device driver code Drivers for each device - translate read/write requests into disk position commands.

SECONDARY STORAGE MANAGEMENT Disks, tapes, optical, ... Free space management ( paging/swapping )

Storage allocation ( what data goes where on disk )


Disk scheduling

2: OS Structures

OPERATING SYSTEM STRUCTURES

System Components

NETWORKING Communication system between distributed processors. Getting information about files/processes/etc. on a remote machine. Can use either a message passing or a shared memory model. PROTECTION Of files, memory, CPU, etc. Means controlling of access Depends on the attributes of the file and user SYSTEM PROGRAMS
How Do These All Fit Together? In essence, they all provide services for each other.

Command Interpreters -- Program that accepts control statements (shell, GUI interface, etc.)
Compilers/linkers Communications (ftp, telnet, etc.)
2: OS Structures
7

OPERATING SYSTEM STRUCTURES

System Tailoring

Modifying the Operating System program for a particular machine. The goal is to include all the necessary pieces, but not too many extra ones. Typically a System can support many possible devices, but any one installation has only a few of these possibilities.

Plug and play allows for detection of devices and automatic inclusion of the code (drivers) necessary to drive these devices.

2: OS Structures

OPERATING SYSTEM STRUCTURES

System Calls

A System Call is the main way a user program interacts with the Operating System.

Figure 3.1 Figure 2.8 2: OS Structures


9

OPERATING SYSTEM STRUCTURES


HOW A SYSTEM CALL WORKS Obtain access to system space Do parameter validation System resource collection ( locks on structures ) Ask device/system for requested item Suspend waiting for device Interrupt makes thread ready to run Wrap-up Return to user

System Calls

There are 11 (or more) steps in making the system call read (fd, buffer, nbytes) 2: OS Structures

Linux API
10

OPERATING SYSTEM STRUCTURES


Consider the ReadFile() function in the Win32 APIa function for reading from a file.

System Calls
Example of Windows API

A description of the parameters passed to ReadFile() HANDLE filethe file to be read LPVOID buffera buffer where the data will be read into and written from DWORD bytesToReadthe number of bytes to be read into the buffer LPDWORD bytesReadthe number of bytes read during the last read LPOVERLAPPED ovlindicates if overlapped I/O is being used 2: OS Structures
11

OPERATING SYSTEM STRUCTURES


Two ways of passing data between programs.

System Calls

Msg Passing

Shared Memory

2: OS Structures

12

OPERATING SYSTEM STRUCTURES


These are examples of various system calls.

System Calls

2: OS Structures

13

OPERATING SYSTEM STRUCTURES


A SIMPLE STRUCTURE:

How An Operating System Is Put Together

Example of MS-DOS.
Application Programming
Note how all layers can touch the hardware. Bad News!!

Resident System Programming

MS-DOS Drivers
ROM - BIOS Device Drivers
2: OS Structures
14

OPERATING SYSTEM STRUCTURES


A LAYERED STRUCTURE: Example of Windows 2000.

How An Operating System Is Put Together

System Services

Windows MGR & GDI


Graphics Device Drivers

VM Manager

Process Manager

Security Reference Monitor

IO Manager

Windows 2000 Kernel

Hardware Abstraction Layer (HAL)


2: OS Structures
15

OPERATING SYSTEM STRUCTURES


A LAYERED STRUCTURE: Example of UNIX.

How An Operating System Is Put Together

2: OS Structures

16

OPERATING SYSTEM STRUCTURES


Virtual Machine

In a Virtual Machine - each process "seems" to execute on its own processor with its own memory, devices, etc. The resources of the physical machine are shared. Virtual devices are sliced out of the physical ones. Virtual disks are subsets of physical ones. Useful for running different OS simultaneously on the same machine. Protection is excellent, but no sharing possible. Virtual privileged instructions are trapped.

Virtual User

Physical User
Virtual Machine
Monitor Mode
2: OS Structures

Physical Machine
17

OPERATING SYSTEM STRUCTURES

Virtual Machine

2: OS Structures

18

OPERATING SYSTEM STRUCTURES

Virtual Machine

Example of MS-DOS on top of Windows 2000.

DOS APPLICATION

Physical User
BIOS DRIVERS
Windows 2000

Physical Machine

2: OS Structures

19

OPERATING SYSTEM STRUCTURES

Virtual Machine
VMware Example

2: OS Structures

20

OPERATING SYSTEM STRUCTURES

Virtual Machine

Example of Java Virtual Machine


The Java Virtual Machine allows Java code to be portable between various hardware and OS platforms.

2: OS Structures

21

OPERATING SYSTEM STRUCTURES


WRAPUP
Weve completed our second overview of an Operating System this at the level of a high flying plane.
Weve looked at the basic building blocks of an operating system processes, memory management, file systems, and seen how they all connect together. Now well get into the nitty-gritty, spending considerable time on each of these pieces.

2: OS Structures

22

You might also like