Operating Systems

Download Report

Transcript Operating Systems

Operating Systems
Ch. 14 - An Overview
1
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Bare Bones Computer
System
Does not provide for:




Loading instructions into MM
User interface
Storing, retrieving, manipulating files
Controlling peripheral devices
2
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Solution
Provide a set of programs that is an integral part of
the computer system to:




Control the hardware
Load and start application programs
Provide file services
Provide a user interface
3
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
The Operating System is a collection of
Programs that work together to act as a
system manager, controlling both
Hardware and Software and acting as
a User Interface.
4
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Evolution of the Role of OS



Earlier systems required the user to know
more about the hardware, file systems, and
I/O devices to get work done, OS smaller
Trend is for the operating system to get
bigger and provide more services so that the
user has an easier time getting useful work
done
The user is less likely to get bogged down
with technical issues
5
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS - Services

Objectives
– Convenience
– Efficiency

Services
–
–
–
–
Manage, load and execute programs
Accept and execute commands from user and application programs
Provide interface for user and user’s programs
Manage hardware resources
•
•
•
•
•
•
I/O support
File support
Interrupt handling
Network services - such as, distributed processing
Concurrent Processing
Bootstrapping
6
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Bootstrapping
1. Execution begins with bootstrap loader stored in ROM
2. Looks for OS program in a fixed location
3. Loads OS into RAM
4. Transfers control to starting location of
OS
5. Loader program in OS used to load and
execute user programs
7
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS Services
8
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS Parts

Resident Part
– some OS services are critical to system operation and
must be resident in memory at all times (user command
handler, interrupt handler)
– loaded into memory via bootstrapping
– known as OS kernel

Non-Resident Part
– loaded as needed, for example, disk formatting
9
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS - Degree of Activity
(between user and system)

Online, interactive (conversational system)
– user is connected directly to and interacting
with system during execution of program (such
as input)

Batch processing
– program is executed in background mode
applied to data contained in a file

Event driven
10
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Event Driven OS

An OS is usually idle until an event
(interrupt or service request) occurs
–
–
–
–
–
File request
I/O request
Keyboard or mouse input
program memory request
clock interrupt signaling program scheduler for
time slice
– etc
11
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Operating System - Types



Single User, Single Tasking
MSDOS
Single User, Multitasking
Windows 95 or 98
Multi-user, Multitasking
Unix
12
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Single Job Processing


Simple
Memory resident components
– Command interface shell containing commands
that must remain resident
– I/O routines that control each of the I/O devices
– File management system for locating and
maintaining files
13
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Single Job Processing
1. Program is loaded into memory.
2. Execution begins. Program runs w/o OS interference.
3. OS regains control:
a. If the user’s program requests I/O
b. The user wishes to stop the program
execution via a keyboard interrupt
c. System malfunction
4. When program is finished, control is transferred back to
the command interpreter. Note - computer does not halt. OS
just waits for command.
14
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Single Job Processing



System provides minimum memory
management and no scheduling
Wasteful of system resources - CPU is idle
most of the time
Nearly obsolete
15
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Concurrent Operations


Multitasking - multiple programs running
on a single CPU
May be applied to a single user system or
to multiple users sharing a single system
16
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Concurrent Processing



Allocates memory, CPU time, I/O devices to
multiple programs
Protects users and programs from each other
and provides for inter-program
communication
Provides feedback to the system
administrators for tailoring and tuning the
system for optimum performance
17
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS Services
Concurrent Operations


User services to each user
Allocation of resources to each user and
task
– Memory
– I/O
– CPU time

OS periodically evaluates status of
resources and reassigns them in order to
meet needs of each task and user
18
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Achieving Multitasking
1. While one program is waiting for I/O to
take place, another program is using the
CPU to execute instructions
19
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Sharing CPU during I/O Breaks
20
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Achieving Multitasking
2. The CPU may be switched rapidly back and
forth between different programs
21
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Time-Slicing
22
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Achieving Multitasking
3. Concurrency algorithms usually combine
both approaches, taking into account such
issues as
- fairness to each program
- priorities of the programs
- quick response for critical needs, such as
displaying cursor or keystroke
- etc
23
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Concurrent OS Tasks






Dispatching - selecting program to execute
Keeping track of each program
Memory management for each program
I/O device scheduling to meet needs of each
program
Suspending and restarting of all programs
with environment remaining intact
Provide security and protection for all
24
programs and users
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
Concurrent OS Tasks




Control and measure performance of the
system
establish and control communication
between programs
Manage network communication
...
25
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS - Structure


User interface
– CLI - Command Line Interface
– GUI - Graphical User Interface (menus,
icons, mouse-driven)
I/O control system
– device drivers - programs for each device on the
system, standard method for using each device
– Plug and Play - ideally to add new hardware and
have the OS take care of adding it to all relevant
programs and change settings to reflect change
26
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS - Structure

Process control management
– each executing program is a process
– each process acquires and releases resources during
execution
– processes must be synchronized in order to
facilitate sharing of resources
– OS provides process control management to keep
track of each process and its status - executing,
waiting for an event, register content, PC value, etc
27
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS Structure

Memory Management
– Each program is provided needed memory for
execution
– For each program, OS keeps track of memory
allocated as well as free space, protects against
writing outside allocated space, etc
– Maintains programs waiting to be loaded into
memory and allocates/deallocates space on
loading
28
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS Structure

File Management
– Mapping between a file’s logical name and the
physical address - maintains directories for each
device
– Retrieval and storage of files
– Info kept about each file
• (date, name, size, type, date last modified)
– Copy, move, delete, rename, find
29
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS - Structure

Scheduling system
– High level - jobs are placed in queue in some order and
ultimately loaded into memory for execution
– Dispatching - selection of process to be executed at a
given point in time
• Mostly preemptive - that is, programs are multitasked based on
time slicing
• Exception is for the OS itself in order to protect certain OS
operations from being interrupted
30
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS - Structure

Secondary storage management
– Many processes may have simultaneous I/O requests
from secondary storage
– Processing of requests affect progress of processes to
completion
– Secondary storage management reorganizes requests to
optimize completion of I/O tasks (by minimizing track
access)
31
Architecture of Computer Hardware and Systems Software
Irv Englander, John Wiley, 2000
OS - Structure

Security and protection management
– processes are limited to assigned memory space
– file access is handled by OS

Support for system administration
– configuring the system
• I/O device drivers, stack sizes, number of open files, ...
–
–
–
–
–
adding/deleting users and passwords
providing backups
recovering lost data
installing/maintaining software
monitoring security and measuring performance
32