Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management (hard disks, CD/DVD drives, etc) –File System Management Simplify the development and use of applications Purpose of an Operating System
Microsoft Windows MacOS Mac and PCs are not directly compatible but virtualization can be used. Mainstream Operating Systems
Operating system for large computers about 40 years ago. Linux –Free implementation of Unix –Supported by most platforms UNIX
Most “devices” use an operating system to make application development easier. Examples: –cell phones (Symbian, BlackBerry, Windows Mobile, etc). –Aircraft Systems (VxWorks, pSOS, QNX) Special Purpose OS
Layers need to be concerned with layer below (and above) Layers are isolated from certain changes Layers
OS Modes A typical operating system has two modes of operation. –User Mode –Kernel Mode These are like layers of operation within the operating system layer.
User Mode The User Mode is concerned with the actual interface between the user and the system. It controls things like running applications and accessing files.
Kernel Mode The Kernel Mode is concerned with everything running in the background. It controls things like: –accessing system resources –controlling hardware functions –processing program instructions. The Kernel forms the core of the operating system. –acts like a supervisor for everything that is happening in the computer.
The Client-Server OS Model In the client-server model of an operating system, the User Mode is considered a client. –the User Mode accesses resources provided by the Kernel (the server).
Graphics System ApplicationService Typical OS Architecture Service Application Application Interface Scheduler Memory Manager I/O Device Manager File System Security System Kernel Hardware User mode (client) Kernel mode (server) Graphics System Dispatcher
Way for the user to control the operating system. Two types: graphical user interface (GUI) and command line interface User Interface
Command Line Interpreter Converts typed commands into operating system actions (system calls). Most interpreters execute applications to perform the system calls.
Managing System Resources An operating system needs to manage a wide range of system resources: –CPU scheduling and process management –Memory (RAM) –Access to peripheral devices –File system management.
Decide when applications should run; does the order matter? Are the applications active or sleeping? Multiple applications at the same time CPU Scheduling Word Applications Microsoft Outlook Adobe Acrobat Internet Explorer
The Process Table Keeping track of all of the processes is done with the Process Table. The Process Table lists: –Processes that are currently being run –Processes that are waiting to be executed –Processes that have been temporarily suspended –It also keeps track of the current status, or state, of each process.
Give memory to each application as needed. Protect applications from each other Protect operating system from ‘bad’ applications Memory Management Windows Word Internet Explorer Unused RAM
Devices are very difficult to program OS Provides Drivers Applications speak to drivers Drivers communicate to device Peripherals
Manage Information (files and folders) Provide common view of storage devices File System
Review Questions 1.Describe two tasks that are performed by an operating system. 2.Describe the four layers of interaction in an operating system model. 3.Briefly describe how you can install multiple operating systems on the same computer. 4.Draw a diagram to demonstrate how virtualization can be used to run multiple operating systems at the same time.
5.Briefly describe the client-server model of an operating system. 6.Draw a simple diagram to show the two modes of operations of an OS. 7.Briefly describe the function of the Command Line Interpreter. 8.What are the major differences between System Calls and Interrupts? 9.Describe the purpose of the Process Table.