Académique Documents
Professionnel Documents
Culture Documents
: : : :
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
Evaluations
1st Mid Term: 20% 2nd Mid Term: 20%
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
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)
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.
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.
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
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. 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 must make decisions for users. I/O routine supplied by the system. Memory management the system must allocate the
into the memory and there is not enough room for all of them, then system must choose among them.
Allocation of devices
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.
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
C. Parallel Systems
Multiprocessor systems with more than one CPU in close
communication.
Tightly coupled system processors share memory and a clock;
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.
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
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
Clustered systems are different from parallel systems in that they
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.
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
END OF CHAPTER