OS Module 1-A
OS Module 1-A
OS Module 1-A
Objectives
A firm understanding about OS, its primary purpose and goals to a computer system; 2. Trace the history of OS and the development of systems. 3. Concepts basic to OS; 4. OS components and its component management; 5. Computer system operations, structure of the computer systems and hardware protection; 6. Services of OS.
1.
Introduction
Note:
Without software, computer is of little use. However with software, computer can store, manipulate and retrieve information, and can engage in many other activities.
Introduction
Software
compiler systems
assembler
text editor
database
Application Programs
OPERATING SYSTEMS
Computer Hardware
Introduction
Utilities Application Software
OS
device CPU
device
device
Memory
Introduction
Without
an OS, a user who wanted to run a program that uses some of the resources of the system will need to write a program that includes code for driving the resources required. Code for handling keyboard, printers, etc. have to be written.
Introduction
To
alleviate these difficulties, OS contains set of procedures for driving the resources of the system, thus it frees the users from the dirty details of writing these drivers for the devices involved in the problem being solved.
What is OS?
Program
implemented either in firmware or software which acts as an intermediary between the user of a computer and the computer hardware.
Collection
of system programs (procedures) that together control the operation of a computer system.
purpose is to provide an environment wherein users can execute programs
The
Types of OS
Desktop
OS
Typically installed on PC type of computer, used by a singe user at a time, and may or may not be connected to a network.
Server
OS
Installed in a more powerful computer connected to a network enabling multiple users to access information such as e-mails, files, and software
Network OS
NOS
Either desktop or server OS that enables a computer to communicate with other computers through network cable (eg. CAT-5/6) or wireless transmissions (eg. wiFi / wiMAX) and coordinates network communication from sharing files and hardware devices to sending e-mail and video conferencing.
Different OS
Mainframe
OS
PC
OS
Handheld
OS
Primary goals of an OS
1.
2.
Make the computer convenient to use Use the computer hardware in an efficient manner.
Sizes of OS
Computer system characteristics: (has one or more processors) Provides facilities: (allows interactive use or not?)
Applications to support (allows many users to use the same application simultaneously or not?)
One of the largest and complicated system software. Draws on lots of areas
Software Engineering, Computer Architecture, Data Structures, Networks and Algorithms etc.
If certain things in the OS need to be changed, better understand them first! Can apply techniques used in an OS to other areas
complex data structures, conflict resolution, concurrency, resource management
Initializes the hardware Provides basic routine for device control Provides for the management, scheduling and interaction of tasks Maintain system integrity, and Handle errors
Found in petrol pumps, airplanes, video recorders, washing machines and car engines.
Viewpoints of an OS
Similar
Single user OS provides access to the computer system by a single user at a time.
Provides with the capability to perform tasks on the computer system such as writing programs and documents, printing and accessing files
multi-user OS allows more users to access the computer system at one time via network, thus accessing the system remotely from another terminal.
Multi-user OS
Advantages
Hardware is very expensive, and it lets a number of users share this expensive resource (reduced cost) Since resources are shared, they are more likely to be in use than sitting idle being unproductive. (increased resource utilization)
Multi-user OS
Disadvantages
More users slow down the performance of the system. Cost of hardware, requires a lot of disk space and memory. Multi-user OS cost is more than software for single-user.
consists of hundreds of thousands of program codes and stored on hard disk. Portions of the OS are loaded into the RAM when needed.
Utilities
Managing files and documents Development of programs and software Communicating with people and with other computer systems Managing user requirements for programs, storage space and priority.
OS Interfaces
OS
provides each user with an interface that accepts, interprets and executes user commands or programs.
Shell
In some systems, this might be a simple lineby-line text mode (such as DOS or UNIX) or highly graphical (such as Windows)
the ability to run more than one program at once. of these tasks the user is doing appears to be running at the same time
Each
Evolution of OS
Programmed in machine language and used front panel switches for input.
The programmer is also the operator interacting with the computer directly from the system console (control panel).
Introduce Device drivers (a subroutine performing various I/O devices which involves complex sequences of device-specific operations) Setup time is very high.
Evolution of OS
Problems:
Programmers needed to sign-up in advance to use the computer one at a time. Executing a single program (often called job) required substantial time to setup the computer.
Similar jobs are batched and run together with no direct interaction between user and the computer during execution. Automatic job sequencing Computers are extremely valuable. Pre-OS: Resident Monitor
Initial control in monitor Control transfers to job When job completes, control transfers back to monitor
Online Processing CPU is directly connected to card readers and line printers
Off-line Processing
Spooling
Simultaneous Peripheral Operation Online. Uses disk as input device and for storing output files.
OS keeps several jobs in memory at a time and picks and begins to execute one of the jobs in the memory.
Drawback: Causes the computer system to stop executing when the monitor encounters error (bug). Other jobs in the memory will not be executed as well.
Computing
Allows interaction between user and process. The CPU executes multiple jobs by switching between them but the switches occur so frequently that users may interact with each program while it is running.
Monitor
T1 T2 T3 T4
CPU
I/O
0 5 10 15 20 25 30 35 40
time
Uniprogramming: Job A and B end at time 36 CPU is idle 47% I/O is idle 53
Job B
10
15
time
Mainframe
Terminal Controller
a system designed to run only one user program at a time. Suppose the user is running a program designed to execute the ff sequence of instructions:
while (not end of input) { read from the card reader process the data : : write to the printer : : }
Suppose it takes about 10,000 instructions to process each line (one card) of input, then a card will require the ff:
Input phase
(1 min/ 300 cards) x (60,000 ms/min) = 200 ms
Process phase
(10,000 inst) x (1 s/inst) x (1 ms / 1000 s) = 10 ms
Output phase
(1 min/ 300 cards) x (60,000 ms/min) = 200 ms
CPU utilization = (10 / 410) x 100% = 2.4 % Therefore, it shows poor CPU utilization
Suppose it takes 1,000 instructions to process each line of input and produce one line of output, compute the CPU utilization, and input and output device utilization.
D. Personal Computer
Personal Computer
I/O devices User convenience and responsiveness Adopt technology developed for larger OS often individuals have sole use of computer and do not need advance CPU utilization or protection features
E. Parallel Systems
Systems
having more than one processor (multiprocessor systems) in close communication, sharing the common bus, clock, memory and peripheral devices. coupled; multiprocessing
Tightly
Each processor runs an identical copy of the OS and these copies communicate with each other Many processes can run at once without performance deterioration Most modern OS support SMP systems
CPU 1 CPU2 CPU3 CPU4
Each processor is assigned a specific task; master processor schedules, and allocated work to slave processors. More common in extremely large systems
Master CPU
Slaves CPU
Assignment
Research
on the differences between Symmetric and Asymmetric multiprocessing systems in terms of their:
F. Distributed Systems
F. Distributed Systems
processors do not share memory or a clock, instead, each processor has its own local memory. LAN or WAN implementations May be either client-server of peer-to-peer systems
Resources on each machine are managed by that machines OS and working together to manage the collective network resources
allows to distribute the computation among various sites. Movement of jobs is called load sharing
Reliability Communications
allows two or more systems to share storage. Provides high reliability Asymmetric clustering
Symmetric
clustering
G. Real-time systems
Used
Real-time
OS
Designed to support execution of tasks within specific clock time constraints. Correctness of a processing task is dependent on the clock time at which the processing occurred Example: Windows XP, Mac OS X
Real-time systems
Deadline
Windows XP
Mac OS X
Netware server
NETWORK
Windows XP
Windows XP
Handheld Systems
Personal
Issues
Limited memory Slow processors Small display screens (still true today?)
H. Embedded Systems
Also
known as dedicated systems. Perform a specific task only and cannot run a wide variety of programs unlike generalpurpose systems.
(1968)
CP/M
(1975)
8-bit OS First OS that allowed serious business work on small personal computer. VisiCalc (1978) was the first business calculation program for CP/M.
(1980)
16-bit OS First OS for IBM PC family of computers. Lotus 12-3 and WordStar were introduced for PC.
PC-DOS
(1981)
Mac
OS (1984)
16-bit OS First graphical user interface OS that introduced the use of mouse to PC-based systems.
OS X
OS X is version 10 of the Apple Macintosh OS. First "complete revision" of the OS since the previous version is OS 9, with a focus on modularity so that future changes would be easier to incorporate. Incorporates support for UNIX -based applications as well as for those written just for the Macintosh.
OS X
Original Mac OS X release has code name (name after big cats) Cheetah. Public Beta was called Kodiak Mac OS X 10.1 was called Puma Mac OS X 10.2 was called Panther Mac OS X 10.3 was called Jaguar Mac OS X 10.4 was called Tiger Mac OS X 10.5 was called Leopard (2007) Mac OS X 10.5 was called Snow Leopard
Unix-like OS designed to provide PC users a free or very low-cost OS Has a very efficient and fast-performing system.
Linux's kernel was developed by Linus Torvalds at the University of Helsinki in Finland An acronym for Linus Unix.
3.0 (1990)
Windows
1993, 16-bit OS First Microsoft Windows with peer-to-peer networking support for the PC.
NT (New Technology)
1993, 32-bit OS Microsofts first attempt to bring a true 32-bit preemptive, multitasking OS with integrated network functionality offered in a workstation and server versions.
Windows
95 (1995)
16/32-bit OS Upgrade to Win 3.x with improved user interface, hardware support with 32-bit code, and provides backward compatibility for 16-bit applications.
95
Released on August 24, 1995 Referred to as Windows 4.0 or by the internal codename Chicago
98 (1998)
32-bit OS Implemented many bugs fixes to Windows 95, more extended hardware support, and fully 32bit.
Windows
2000 (2000)
32-bit OS Revision of Win NT that is faster and more reliable, comes in several versions including Professional, Server, Advanced Server, and DataCenter.
ME (Millennium Edition)
2000, 32-bit OS Upgrade of Win 98 designed for home use with improved multimedia capabilities
Windows
XP (2001)
32/64-bit OS Successor to Win Me 2000 Professional with Home, Professional, Tablet PC, and Media Center versions.
XP
Has a codename of Whistler Stands for eXPerience. XP shared the Whistler code-name with Windows 2003 Server.
32/64 bit OS Has Standard, Web, Enterprise, and DataCenter Editions designed as a server platform for MS .NET initiative which integrates all types of devices PC, handheld computers, cell phones, and home appliances for communications over the internet.
Windows
Assignment
Research
on other open-source OS (min. of 10). Write important information regarding such OS including:
Description and history Proponents and supporters Prog. Language used, OS which was based Year it was first release, and its versions Licensing, Server/workstation/mobile, others
Mobile OS
End of Presentation