Operating System
#1

[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)
Reply
#2

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.
Reply

Important Note..!

If you are not satisfied with above reply ,..Please

ASK HERE

So that we will collect data for you and will made reply to the request....OR try below "QUICK REPLY" box to add a reply to this page
Popular Searches: multiprogramming,

[-]
Quick Reply
Message
Type your reply to this message here.

Image Verification
Please enter the text contained within the image into the text box below it. This process is used to prevent automated spam bots.
Image Verification
(case insensitive)

Forum Jump: