Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced Operating Systems Introduction and Overview.

Similar presentations


Presentation on theme: "Advanced Operating Systems Introduction and Overview."— Presentation transcript:

1 Advanced Operating Systems Introduction and Overview

2 Course objectives In depth treatment of topics from design perspective. Consider why things are done in a certain way instead of just how they are done. Consider design alternatives. Be able to tell the difference between a good design and a bad design. Also consider engineering tradeoffs involved in the design process.

3 Course Objectives (cont’d) Practical aspects from a computer scientist’s perspective. These include: 1. A case study throughout the course of a real commercial operating system kernel. We will present Linux kernel for this purpose. We will also make comparisons to other operating systems e.g. Windows where applicable. 2. Hands on training as a programmer on using operating system services in relatively complex programs. I will assign 4 to 5 programming assignments for this purpose.

4 Course Objectives (cont’d) Research perspective We will also look at some contemporary and classical research on operating system topics in the research literature. For this purpose, I will assign a few readings from the literature on operating systems.

5 Course Pre-requisites C/C++ programming. This is an essential pre- requisite since without this, you won’t be able to do the assignments. An undergraduate first course on data structures. This should include implementation of elementary data structures e.g. lists, stack, queues, trees etc. in a high level language like C or C++ etc. A first course on operating systems would be helpful but not strictly required since we will cover the basics of each topic before diving into the deeper stuff.

6 What is an operating system? Top-down view Provides an extended or virtual machine abstraction to user programs Easier to program than the underlying hardware. All services are invoked and accomplished through system calls. Bottom-up view Acts as a resource manager of a complex system Resources consist of processors, memories, timers, disks, mice, keyboard, network interfaces, printers etc. OS manages allocation of these resources to user programs in an orderly and controlled manner

7 Resource multiplexing OS multiplexes resources in two ways: In time, In space Time multiplexing involves different programs taking turns in using the resource. Example: CPU scheduling, printer sharing. Space multiplexing involves different program getting part of the resource possibly at the same time. Example: memory is divided into several running programs.

8

9

10

11 Type of Operating Systems Main frame operating systems Huge amounts of I/O activity. 1000s of disks not unusual Provide batch, transaction and time sharing services. Batch processing is routine non-interactive jobs. e.g. claims processing, sales reporting etc. Transaction processing systems handle large number of small requests e.g. check processing in banks, air line reservations etc. Time-sharing systems allow multiple remote users to run jobs at the same time e.g. querying a database. OS Optimized for these tasks. Example is OS/390 Server operating systems Run on very large PCs, workstations or even main-frames. They serve multiple users over a network simultaneously and allow them to share hardware and software. Examples are web servers, database transaction servers etc. Examples of OS in this class are Win2K, XP and flavors of UNIX.

12 Multiprocessor operating systems OS is basically a variation to server operating systems with special provisions for connectivity and communication management between different CPUs. PC operating systems OS provides a nice interface to a single user. Typically used for word processing, spread sheets, Internet access etc.

13 Real-time operating systems Characterized by time as the key parameter. Real- time response to internal and external events is more important than any other design goal. Classified into two sub-categories: Hard and Soft real-time Example applications include Industrial process control, robotics and assembly lines, air traffic control, network routers and telecommunication switches, multi-media systems etc. Embedded operating systems Embedded in small devices e.g. palm-top computers e.g. PDA, TV sets, micro-wave ovens, mobile phones. They have characteristics of real-time systems (mainly soft real-time) but also have restraints on power consumption, memory usage etc. Examples include PalmOS and Windows CE. Height of this type is smart-card systems.

14

15

16

17

18

19

20

21

22

23

24

25 Networking An OS typically has a built-in communication infra-structure that implements: a. A network protocol software stack b. A route lookup module to map a given destination address to a next hop. c. A name lookup service to map a given name to a destination machine.

26

27

28

29

30

31

32

33 Minimum functionality in the kernel. Most of the OS functionality in user level servers. Examples of servers are file servers, terminal servers, memory servers etc. Each part becomes more manageable. Crashing of one service doesn’t bring the system down. Distribution of the system becomes transparent. Kernel provides basic primitives e.g. transport of messages, loading programs into memory, device handling. Policy decisions are made in the user space while mechanisms are implemented in micro-kernel.

34 Micro-kernel lends itself well to OO design principles. Components based design possible. Disadvantage: Performance Solutions: Reduce micro-kernel size Increase micro-kernel size

35 Virtual Machine Monitors Export a virtual machine to user programs that resembles hardware. A virtual machine consists of all hardware features e.g. user/kernel modes, I/O, interrupts and pretty much everything a real machine has. A virtual machine may run any OS. Examples: JVM, VmWare, User-Mode Linux (UML). Advantage: portability Disadvantage: slow speed


Download ppt "Advanced Operating Systems Introduction and Overview."

Similar presentations


Ads by Google