Download Operating Systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Plan 9 from Bell Labs wikipedia , lookup

Acorn MOS wikipedia , lookup

Spring (operating system) wikipedia , lookup

Security-focused operating system wikipedia , lookup

Mobile operating system wikipedia , lookup

Burroughs MCP wikipedia , lookup

Process management (computing) wikipedia , lookup

Copland (operating system) wikipedia , lookup

Distributed operating system wikipedia , lookup

RSTS/E wikipedia , lookup

Unix security wikipedia , lookup

CP/M wikipedia , lookup

VS/9 wikipedia , lookup

Transcript
Introduction to
Operating Systems
1
Overview
•Definitions
•Types of Operating Systems
•Computer System Overview
•Operating System Structures
•Evolution of Operating Systems
2
Definition
•An operating system (OS) is a software program
that manages the hardware and software
resources of a computer.
•An Operating System is the basic minimum
software that is needed for a computer to be
operational
-Examples of operating systems for personal
computers include Microsoft Windows, Mac OS,
Unix and Linux (e.g. Red Hat, Ubuntu)
3
• The lowest level of any operating system is its
kernel. This is the first layer of software
loaded into memory when a computer boots
or starts up.
• The kernel provides access to various common
core services to all other system and
application programs.
• These services include, but are not limited to:
 disk access
 memory management
task scheduling and access
other hardware devices.
4
Definition contd…
 An Operating System (OS), is
low-level software that
enables a user and higherlevel application software to
interact with a computer’s
hardware and the data and
other programs stored on the
computer.
 An OS performs basic tasks,
such as recognizing input
from the keyboard, sending
output to the display screen,
keeping track of files and
directories on the disk, and
controlling peripheral devices
such as printers.
5
What is an Operating System?
•
A basic computer consists of:
 One or more processors
 Main memory
 Disks
 Printers
 Various input/output devices.
•
Managing all these varied components
requires a layer of software – the
Operating System (OS).
6
The Three Elements of an OS
a) User Interface – The part of the OS that you
interface with.
b) Kernel – The core of the OS. Interacts with the
BIOS (at one end), and the UI (at the other end).
c) File Management System – Organizes and
manages files.
7
Computer Hardware Organization
8
Reasons for studying Operating Systems
• To learn how computers work
•To learn how to manage complexity through
appropriate abstractions (hiding underlying details e.g.
disk operation, networks)
•To learn about system design e.g. performance VS
simplicity
•Because Operating systems are key components in
many systems e.g. cell phones, home appliances etc
•Combines concepts from many other areas of
Computer Science: Architecture, Languages,
Data Structures, Algorithms, etc.
9
Where does the OS fit in?
10
Goals of an Operating System
a) Control/execute application programs.
b) Make the computer system convenient to
use.
c) Ease the solving of user problems.
d) Use the computer hardware in an efficient
manner.
11
Dimensions of Operating Systems
a) Multiuser – Two or more users work with the
computer at the same time
b) Multitasking – Two or more processes
running at the same time.
c) Multithreading – Two or more parts of the
same process running at the same time.
12
Types of Operating Systems
a) Real time OS
b) Single user / single tasking OS
c) Single user / multitasking OS
d) Multi user / multitasking
13
a)
Real-time operating system
• Real-time operating system
– Very fast small OS
– Built into a device
– Respond quickly to user input
– MP3 players, Medical devices
14
b) Single user/Single tasking OS
• Single user/Single tasking OS
– One user works on the system
– Performs one task at a time
– MS-DOS and Palm OS
– Take up little space on disk
– Run on inexpensive computers
15
c)
Single user/Multitasking OS
• Single user/Multitasking OS
– User performs many tasks at once
– Most common form of OS
– Windows XP and OS X
– Require expensive computers
– Tend to be complex
16
d) Multi user/Multitasking OS
• Multi user/Multitasking OS
– Many users connect to one computer
– Each user has a unique session
– Maintenance can be easy
– Requires a powerful computer
– E.g. UNIX, Linux, and VMS
17
Multi user/Multi tasking OS
18
Types of User Interfaces
• User interface refers to the way a user interacts
with a computer
• Major types user interfaces are:
a) Graphical User Interface (GUI)
b) Command Line Interface (CLI)
19
a)
Graphical user interface (GUI)
– Most common interface E.g. Windows, OS
X, Gnome, KDE
– Uses a mouse to control objects
– Uses a desktop metaphor
– Shortcuts open programs or documents
– Task switching
– Dialog boxes allow directed input
20
Graphical User Interface
21
b) Command Line Interface
–Older interface E.g. DOS, Linux, UNIX
–User types commands at a prompt
–User must remember all commands
–Included in all GUIs
22
Command Line Interface
23
Operating System Functions
• Control of Computer Hardware
•
•
•
•
Provide a user interface
Run programs
File management – creation , storage etc
Application Management
24
Services Provided by an OS
• Facilities for program creation
– editors, compilers, debuggers etc.
• Program execution
– loading in memory, I/O and file initialization.
• Access to I/O and files
– deals with the specifics of I/O and file formats.
• System access
– resolves conflicts for resource contention.
– protection in access to resources and data.
25
Computer System Components
1. Hardware – provides basic computing resources
(CPU, Memory, I/O devices, Communication).
2. Operating System – controls and coordinates
use of the hardware among various application
programs for various users.
3. System & Application Programs – ways in which
the system resources are used to solve
computing problems of the users (E.g. Word
processors, Compilers, Web browsers, Database
systems, Video games).
4. Users – (People, Machines, other computers).
26
Hierarchical view of computer system
27
Static View of System Components
28
Dynamic View of System Components
29
Layers of a Computer System
End
User
Application
Programs
Utilities
Operating-System
Programmer
OperatingSystem
Designer
Computer Hardware
30
Views of an Operating System
•
There are three classical views (in literature):
1. Resource Manager – manages and
allocates resources.
2. Control program – controls the execution
of user programs and operations of I/O
devices.
3. Command Executer – Provides an
environment for running user commands.
• But one more modern view: the Operating
System as a Virtual Machine.
31
1. Resource Manager
• Resource Manager:
– Manages and protects multiple computer
resources: CPU, Processes, Internal/External
memory, Tasks, Users, Communication
channels,
– Handles and allocates resources to multiple
users or multiple programs running at the
same time and space (e.g., processor time,
memory, I/O devices).
– Decides between conflicting requests for
efficient and fair resource use (e.g., maximize
throughput, minimize response time).
32
OS as a Resource Manager
33
2. Control Program
• Control Program:
– Manages all the components of a complex
computer system in an integrated manner.
– Controls the execution of user programs and
I/O devices to prevent errors and improper use
of computer resources.
– Looks over and protects the computer:
Monitor, Supervisor, Executive, Controller,
Master, Coordinator ….
34
3. Command Executor
• Command Executor:
– Interfaces between the users and
machine.
– Supplies services/utilities to users.
– Provides the users with a convenient CLI
(Command Language Interface), also
called a Shell (in UNIX & LINUX), for
entering the user commands.
35
History of Operating Systems
• An operating system (OS) is a software program
that manages the hardware and software
resources of a computer.
• The OS performs basic tasks, such as controlling
and allocating memory, prioritizing the
processing of instructions, controlling input and
output devices, facilitating networking, and
managing files.
36
Structure of Operating System (Contd…):
3. System programs
This layer consists of compilers, Assemblers, linker
etc.
4. Application programs
This is dependent on users need. Ex. Railway
reservation system, Bank database management
etc.,
37
Evolution of OS
• The evolution of operating systems went
through seven major phases.
• Six of them significantly changed the ways in
which users accessed computers through the
open shop, batch processing,
multiprogramming, timesharing, personal
computing, and distributed systems.
• In the seventh phase the foundations of
concurrent programming were developed and
demonstrated in model operating systems.
38
Evolution of OS (contd..)
Major Phases Technical
Innovations
Operating
Systems
Open Shop
The idea of OS
IBM 701 open shop
(1954)
Batch
Processing
Tape batching,
First-in, first-out
scheduling.
BKS system (1961)
Multiprogramming
Processor multiplexing,
Atlas supervisor (1961),
Indivisible operations,
Exec II system (1966)
Demand paging,
Input/output spooling,
Priority scheduling, Remote
job entry
39
Evolution of OS (contd..)
Timesharing
Simultaneous user
interaction,
On-line file systems
Multics file system (1965),
Unix (1974)
Concurrent
Programming
Hierarchical systems,
Extensible kernels, Parallel
programming concepts,
Secure parallel languages
RC 4000 system (1969),
13 Venus system (1972),
14 Boss 2 system (1975).
Personal
Computing
Distributed
Systems
Graphic user interfaces
OS 6 (1972)
Pilot system (1980)
Remote servers
WFS file server (1979) Unix
United RPC (1982)
24 Amoeba system (1990)
40
a)
User View of OS
• The user's view of the computer varies according to the
mode being used.
• Most computer users sit in front of a PC, consisting of a
monitor/keyboard/ mouse, and system unit.
• Such a system is designed for one user to monopolize
its resources. (single user mode)
• The goal is to maximize the work (or play) that the user
is performing.
• In this case the operating system is designed mostly for
ease of use with some attention paid to performance
and none paid to resource utilization.
41
• In other cases, a user sits at a terminal
connected to a mainframe or mini computer.
Other users are accessing the same computer
through other terminals.
• These users share resources and may
exchange information. (multi-user)
• The OS in such cases is designed to maximize
resource utilization to assure that all available
CPU time, memory, and I/0 are used efficiently
and that no individual user takes more than
her fair share.
42
• Some computers have little or no user view.
For example, embedded computers in home
devices and automobiles may have numeric
keypads and may turn indicator lights on or off
to show status, but they and their operating
systems are designed primarily to run without
user intervention.
43
b) System View
• From the computer's point of view, the OS is
the program most intimately involved with the
hardware.
• In this context, we can view an operating
system as a resource allocator
• A computer system has many resources that
may be required to solve a problem: CPU time,
memory space, file-storage space, I/0 devices,
and so on.
44
b) System View contd…
• The operating system acts as the manager of
these resources.
• Facing numerous and possibly conflicting
requests for resources, the operating system
must decide how to allocate them to specific
programs and users so that it can operate the
computer system efficiently and fairly.
• As we have seen, resource allocation is
especially important where many users access
the same mainframe or minicomputer.
45
TASKS
1) Explain the relationship between OS and
Computer architecture
1) Write notes on History of Operating Systems
46