0% found this document useful (0 votes)
16 views

Introduction of Operating System

The document provides an introduction to operating systems, describing their purpose, goals and functions. It discusses the components of a computer system and operating system. It outlines the evolution of operating systems through different generations and some key events. It also covers topics like memory management, multiprocessing, distributed systems and real-time systems.

Uploaded by

naaaaaluu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Introduction of Operating System

The document provides an introduction to operating systems, describing their purpose, goals and functions. It discusses the components of a computer system and operating system. It outlines the evolution of operating systems through different generations and some key events. It also covers topics like memory management, multiprocessing, distributed systems and real-time systems.

Uploaded by

naaaaaluu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Introduction to Operating

Systems
Computer System Servicing NC II
Module

6/21/2023 CSE421, Spring 2001 1


An Operating System?
What is an Operating System?
 A program that acts as an intermediary
between a user of a computer and the
computer hardware.
What is the purpose of an operating system?
 To provide an environment in which a user
can execute programs.
What are the goals of an Operating System?
 The primary goal of an Operating System is
to make the computer system convenient to
use.
 The secondary goal is to make the computer
system efficient to use.
Computer System
Components
Hardware – provides basic computing
resources (CPU, memory, I/O devices).
Operating system – controls and coordinates
the use of the hardware among the various
application programs for the various users.
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).
Users (people, machines, other computers).
Abstract View of System
Components
Function of Operating System
OS as Extended machine
 Computer Architecture shows that computer is
made up of chips and wires
 We do not want to program on the bare metal
 Virtual machine creates a hardware abstraction
 Abstract machine can provide hardware
independent interfaces
 Increase portability
 Allow greater protection
 Implication is that it is much faster and easier to
program with less errors
Function of Operating System
OS as resource manager
 Coordination and control of limited
resources such as memory, disk, network,
etc
 Deal with resource conflicts
 Deal with resource fairness
 Make access efficient as possible
Parts of an Operating System
No universal agreement on the topic, but most likely
 Memory Management

 IO Management

 CPU Scheduling

 IPC

 MultiTasking/Multiprogramming

(On some Operating System, this functionality is provided by a


single program known as the kernel)
What about?
 File System

 Multimedia Support

 UI (X Windows, MSWin)

 Internet Browser?

 Why would extras be important


Evolution (History) of OS
First Generation: Punched cards
Second Generation: Transistors and
batch systems.
Third Generation: (Integrated Circuits)
 Spooling
 Multiprogramming
 Multitasking
 Virtual Memory

6/21/2023 CSE421, Spring 2001 8


Spooling
Stands for Simultaneous Peripheral Operation
On-Line
Takes advantage of disk technology (new at
this point)
Allows for overlap of IO from one job with the
computation of another job
While executing current job
 Read next job from card reader to disk
 Print previous job to printer
Disk is relegated to the role of a partitioned
buffer
Job pool
Advent of disk allows for random access
 (Tape and card are sequential)
Several jobs can be waiting on the disk
The job pool is a data structure that contains
info and points to the jobs on the disk
We can now have job scheduling to
determine the order in which the jobs run so
that CPU utilization can increase.
Multiprogramming
Memory partitioned into several pieces
CPU Starts a job
If the job is waiting for IO, the CPU can switch to another task
Multitasking (Time-sharing)
Extension of Multiprogramming
 Need for user interactivity

 Instead of switching jobs when waiting for IO, a timer

causes jobs to switch


User interacts with computer via CRT and keyboard
 Systems have to balance CPU utilization against response

time
 Better device management

Need for file system to allow user to access data and code
Need to provide user with an “interaction environment”
Virtual Memory
Programs can be larger than memory
 Program loaded into memory as needed
 Active program and data “swapped” to a
disk until needed
Memory space treated uniformly
Key Events 3rd Generation
1964-1966 IBM/360 and OS/360
1964 Dartmouth Time Sharing System
1965 DEC PDP-8
1965 MIT – Multics Time sharing System
1969 – Beginnings of ARPANet
1969 - Unix
1971 IBM 4001 – Processor on a chip
1973 – Ethernet concept Bob Metcalf @ Xerox
Parc
1974 - Gary Kildall – CP/M OS
1974 Zilog Z80 Processor
Key Events (cont)
1974 - Edward Roberts, William Yates and Jim
Bybee
 MITS Altair 8800.
 $375
 contained 256 bytes of memory
 no keyboard, no display, and no aux storage device.
1976 Steve Jobs and Steve Wozniak
 Apple II
1977 Commodore PET, Radio Shack TRS_80
1979 Unix 3BSD
Fourth Generation : (1980 –
1990)
Personal Computers
Computer dedicated to a single user
IO Devices now consist of keyboards, mice,
CGA-VGA displays, small printers
User convenience and responsiveness
Can adopt lessons from larger operating
systems
No need for some of the advanced options at
the personal level
Key Events 4th Generation
1981 IBM PC (8086)
1981 Osborne 1
1981 Vic 20
1981 Xerox Star Workstation
1984 Apple macintosh
1984 SunOS
1985 C++
1985 MSWindows
1986 – 386 Chip
Key Events 4 th Generation
(cont)
1987 OS/2
1988 Next Unix Workstations
1989 Motif
1990 Windows 3,
1990 Berners-Lee Prototype for the web
5th Gen 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:
 Increased throughput
 Economical
 Increased reliability
 graceful degradation
 fail-soft systems
Parallel Systems (Cont.)
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
Asymmetric multiprocessing
 Each processor is assigned a specific task; master
processor schedules and allocates work to slave
processors.
 More common in extremely large systems
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 (known as deterministic).
Hard real-time system.
 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 system
 Limited utility in industrial control or robotics
 Useful in applications (multimedia, virtual reality) requiring
advanced operating-system features.
Distributed Systems
Distribute the computation among several
physical processors.
Loosely coupled system – each processor has
its own local memory; processors
communicate with one another through
various communications lines, such as high-
speed buses or telephone lines.
Advantages of distributed systems.
 Resources Sharing
 Computation speed up – load sharing
 Reliability
 Communications
Distributed Systems (Cont.)
Network Operating System
 provides file sharing
 provides communication scheme
 runs independently from other computers on the
network
Distributed Operating System
 less autonomy between computers
 gives the impression there is a single operating
system controlling the network.
Why Operating Systems?
OS for CSE :
 Real world OS is a software engineering problem

 Design of the Virtual/Extended machine


 Development of the Kernel
 OS Usability, Human Factors for OS

OS for CSE:
 New algorithms to help make OS better, more efficient

 Hypothesis, experiments regarding OS approaches

OS for anyone else :


 Help to understand better the parts of the OS and how to
compare and contrast the various qualities of Operating
Systems

You might also like