Anda di halaman 1dari 29

Course Name: Operating Systems

Course Code: CS215/ CS215H

COURSE NAME COURSE CODE PREQ LTP LECTURE WITH BREAKUP

: : : :

OPERATING SYSTEMS CS 215 400 NO. OF LECTURES

CONCEPTS OF OPERATING SYSTEMS (10) Computer system overview, concept of an operating system, batch system, multiprogramming, multiprocessing, multi user, time sharing, personal system, parallel system, real time system, simple monitors, general system architecture, System components, operating system services, system calls, system programmes, system structure, Approaches to OS design and implementation: Microkernel, Layered, Kernel Approach

PROCESSES AND THREADS (10) Concept of process, process states, process state transitions, process control block, operations on processes, threads, concurrent processes, mutual exclusion and synchronization, principles of deadlocks, integrated deadlocks strategy, scheduling levels, scheduling criteria, Inter process synchronization, Inter process communication, Linux, IPC Mechanism, Remote procedure calls, RPC exception handling, security issues
MEMORY MANAGEMENT (08) Logical and physical address space, storage allocation and management techniques, swapping concepts of multi programming, paging, segmentation, virtual storage management strategies, demand paging, page replacement algorithm, thrashing INPUT/OUTPUT AND DATA MANAGEMENT (08) File organization, record blocking, access method, directory structure, protection file system structure, allocation methods, free space management, directory implementation, disk structure, disk scheduling, disk management, buffering, swap space management, RAID levels OS SECURITY: Types of Threats in OS, Basic OS Security Mechanisms, Understanding the Threats: Malware Taxonomy: Viruses, Worms, Rootkits, Defense -- An Overview, Logging, Auditing, and Recovery, OS-level Memory Protection

CASE STUDIES (08) Linux/Unix OS design and architecture, Unix shell, Unix operating system services, user perspective, representation of files in Unix system processes and their structure, input-output system, memory management in Unix
OS Abstractions: Processes: fork, wait, exec, exit, kill, getpid, brk, nice, sleep, trace Files: open, close, read, write, lseek, stat, sync Directories: mkdir, rmdir, link, unlink, mount, umount users + security: chown, chmod, getuid, setuid Inter process communication: signals, pipe o networking: socket, accept, snd, recv, connect (06)

BOOK:

Operating system: (sixth edition) By Galvin , Silberschatz and Gane, John Willey
REFERENCES: Michael Palmer Guide to Operating Systems Security, Course Technology, 2004. ISBN: 0-619-16040-3 Charles P. Pfleeger and Shari Lawrence Pfleeger Security in Computing, 3rd Edition, Prentice Hall PTR, 2002. ISBN 0-130-35548-8 Operating systems Internals and design principles By William Stallings, Pearson Education Operating Systems A Design Oriented approach By Crowley, TMH Operating Systems, Garry Nutt, Pearson Education Operating Systems-A Concept Based Approach By Dhamdhare, TMH Operating systems Design and Implementation By Andrew S. Tanenbaum, Pearson Education An Introduction to Operating System By Harvey M.Deitel, Narosa Publishing

CS215H , OPERATING SYSTEMS


Introduction to real-time systems and case studies Concepts of scheduling in real-time systems (including multimedia) Issues and techniques in resource allocation in real-time distributed systems Architecture and OS related issues in Grid Computing Process Management and Memory Management in Distributed Systems

Evaluations
1st Mid Term: 20% 2nd Mid Term: 20%

Assignments and Quizes: 10%


End Term: 50%

Chapter 1:

Introduction

Topics to be covered
What is an Operating System? Computer System Components OS Views
User View System View

Mainframe Systems
Batch Systems Multiprogramming Systems Timesharing Systems

Desktop Systems Parallel Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Migration of Operating-System Concepts and Features

What is an Operating System?


A program that acts as an intermediary between a

user of a computer and the computer hardware


Operating system goals:
Execute user programs and make solving user problems easier. Make the computer system convenient to use

Use the computer hardware in an efficient manner

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)

Abstract View of System Components

OS from Two important viewpoints


1.

User View:
a) b)

PCs : OS is designed mostly for the ease of use. Attention is paid to the performance only not to the resource allocation. Multiple Users: In case of multiple users sharing common OS more attention is paid to the resource sharing to assure that all the available CPU time, memory and I/O are used efficiently, and that no individual user takes more than his fare share. Networked Systems: In case of networked systems where users have there dedicated resources as well as shared resources like printer etc. OS is designed to compromise between individual usability and resource allocation.

c)

2. System View:
a)

From Computer systems view, an OS is the resource allocator and a control program to manage the execution of user programs to prevent errors and improper use of computer.

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)

A. Mainframe Systems
Mainframe Computer systems were the first computers to tackle many commercial applications. Growth wise categorization of Mainframe systems is :
1. 2. 3.

Batch Systems. Multi programmed Systems. Time Sharing Systems.

1. Batch Systems
Batch Systems were the physically enormous machines run from Consol. Here users submit the jobs ( program , data etc) in the form of punch cards and after hours output aprears.
They reduce the setup time by batching similar jobs.
Automatic job sequencing automatically transfers

control from one job to another. First rudimentary operating system


Resident monitor
initial control in monitor control transfers to job when job completes control transfers back to monitor

Memory Layout for a Simple Batch System

1. So the major task of the OS was to transfer control from one job to the next. 2. OS was always resident in memory. 3. CPU remains idle most of the time.

2. Multiprogrammed Batch Systems


Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them which increases the CPU utilization.

Features of Multi programmed Systems

1. Introduction of Disk Technology.

2. It increases the CPU Utilization by organizing the jobs so that the CPU always has one to execute.
3. When one job is performing its I/O operations, inspite of sitting idle CPU switches to the next job, and when that job need wait CPU switches to next.

OS Features Needed for Multiprogramming

OS must make decisions for users. 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.


Job Scheduling If several jobs are ready to be brought

into the memory and there is not enough room for all of them, then system must choose among them.
Allocation of devices

3. Time-Sharing SystemsInteractive Computing


Time Sharing is a logical extension of Multiprogramming. CPU

executes multiple jobs by switching among them, but switches occur so frequently that the user can interact with each program while it is running.
The CPU is multiplexed among several jobs that are kept in memory

and on disk (the CPU is allocated to a job only if the job is in memory)
A job swapped in and out of memory to the disk Interactive OS provides direct communication between user and the

system. User gives instructions to the OS or program directly through keyboard and waits for the immediate results. So response time should be short within 1sec.
On-line communication between the user and the system is provided
When the operating system finishes the execution of one command, it seeks the next control statement from the users keyboard

On-line system must be available for users to access data and code

B. Desktop Systems
Personal Computers appeared in 1970s.

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


May run several different types of operating systems

(Windows, MacOS, UNIX, Linux)


PC

Operating systems were neither multiuser nor multitasking

C. Parallel Systems
Multiprocessor systems with more than one CPU in close

communication.
Tightly coupled system processors share memory and a clock;

communication usually takes place through the shared memory


Advantages of parallel system: 1. Increased throughput because of multiple processors. 2. Economical since they can save more money than the multiple single processor systems, because they can share peripherals, mass storage , power supplies etc. 3. Increased reliability since functions can be distributed so failure of one will not halt others:
graceful

degradation: its the ability to provide service proportional to the level of surviving h/w is called graceful degradation such systems are also called fault tolerant systems/ fail soft systems.

Parallel Systems (Cont.)


Asymmetric multiprocessing
Each processor is assigned a specific task; master processor schedules and allocates work to slave processors More common in extremely large systems Work like a master slave system

Symmetric multiprocessing (SMP)


Each processor runs an identical copy of the operating

system
Many processes can run at once without performance deterioration Most modern operating systems support SMP Work in parallel like peer to peer systems

D. Distributed Systems
Distribute

the computation among several physical processors which are networked. local memory; processors communicate with one another through various communications lines, such as highspeed buses or telephone lines

Loosely coupled system each processor has its own

Advantages of distributed systems


Resources Sharing

Computation speed up load sharing


Reliability Communications

Distributed Systems (cont)


Requires networking infrastructure Local area networks (LAN) or Wide area networks (WAN) May be either client-server or peer-to-peer systems

General Structure of Client-Server

E. Clustered Systems
Clustering allows two or more systems to share storage Provides high reliability: Here a layer of cluster software runs

over cluster nodes. Each node can monitor one or more of the others ( over LAN). If the monitored machine fails, the monitoring machine can take ownership of its storage, and can restart the applications that were running on the failed machine.
Asymmetric clustering: one server runs the application or

applications while other servers standby


Symmetric clustering: all N hosts are running the application or

applications
Clustered systems are different from parallel systems in that they

are composed of two or more individual systems coupled together.

F. Real-Time Systems
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 Real-Time systems may be either hard or soft real-time
Hard real time systems guarantees that the critical tasks to be completed on time. In case of soft real time systems tasks get priority over other tasks and retains priority until it completes.

Real-Time Systems (Cont.)


Hard real-time:
Secondary storage limited or absent, data stored in short term memory, or read-only memory (ROM) Conflicts with time-sharing systems, not supported by general-purpose operating systems

Soft real-time
Limited utility in industrial control of robotics Integrate-able with time-share systems Useful in applications (multimedia, virtual reality) requiring tight response times

G. Handheld Systems
Personal Digital Assistants (PDAs) Cellular telephones Issues:
Limited memory Slow processors Small display screens

Migration of Operating-System Concepts and Features

END OF CHAPTER

Anda mungkin juga menyukai