Operating System

  • Uploaded by: satish161188
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Operating System as PDF for free.

More details

  • Words: 2,072
  • Pages: 49
Operating Systems

1

Administration  Text

Books :

• Applied Operating System Concepts – Silberschatz/Galvin/Gagne

http://www.bell-labs.com/topic/books/aos-book

• Modern Operating Systems – • •

Tanenbaum Linux Programming – Stones/Matthew Advanced Windows – Richter

Introduction

2

What is Operating System ? A

program that acts as an intermediary between a user of a computer and the computer hardware.  Operating system goals:

• A program that controls the execution of • •

application programs Make the computer system convenient to use. Use the computer hardware in an efficient manner.

Introduction

3

Computer System Components 1. Hardware – provides basic computing resources (CPU, memory, I/O devices). 2. Operating system – controls and coordinates the use of the hardware among the various application programs for the various users. 3. Applications programs – define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs). 4. Users (people, machines, other computers). Introduction

4

Abstract View of System Components

Introduction

5

Operating System Definitions  Resource

allocator – manages and allocates resources.  Control program – controls the execution of user programs and operations of I/O devices .  Kernel – the one program running at all times (all else being application programs).

Introduction

6

User-Services Provided by the Operating System  Program

creation

 Program

execution

• Editor and debugger utility programs • Loading instructions, initializing I/O devices

 Access

to I/O devices

• Making it a simple R/W command

 Controlled

access to files

• Media technology, file format, controlling access Introduction

7

User-Services Provided by the Operating System  Error

detection and response

• internal and external hardware errors • memory error • device failure

• software errors

• arithmetic overflow • access forbidden memory locations

Introduction

8

Operating System as a resource manager  It

is actually a program that is executed by the processor to control the processor!  Directs the processor in the use of system resources  Directs the processor when executing other programs  Processor stops executing the operating system in order to execute other programs and, then, gives the control back to the operating system Introduction

9

Operating System as a resource manager  Memory

management is decided by the operating system and memory management hardware in the processor.  The operating system decides about the access of programs and files to I/O devices.  In case of multiple processors, it decides for them all

Introduction

10

A bit of history 

The First Generation (1945-55) – Vacuum Tubes and Plugboards

Introduction

11

History (ctd.) 

The Second Generation (1955-65) Transistors and Batch Systems

• •

Using FORTRAN and assembly language OS – FMS , IBSYS (for IBM7094)

Introduction

12

History (ctd.) 

The Third Generation (1965-1980) – Multiprogramming and Spooling The Primary development : PDPs computer and UNIX os

• •

Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them. Spooling - While executing one job, the OS:

• • •

Reads next job from card reader into a storage area on the disk (job queue). Outputs printout of previous job from disk to printer. Job pool – data structure that allows the OS to select which job to run next in order to increase CPU utilization. Introduction

13

OS Features Needed for Multiprogramming  I/O

routine supplied by the system.  Memory management – the system must allocate the memory to several jobs.  CPU scheduling – the system must choose among several jobs ready to run.

Introduction

14

Example JOB1 Type of job Duration Memory required Need disk? Need terminal Need printer?

JOB2

Heavy compute Heavy I/O 5 min. 15 min. 50K 100 K No No No Yes No No

Introduction

JOB3 Heavy I/O 10 min. 80 K Yes No Yes

15

Effects of Multiprogramming Processor use Memory use Disk use Printer use Elapsed time Throughput rate Mean response time



Uniprogramming

Multiprogramming

17% 30% 33% 33% 30 min. 6 jobs/hr 18 min.

33% 67% 67% 67% 15 min. 12 jobs/hr 10 min.

The secret is the supporting hardware for I/O interrupts and DMA

Introduction

16

Time sharing advantages  Using

multiprogramming (multi-tasking) to handle multiple interactive jobs  Processor’s time is shared among multiple users  Multiple users simultaneously access the system through terminals  The objective is to minimize response time to the user commands Introduction

17

History (cont.) 

The Fourth Generation(1980 – Present) – Personal Computers • Personal computers – computer system dedicated to a single user. • I/O devices – keyboards, mice, display screens, small printers. • User convenience and responsiveness. • Can adopt technology developed for larger operating system’ often individuals have sole use of computer and do not need advanced CPU utilization of protection features Introduction

18

Windows - History

•DOS 1.00: 4000 lines of assembly language Introduction

19

Windows - History  DOS

2.0 in 1983, supported a hard disk, one directory, max 64 files  DOS 3.0 ran on Intel’s 286 processor, memory protection features and hard disk  DOS 3.1, 1984, supported networking  DOS 3.3, 1987, supported 386 processor  Windows 3.0, 1990, PC Graphical User Interface (GUI) for the 1st time Introduction

20

Windows - History  Windows

NT developed from scratch to provide a multitasking single user environment. Version 3.1, 1993.  Windows 95-98 : Multitasking single user – not full 32bit  Win NT 4.0, 1996 – win95 GUI 16 million lines of C code

Introduction

21

Characteristics of Modern Operating Systems 1. Microkernel architecture

• Assigns only a few essential functions to the kernel

• address space • interprocess communication (IPC) • basic scheduling

• Other functions run in user mode and treated like any other application

Introduction

22

Characteristics of Modern Operating Systems 2. Multithreading

• process is divided into threads that can run •

simultaneously Thread

• dispatchable unit of work • executes sequentially and is interruptable

• Process is a collection of one or more threads • Useful when there is no need to serialize, e.g., database that deals with several clients Introduction

23

Characteristics of Modern Operating Systems 3. Symmetric multiprocessing

• • • •

there are multiple processors transparent to the user these processors share same main memory and I/O facilities All processors can perform the same functions Better performance (speed), availability (fault tolerance), growth, scaling (wide price range)

Introduction

24

Multiprogramming vs. multiprocessing

Introduction

25

Operating Systems Concepts 1. 2. 3. 4. 5.

Process Memory management Information protection & security Scheduling and resource management The Shell

Introduction

26

Process 

• • • 

• 

• 

• 



A process consists of 3 components: an executable program associated data execution context (PC, registers & status)

Improper synchronization Status ensures that a process waiting for an I/O device receives the signal

Failed mutual exclusion Priorities are included in context

Nondeterminate program operation program should only depend on its input, not relying on common memory or order of running with others

Deadlocks 2 or more programs awaiting each others! More later Introduction

27

Memory Management principals  Process

isolation  Automatic allocation and management  Supporting long-term means of storage  achieves all of the above thru virtual memory and file system

Introduction

28

Categories of Security and Protection  Access

control

• regulate user access to the system and data, e.g., permissions

 Information

flow control

• regulate flow of data within the system and its delivery to users

 Certification

• proving that access and flow control perform according to specifications, e.g., passwords Introduction

29

Scheduling and Resource Management  Fairness

• give equal and fair access to all processes that are charged the same rate

 Differential

responsiveness

• discriminate between different classes of jobs

 Efficiency

• maximize throughput, minimize response time, and accommodate as many users as possible

 Operations-research

management problems

Introduction

30

Major elements of OS Short-term: In memory, ready to run on the CPU

Operating System Service Call from Process

Scheduler picks one

OS moves jobs from long-term to short-term queues without overcommitting memory or Interrupt from Process processor Interrupt from I/O

Service Call Handler

Interrupt Handler

Long- Short- I/O Term Term Queues Queue Queue Short-Term Scheduler

I/O Queue for each I/O device OS also decides assigning Processes to IO devices

Pass Control to Process

An interrupt or a service call invokes scheduler to pick a Process for execution Introduction

31

System Calls 

System calls provide the interface between a running program and the operating system.

• •



Generally available as assembly-language instructions. Languages defined to replace assembly language for systems programming allow system calls to be made directly (e.g. from C,C++ , or Perl programs)

Three general methods are used to pass parameters between a running program and the operating system.

• • •

Pass parameters in registers. Store the parameters in a table in memory, and the table address is passed as a parameter in a register. Push (store) the parameters onto the stack by the program, and pop off the stack by operating system. Introduction

32

Passing of Parameters As A Table

Introduction

33

Passing of Parameters by the Stack 6 4 User space

Kernel space (OS)

Procedure

Trap to the kernel

11

Increment SP

10

5 Put code for read in register

Call Read 3

Push fd

2

Push &buffer

1

Library

Return to caller

1

User program Calling read

Push nbytes

Dispatch

read

9

7

8

Introduction

Sys call handler

34

Some Major POSIX system calls 

Process management Call

Description

pid = fork()

Create a child process identical to the parent

pid = waitpid(pid,&statloc,options)

Wait for a child to terminate

s = execve(name,argv,environp)

Replace a process

exit(status)

Terminate process execution and return status

Introduction

35

Some Major POSIX system calls 

File management Call

Description

fd = open(file,how,…)

Open a file for read/write

s = close(fd)

Close an open file

n = read(fd,buffer,nbytes)

Read data from a file into a buffer

n = write(fd,buffer,nbytes)

Write data from a buffer into a file

Introduction

36

System Calls for Process Management Example: UNIX/LINUX(POSIX) while(1) { type_prompt(); read_command(command,parameters); if(fork()!=0){ /*Parent code. */ waitepid(-1,&status,0); }else{ /*Child code */ execve(command,parameters,0); } } Introduction

37

Same Example in Win32 #include <stdio.h> #include <process.h> #include <windows.h> void main() { char s[80]; STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); while(1){ printf("Shell: "); gets(s); if(!CreateProcess(NULL,s,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi)) fprintf(stderr, "CreateProcess failed." ); } /* // Wait until child process exits. WaitForSingleObject( pi.hProcess, INFINITE ); // Close process and thread handles. CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); */ 38 Introduction }

Process Segments Stack

FFFF

Gap

Data Text

Introduction

0000 39

MS-DOS Execution

Introduction

40

UNIX Running Multiple Programs

Introduction

41

System Structure – Simple Approach 

MS-DOS – written to provide the most functionality in the least space

Introduction

42

System Structure – UNIX 

UNIX – The kernel

• Consists of



everything below the system-call interface and above the physical hardware Provides the file system, CPU scheduling, memory management, and other operatingsystem functions. Introduction

43

Windows NT





Kernel mode only has access to System data and hardware Modular flexible structure.

Introduction

44

Virtual Machines A

virtual machine provides an interface identical to the underlying bare hardware.  The operating system creates the illusion of multiple processes, each executing on its own processor with its own (virtual) memory..

Introduction

45

The Java Virtual Machine

Introduction

46

The operating System Zoo  Mainframe

Operating Systems –

• High-End Servers • Processes routine jobs without any interactive user •

present OS/390 for example

 Server

Operating Systems

• Run on Large PC or even on Mainframes • Print , file or web services • Unix , Windows 2000 , Linux Introduction

47

The operating System Zoo  Multiprocessor

Operating Systems

• Windows 2000 (up to 32 CPUs) , SunOS

 PC

Operating Systems

• Running users applications • Multimedia support • Windows 98/Me/Xp

 Real-Time

Operating Systems

• Time as a key parameter (hard dead line) • VxWorks , QNX Introduction

48

The operating System Zoo  Embedded

Operating Systems

• Run on a computer not generally thought of as • •

computer, like TV ,microwave etc. Have some characteristics of real-time systems PalmOS , Windows CE

 Smart

Card Operating Systems

• Very small - run on a credit card sized device • Some are Java Oriented (based on JVM) Introduction

49

Related Documents

Operating System
November 2019 42
Operating System
November 2019 43
Operating System
November 2019 31
Operating System
June 2020 18
Operating System
June 2020 17
Operating System
May 2020 22

More Documents from "satish161188"

Operating System
May 2020 22
3.1 Automata
May 2020 10