Top Banner
HASSAN BIN ALI Department of IT & Communication Politeknik Tuanku Syed Sirajuddin FP202 Fundamental Of Operating System
26
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 1 part 1

HASSAN BIN ALIDepartment of IT & Communication

Politeknik Tuanku Syed Sirajuddin

FP202 Fundamental Of Operating System

Page 2: Chapter 1 part 1

At the end of this chapter, student will be able to:

1)Define operating system2)List the use of operating system in

computer system3)Describe various OS architecture4)Describe various types of OS

FP202 Fundamental Of Operating System

Page 3: Chapter 1 part 1

Software program that controls the hardware. Definition of an operating system can be seen in

four aspects:1) A group of program that acts as an intermediary

between user, software and computer hardware.2) Controls and co-ordinates the use of computer

resources among various application programs and user.

3) Acts as a manager4) Allow the program to communicate with one

another

FP202 Fundamental Of Operating System

Page 4: Chapter 1 part 1

Basically, two types of software available:1)System software

- Groups of program that control the hardwareSystems software includes compilers,loaders, linkers, and debuggers.

2)Application software- Groups of programs that used by the end-user for variousapplications such as text processing, spreadsheet, etc

OS categorized as system software- Build to act as an intermediary between user of a computer and computer hardware- Goal: Provide convenient and efficient environment for the user

FP202 Fundamental Of Operating System

Page 5: Chapter 1 part 1

FP202 Fundamental Of Operating System

User1 User2 User3

System and application programs

Operating system

Hardware

Figure 1: Abstract view of the components of a computer system

Page 6: Chapter 1 part 1

Functions OS:1) Resource Sharing- The OS contains a set of algorithms that allocates

resources to the programs executed on behalf of the user.

- These resources include time, power, hardware, etc...

2) Control ProgramControls the operation of the application programs to prevent errors affecting other programs.

3) Provision of a Virtual MachineThis hides interfaces to I/O devices, filing systems, etc, and provides a programming interface for applications.

4) KernelThe kernel is the only program resident all the time (all other applications are application programs).

FP202 Fundamental Of Operating System

Page 7: Chapter 1 part 1

OS has three objectives:1) Convenience

- An OS make a computer more convenient to be used

2) Efficiency- An OS allows the computer system resources to be used in an efficient manner

3) Ability to evolve- An OS is constructed in such a way to as to permit the effective development, testing and introduction of new system function without at the same time interfering with service.

FP202 Fundamental Of Operating System

Page 8: Chapter 1 part 1

OPERATING SYSTEM

ARCHITECTURE

FP202 Fundamental Of Operating System

Page 9: Chapter 1 part 1

This approach well known as “The Big Mess” - there is no structure.

All kernel routines are together, any can call any A system call interface (main program, sys calls, utility

functions) Examples: Linux, BSD Unix, Windows Pros

1) Shared kernel space2) Good performance

Cons1) No information hiding2) Inflexible3) Chaotic4) Difficult to understand

FP202 Fundamental Of Operating System

Page 10: Chapter 1 part 1

The operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface.

With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers.

Hiding information at each layer E.g. level 1 is processor allocation, level 1 memory management,

level 2 communication, level 3 I/O, etc. Examples: THE System (6 layers), MS-DOS (4 layers) Pros

1) Layered abstraction2) Separation of concerns, elegance

Cons1) Protection, boundary crossings

FP202 Fundamental Of Operating System

Page 11: Chapter 1 part 1

The advent of new concepts in OS design, microkernel is aimed at migrating services of an operating system out of monolithic kernel into user level process.

Divide the OS into several processes, each which implements a single set of services- Example: I/O servers, memory server, process server

Each server runs in user mode, provide services to the requested client.

Client: Another operating system component or application program, request service by sending message to server

An OS kernel (microkernel) running in kernel mode deliver message to the server.

The server perform operation, and microkernel delivers the result to client in another message.

FP202 Fundamental Of Operating System

Page 12: Chapter 1 part 1

Components above microkernel communicate directly with one another, although using message that pass through the microkernel itself.

Microkernel validate messages, passes them between the components and grants access to hardware.

Example: C-DAC microkernel, Mach, Windows NT, Chorus

FP202 Fundamental Of Operating System

Page 13: Chapter 1 part 1

……….Client-server model or microkernel

FP202 Fundamental Of Operating System

Page 14: Chapter 1 part 1

Example: Windows NT Various applications (Win32, OS/2, and POSIX) run in user

space. Server for each application runs in user space. Message passing between client application programs and

application servers runs in kernel space.

FP202 Fundamental Of Operating System

Page 15: Chapter 1 part 1

OPERATING SYSTEM TYPES

Page 16: Chapter 1 part 1

A batch system is one in which jobs are bundled together with the instructions necessary to allow them to be processed without intervention.

The basic physical layout of the memory of a batch job computer is shown below:

- The monitor is system software that is responsible for interpreting and carrying out the instructions in the batch jobs.

- When the monitor starts a job, the entire computer is dedicated to the job, which then controls the computer until it finishes.

Monitor (permanently resident)

User Space(compilers, programs,

data, etc.)

Page 17: Chapter 1 part 1

Advantages:1)Move much of the work of the operator to the computer2)Increased performance since it was possible for job to start as soon as the

previous job finished Disadvantages:

1)Due to lack of protection scheme, one batch job can affect pending jobs (read too many cards, etc)

Example: A job could corrupt the monitor, thus affecting pending jobs2)A job could enter an infinite loop

Page 18: Chapter 1 part 1

As machines with more and more memory became available, it was possible to extend the idea of multiprogramming (or multiprocessing) as used in batch systems.

This create a systems that would load several jobs into memory at once and cycle through them in some order, working on each one for a specified period of time.

The basic physical layout of a multiprogramming system is as shown:

Monitor (more like an operating system)

User program 1

User program 2

User program 3

User program 4

Page 19: Chapter 1 part 1

At this point the monitor is growing to the point where it begins to resemble a modern operating system.

It is responsible for:1)Starting user jobs2)Spooling operations3)IO for user jobs4) Switching between user jobs5) Ensuring proper protection while doing the above

Page 20: Chapter 1 part 1

There are different type of Multiprogramming Operating System such as:

1) Multitasking Operating System A type of multiprogramming operating system which can

perform several process simultaneously. The earliest multitasking OS available to home users was the

AmigaOS. All current major operating system support this feature.

Page 21: Chapter 1 part 1

2) Multi-user Operating System A multi-user operating system allows for multiple users to

use the same process at the same time and/or different times. Linux, Unix,Windows OS are some example of multitasking

operating system.

3) Multiprocessing Operating System An operating system capable of supporting and utilizing

more than one computer.

Page 22: Chapter 1 part 1

4) Real Time Operating System Often used as a control device in a dedicated application

such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems.

Well-defined fixed-time constraints.

Page 23: Chapter 1 part 1

The Distributed Operating System is one that runs on multiple, autonomous CPUs which provides its users an illusion of an ordinary Centralized Operating System that runs on a virtual Uniprocessor.

Distributed Operating System provide resource tranparency to the users processes.

“If you can tell which computer you are using, you are not using a distributed system ” - Tanenbaum

Page 24: Chapter 1 part 1

FP202 Fundamental Of Operating System

T h e I n ter n e t

a n e tw o r k h o s t

w o r ks ta tio n s a lo c a l n e tw o r k

Distributed Operating System

Page 25: Chapter 1 part 1

Advantages:1)Price/Performance advantage (Availability of cheap and

powerful Microprocessors). 2)Resources Sharing3)Computation speed up – load sharing 4)Reliability and Availability. 5)Provides Transparency.

Disadvantages:1)Lack of security - Easy access also applies to secret data.

Page 26: Chapter 1 part 1

An example of a distributed system: Amoeba- An open source microkernel-based distributed operating system

developed by Andrew S. Tanenbaum and others at the Vrije Universiteit.

- The aim of the Amoeba project is to build a timesharing system that makes an entire network of computers appear to the user as a single machine.

- Development seems to have stalled: the files in the latest version (5.3) were last modified on 12 February 2001.

- Amoeba runs on several platforms, including i386, i486, 68030, Sun 3/50 and Sun 3/60.