Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operating System Structure Introduction of Topics –OS Components –OS Services –System Calls –System Programs –Different types of System Structure –Virtual.

Similar presentations


Presentation on theme: "Operating System Structure Introduction of Topics –OS Components –OS Services –System Calls –System Programs –Different types of System Structure –Virtual."— Presentation transcript:

1 Operating System Structure Introduction of Topics –OS Components –OS Services –System Calls –System Programs –Different types of System Structure –Virtual Machines –System Design and Implementation

2 OS Components Process Management Main-Memory Management Secondary-Storage Management I/O System Management File Management Protection System Networking Command-Interpreter System

3 Process Management Program - static entity Process - active entity –a process is a program in execution with its current values (PC, other registers, variable values, status flags) Processes require resources (memory, CPU, I/O) OS is responsible for: –creation/deletion of user and system processes –suspension and resumption of processes –provisions and mechanisms for process synchronization, communication and deadlock handling

4 Main-memory Management Main memory is generally the only storage that the CPU directly addresses The OS must provide means for –mapping program logical addresses to memory physical (or absolute) addresses –allocating and deallocating memory for processes –keeping track of which parts of memory are being used by which processes –which processes should be loaded into memory when space becomes available and which processes should be removed when space is needed

5 Secondary-storage and I/O Management OS is responsible for the following storage activities: –Free-space management –Storage allocation –Disk scheduling OS is responsible for the following I/O activities: –Device driver communications –Device driver installation –Resource allocation and management

6 File Management The OS is responsible for the following file activities: –creation/deletion of files –creation/deletion of directories –support of primitives for manipulating files and directories (including editors) –mapping of files onto secondary storage –automatic backup of files

7 Protection Concurrent processes must be protected from each other –processes must gain proper authorization to use/access files, memory, CPU, other resources –memory-addressing hardware ensures that a process can only access its own address space –timer ensures that a process will eventually relinquish the CPU –users are not allowed to directly perform I/O and therefore the OS directly protects against unauthorized I/O

8 Networking A distributed system is a collection of processors that do not share memory or a clock Processors communicate to each other through communications lines –high-speed bus, telephone, network lines, etc OS manages network communications and possibly all network resources depending on the type of network

9 Command-Interpretation Interface between the user and the OS Some OS’s have this ability within the OS kernel, others (MS-DOS) use special programs Modern OS’s use a user-friendly interpreter in the form of a GUI (graphical user interface) Commands deal with all aspects of the OS

10 OS Services Program execution I/O operations File-system manipulation Interprocess Communications Error detection Resource Allocation Accounting Protection/Security

11 System Calls Provide the interface between the program and OS –Available in assembly & machine instruction sets –Might be available in high level languages (like C) System Calls will require parameters so that the OS can determine specifics –such as what input device should be read from Three means of parameter passing: –through registers –through a block of memory reserved –through a stack –5 categories of system calls process control, file manipulation, device manipulation, info maintenance and communications

12 Process Control End or Abort –normal vs abnormal termination –includes performing memory dump or process trace Process initiation –Load, execute, create, terminate Get and set process attributes Wait for time or wait for event, signal an event –timer, traps and interrupts Allocate and free memory for process

13 File and Device Manipulation –Create, delete files –Open, close files –Read, write, reposition file marker –Get or set file attributes –Request device, release device –Read, write, reposition device marker –Get or set device attributes –Logically attach or detach device

14 Information and Communication –Get or set time or date –Get or set system data –Get or set process, file, device attribute –Create or delete communication connection –Send, receive messages –Transfer status information –Attach or detach remote devices

15 System Programs –File manipulation create, delete, copy, rename, print, dump, list –Status information date, time, available memory, disk capacity, # of users –File modification editors and others –Programming support compilers, assemblers, interpreters for common languages –Program loading loaders, linkers, debuggers –Communications interprocess communication, user communication –Command-line interpreter –Applications programs

16 Simple System Structure OS’s that start small with no well-defined structure but are later enhanced –e.g., MS-DOS or the original Unix) MS-DOS is essentially a resident system program and device drivers Original Unix consisted of a kernel and the systems programs where the kernel contained the various device drivers and interfaces) –See figures 3.6 and 3.7, pages 69-70

17 Layered Approaches A layered approach gives implementers more freedom in the inner workings of a system without affecting the OS or user applications –Overall functionality and features are separated into distinct components –Information hiding and modularity (two fundamentals of programming) can be achieved Examples include THE OS (figure 3.9) and Venus OS (figure 3.10) pages

18 Virtual Machines Conceptually, a computer is made up of layers: –hardware, kernel, OS, user interface, applications, user A virtual machine can be created by allowing applications programs to directly call and control systems programs –The application programs view everything underneath them as part of the hardware which allows for a uniform interface among all components –This allows for easy: Multitasking Virtual Memory –File handling is a problem

19 Benefits of VM implementation Environment is protected from system resources No security problems (VM is isolated) Useful for OS research and development Allows for emulation of other types of machines (e.g., running MS-DOS on a Sun workstation or Windows on a Macintosh)

20 Java Java is implemented by a compiler that generates bytecode output which are instructions that run on a Java VM Each platform (IBM, Mac, Sun, etc…) has its own JVM implementation (the JVM is actually an interpreter) This allows source code to be transported over the internet and executed no matter what the machine is Has built-in security to disallow unsafe and unsecure operations

21 OS Design and Implementation Design Goals - type of OS - batch, time-shared, single- vs multi-user, distributed, real-time, etc... Mechanisms and Policies - separation of how things will be done and what will be done Implementation - assembly language, C, lisp Generation - configuration of the OS to the hardware -- what CPU will be used? how much memory is available? what devices are available?


Download ppt "Operating System Structure Introduction of Topics –OS Components –OS Services –System Calls –System Programs –Different types of System Structure –Virtual."

Similar presentations


Ads by Google