Title: Chapter 13 Operating Systems: An Overview
1Chapter 13Operating Systems An Overview
- The Architecture of Computer Hardware and Systems
Software An Information Technology Approach - 3rd Edition, Irv Englander
- John Wiley and Sons ?2003
- Wilson Wong, Bentley College
- Linda Senne, Bentley College
2Fundamental Purpose of OS
- To control and operate the hardware in an
efficient manner - To allow the user powerful access to the
facilities of the machine
313.1 - Bare Bones Computer System
- Does not load instructions into main memory
- No user interface except for I/O routines
provided with executing program - Is idle when waiting for user input
- No facility to store, retrieve, or manipulate
files - No ability to control peripheral devices
- Can run only one program at a time
4Integrated Computer Environment
513.2 - Operating System
- A collection of computer programs that integrate
the hardware resources of the computer and make
those resources available to the user, in a way
that allows the user access to the computer in a
productive, timely, and efficient manner. - System manager intermediary between the user,
the users programs, and the hardware.
6Operating System Three Basic Services
- Accepts and executes commands and requests from a
user and a users program - Manages, loads, and executes programs
- Manages hardware resources of the computer
7Operating System Additional Services
- Provides interfaces for the user and the users
programs - File support services
- I/O support services
- Means of starting the computer
- Bootstrapping or booting the computer or Initial
Program Load (IPL) - Handles all interrupt processing
- Network services
- Provides tools and services for concurrent
processing (simulate the simultaneous execution
of multiple programs)
8Additional Services Required by Concurrent
Processing
- Allocates resources such as memory, CPU time, and
I/O devices to programs - Protects users and programs from each other and
outsiders and provides for inter-program
communication - Provides feedback to the system administrators to
permit performance optimization of the computer
system
9OS Parts
- Memory Resident
- Always loaded in memory
- Commonly called the kernel
- Contains essential services required by other
parts of the operating system and applications. - Typically responsible for managing memory
management, processes and tasks, and secondary
storage - Memory Non-resident
- Applications
- Infrequently used programs, software tools, and
commands - Bootstrap program (BIOS)
- Diskless workstations or thin clients
- Programs, including the OS, are located on
another computer on the network
1013.7 -Types of Operating Systems
- Single-user
- Single-tasking systems
- Multi-tasking systems
- Multi-user, multitasking systems
- Distributed systems
- Network servers
- Embedded systems
- Real-time systems
11Categorization by Degree of Activity
- OS Degree of Activity
- Interactive (what you are use to!)
- Also known as conversational systems
- Batch processing (billing, backup)
- User submits programs or jobs for processing
- Little to no user interaction
- Event driven
- Interrupts or service requests
12Hardware and the OS
- A hardware platform may support a variety of
operating systems - An operating system may work on a variety of
platforms - A standard operating system that works on
different hardware - Provides program and file portability
- Enables user efficiency through recognizable
interface - Is implemented through a systems programming
language like C or C as opposed to assembly
language
1313.3 - Single Job Processing
- Only one program is loaded into memory and
executed (obsolete) - Example MS-DOS
- MS-DOS had three memory resident components
- Command interface shell
- I/O routines, including BIOS
- File management system
- Users program in control (once the program is
started OS is out of the picture)
14OS Regains Control
- When program is finished control is
transferred back to the command interpreter - If the users program requests I/O it makes a
request to OS - Program places a request number in a previously
agreed upon register or memory location and then
jumps to the OS - The user wishes to stop the program execution
via a keyboard interrupt - System malfunctions
15Single Job Processing
- Disadvantages
- Lack of security
- Programs can overwrite the resident OS
- Programs can write directly to I/O devices
- System provides minimum memory management and no
scheduling - CPU is often idle awaiting the completion of I/O
operations
1613.4 - Concurrent Operations
- Multitasking (multiprogramming) vs.
multiprocessing - Multitasking manipulating multiple programs on
a single CPU - Multiprocessing manipulating one to many
programs on multiple CPUs - Concurrent processing vs. simultaneous processing
- Concurrent processing appears to be processing
simultaneously. - Simultaneous processing occurs at the same time
17Achieving Multitasking
- While one program is waiting for I/O to take
place, another program is using the CPU to
execute instructions. - Time-slicing - the CPU may be switched rapidly
back and forth between different programs - Dispatching is the process of selecting which
program to run at any given instant
18Sharing the CPU during I/O Breaks
- I/O represents a large percentage of a typical
programs execution
19Time-sharing the CPU
Time slicing
2013.5 - Services and Facilities
- Command processor application program interface
and user interface - File management system
- I/O control system
- Process control management and inter-process
communication - Memory management
- Scheduling system
- Secondary storage management
- System protection management
- Network management, communication support, and
communication interfaces - System Administration
21User Interface and Command Execution Services
- Types of user interfaces
- CLI - Command Line Interface
- GUI - Graphical User Interface
- Menu environment
- Shell
- User interface and command processor that
interacts with the kernel - UNIX C, Bourne and Korn shells
- Command Languages
- IBM Mainframes JCL
- MS Windows BAT files, Windows Scripting Host
- UNIX shell scripts
22File Management
- File - logical unit of storage
- Basic file management system provides
- Directory structures for each I/O device
- Tools to copy and move files
- Information about each file in the system and the
tools to access that information - Security mechanisms to protects files and control
access - Additional file management features
- Backup, emergency retrieval and recovery
- File compression
- Transparent network file access
- auditing
23I/O Services andProcess Control Management
- I/O services
- Startup configuration
- Device drives that implement interrupts and
provide other techniques for handling I/O - Plug and play hot swapping, hot plugging
- Process control management
- A process is an executing program
- A thread is an individually executable part of a
process - Interprocess messaging services (processes
cooperate with each other by sending messages)
24Memory Management
- Keeps track of memory
- Identifies programs loaded into memory
- Amount of space each program uses
- Available remaining space
- Prevents programs from reading and writing memory
outside of their allocated space - Maintains queues of waiting programs
- Allocates memory to programs that are next to be
loaded - De-allocates a programs memory space upon
program completion
25Scheduling
- High-level scheduling
- Placed in queue based on level of priority and
eventually executed - Dispatching
- Actual selection of processes that will be
executed at any given time - Preemptive uses clock interrupts
- Non-preemptive program voluntarily gives up
control - Context switching
- Transfer control to the process that is being
dispatched - Processing requirements
- CPU vs. I/O bound
- CPU require an extensive amount of CPU time
- I/O bound require very little CPU processing
time
26Secondary Storage and Security
- Secondary storage management
- Optimizes completion of I/O tasks for efficient
disk usage - Optimization may be provided by a combination of
I/O hardware and OS software - Security and protection services
- Protect OS from users
- Protect users from other users
- Prevent unauthorized entry to system
- Prevent unauthorized system use by authorized
users
27Network and Communication Services
- TCP-IP protocol suite
- Locate and connect to other computers
- Access files, I/O devices, and programs from
remote systems - Support distributed processing
- Network Applications
- Email, remote login, Web services, streaming
multimedia, voice over IP telephony, VPN - Interface between communication software and OS
I/O control system that provides network access
28System Administration Support
- System configuration and setting group
configuration policies - Adding and deleting users
- Modifying user privileges
- System security
- Files systems management
- Network administration
- Backups
- Software installations and upgrades
- OS installations (system generation), patches,
and upgrades - System tuning and optimization
2913.6 OS Organization
- Three common configuration models
- Monolithic
- Layered or hierarchical
- microkernel
30Monolithic
- The operating system programs simply interact as
required to perform functions. - The critical functions within the kernel operate
in protected mode - The remainder of the functions operate in user
mode. - The shell is separate from the kernel and serves
as an interface
31Monolithic Configuration
- Drawback stability and integrity of the system
- Defect in kernel program can crash entire system
- Examples
- UNIX
- Windows NT
32Hierarchical Configuration
- Outer most layers are the most visible to the
users - Each layer calls the next innermost layer
- Require careful design services must be layered
in a way such that all requests move inward
33Hierarchical
- Requests passthrough intermediatelayers
- Examples
- Multics
- Data General
34Microkernel Configuration
- Recent
- Based on small protected kernel that provide
minimum essential functionality - Constitutes a client-server system where client
and server both reside on the same system
35Microkernel Configuration
- Operating system services outside of the
essential functionality are performed by programs
in user mode. - Each program acts as a server that performs
specific operating system tasks upon request of
application programs as well as other OS programs
(the client in this model) - Clients request services by sending messages
directly the microkernel. - The microkernel passes the message to the
appropriate server, who performs the function and
replies by sending a message back to the client
36Microkernel
- Minimum essential functionality
- Client-server system on same system
- Clients request services from microkernel which
passes message onto appropriate server
37Mach OS Kernel
- Microkernel implementation
- Includes
- Message passing
- Interrupt processing
- Virtual memory management
- Scheduling
- Basic set of I/O drivers
- Macintosh OS X
3813. 8 - Bootstrapping
- Execution begins with bootstrap loader
(mini-loader, IPL) stored in ROM - Looks for OS program in a fixed location
- Loads OS into RAM
- Transfers control to starting location of OS
- Loader program in OS used to load and execute
user programs back
39Bootstrapping
- Cold vs.warm boot(does not retest the system)