Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: Operating System
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
[attachment=11389]
1. What’s an Operating System?
Operating System

A set of programs1 that act as an intermediary between a computer’s user(s) and hardware.
1 stored in firmware (ROM) and/or software
• OS...User View
• OS...Conceptual View
• OS...Physical View
• OS Roles...Three Roles
• Resource allocator.
Manages / allocates / referees hardware resources
CPU time, memory, video / audio out, network access, printer queues, etc.
• Control program.
– Starts / stops user programs (scheduling, preemption)
– Directs I/O devices (using device drivers).
• Kernel
– The one program running at all times (all else being user programs).
• OS Goals
2. Mainframe Systems
• First general purpose computers (c. 1950)
• Let’s briefly outline evolution from:
– Batch System, to
– Multiprogramming, to
– Time-Sharing
• Batch System
Only one job runs at a time
– Job fully “owns” CPU and all hardware
– CPU underutilized. Card reader 20 cards/sec.
– input, processing, output
Reduce setup time by batching similar jobs
– Operator separates instructions / data
– Minimizes next stack of cards to be read
Invention of disk..Automatic job sequencing – auto transfer from one job to another on disk.
– Resident monitor is born
• First rudimentary operating system.
• Less waiting on I/O
• Memory Layout: Simple Batch System
• Multiprogrammed Batch Systems
OS Features for Multiprogramming
• Memory management – allocate memory to several jobs at same time
• CPU scheduling – choose among several jobs ready to run
• I/O routine supplied by the system
– when a program needs to wait on I/O, it has a well-known means of informing the system
– system has a well-known means of rescheduling another job during the I/O
• Allocation of devices (disk, more memory...)
– Only one job “owns” hardware at a given time.
• Time-Sharing Systems (Unix)
Interaction between user and system
– beyond simple input, processing, output.
– when OS finishes the execution of one command, it seeks next “control statement” from keyboard
– On-line system must be available for users to access data and code.
CPU still multiplexes several jobs
– But more sophisticated..need greater degree of multiprogramming to support many users
– jobs kept in memory and on disk
– CPU allocated to a job only if it’s in memory
– Jobs swapped in/out of memory from/to disk.
3. Desktop Systems
• Personal computer (PC) – historically, a computer system dedicated to a single user.
• I/O devices – keyboards, mice, display screens, small printers.
• User convenience and responsiveness.
• often an individual has sole use of computer and does not need advanced CPU utilization and protection features.
• May run several different types of operating systems (Windows, MacOS, UNIX, Linux)
4. Multiprocessor System
• a.k.a. “Parallel Processing”
– single machine with more than one CPU in close communication.
• Tightly coupled
– processors share memory and a clock
– communication usually via shared memory.
• Advantages
– Increased throughput
– Economical (doubling chips has effect of doubling boxes)
– Increased reliability
• graceful degradation
• fail-soft systems
Types of Parallel Systems
• Symmetric multiprocessing (SMP)
– Processors cooperate in running the OS
– Many processes can run at once without performance fall.
– Most modern operating systems support SMP
• Asymmetric multiprocessing
– Each processor is assigned a specific task
– Master processor allocates work to slaves
– More common in extremely large systems
• Symmetric Multiprocessing
5. Distributed Systems
• Distribute computation among machines
• Loosely coupled system
– each processor has its own local memory
– processors communicate via a network
• Advantages
– Resource Sharing (networked printer...)
– Computation speed up – load sharing
– Reliability (DOD/Internet)
– Communications
• Distributed Systems (cont)
• Requires networking infrastructure.
– Local area network (LAN) or
– Wide area network (WAN)
• Logical topology may vary
– client-server (centralized)
– peer-to-peer systems (discovery)
• Client-Server
6. Clustered Systems
• Provides high availability
– crucial for relational DB server, for example
• Allow machines to share file storage
– often involves distributed lock managment (DLM)
• Two approaches
– Asymmetric clustering: one server runs application while other servers standby in case of failure.
– Symmetric clustering: all N machines are running the application, but must arbitrate shared locks
7. Real-Time Systems
• Well-defined fixed-time constraints.
• Often, control devices in dedicated apps controlled scientific experiments medical imaging industrial control systems certain multimedia display systems
• Two approaches...
• Real Time Systems...Approaches
Hard real-time:
Guaranteed to meet constraints
• Secondary storage limited or absent; data stored in short term memory, or read-only memory (ROM)
A multiprocessing operating system allows a program to run on more than one central processing unit (CPU) at a time. This can come in very handy in some work environments, at schools, and even for some home-computing situations. Multitasking operating systems work a little differently; they make it possible to run more than one program at a time. Multithreading operating systems are even more different, allowing varied parts of one program to be used simultaneously.