0% found this document useful (0 votes)
29 views3 pages

Chapter 2-Operating System Overview

This document summarizes the key functions and components of an operating system. It discusses how operating systems aim to provide convenience, efficiency, and ability to evolve. It then describes the major services OS's provide like program development, execution, I/O access, file access, system access, error detection, and accounting. The document also outlines important OS concepts like ISA, ABI, API, and how OS's evolve over time to support new hardware, services, and fixes. It discusses early computer scheduling and setup challenges and characteristics of Linux loadable modules. Finally, it lists the principal kernel components and three major lines of computer system development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views3 pages

Chapter 2-Operating System Overview

This document summarizes the key functions and components of an operating system. It discusses how operating systems aim to provide convenience, efficiency, and ability to evolve. It then describes the major services OS's provide like program development, execution, I/O access, file access, system access, error detection, and accounting. The document also outlines important OS concepts like ISA, ABI, API, and how OS's evolve over time to support new hardware, services, and fixes. It discusses early computer scheduling and setup challenges and characteristics of Linux loadable modules. Finally, it lists the principal kernel components and three major lines of computer system development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Chapter 2-Operating System Overview

Operating system has three objectives


• Convenience: An OS makes a computer more convenient to use.
• Efficiency: An OS allows the computer system resources to be used in an effi-
cient manner.
• Ability to evolve:

OS typically provides services


Program development: The OS provides a variety of facilities and services, such as editors and
debuggers, to assist the programmer in creating programs.
Program execution: A number of steps need to be performed to execute a pro-gram.
Access to I/O devices: Each I/O device requires its own peculiar set of instruc-tions or control
signals for operation.
Controlled access to files: For file access, the OS must reflect a detailed under-standing of not
only the nature of the I/O device.
System access: For shared or public systems, the OS controls access to the sys-tem as a whole
and to specific system resources.
Error detection and response: A variety of errors can occur while a computer system is
running.
Accounting: A good OS will collect usage statistics for various resources and monitor
performance parameters such as response time.
Instruction set architecture (ISA): The ISA defines the repertoire of machine language
instructions that a computer can follow
Application binary interface (ABI): The ABI defines a standard for binary portability across
programs.
Application programming interface (API): The API gives a program access to the hardware
resources and services available in a system through the user ISA supplemented with high-level
language (HLL) library calls.

A major OS will evolve over time for a number of reasons


Hardware upgrades plus new types of hardware: For example, early versions of
UNIX and the Macintosh OS did not employ a paging mechanism because they were run on
processors without paging hardware.
New services: In response to user demand or in response to the needs of system managers, the
OS expands to offer new services.
Fixes: Any OS has faults. These are discovered over the course of time and fixes are made. Of
course, the fix may introduce new faults.

These early systems presented two main problems


Scheduling: Most installations used a hardcopy sign-up sheet to reserve computer time.
Setup time: A single program, called a job, could involve loading the compiler plus the high-
level language program (source program) into memory.

The Linux loadable modules have two important characteristics:


Dynamic linking: A kernel module can be loaded and linked into the kernel while the kernel is
already in memory and executing.
Stackable modules: The modules are arranged in a hierarchy.

Module table (linix)


Name: the module name
Refcnt: Module counter the counter is incremented when an operation involving the module’s
functions is started and decremented when the operation terminates.
num_syms: Number of exported symbols.
Syms: Pointer to this module’s symbol table.

The principal kernel components are the following


Signals: The kernel uses signals to call into a process.
System calls: The system call is the means by which a process requests a specific kernel service.
Processes and scheduler: Creates, manages, and schedules processes.
Virtual memory: Allocates and manages virtual memory for processes.
File systems: Provide a global, hierarchical namespace for files, directories, and other file-
related objects and provide file system functions.
Network protocols: Support the Sockets interface to users for the TCP/IP pro-tocol suite.

Three major lines of computer system development


• Multiprogramming batch operation
• Time-sharing
• Real-time transaction systems.
There are four main causes of such errors [DENN80a]
Improper synchronization: It is often the case that a routine must be suspended awaiting an
event elsewhere in the system.
Failed mutual exclusion: It is often the case that more than one user or program will attempt to
make use of a shared resource at the same time.
Nondeterminate program operation: The results of a particular program nor-mally should
depend only on the input to that program, and not on the activities of other programs in a shared
system.

Deadlocks: It is possible for two or more programs to be hung up waiting for each other.
Process as consisting of three components
• An executable program
• The associated data needed by the program (variables, work space, buffers.
• The execution context of the program
Five principal storage management responsibilities
Process isolation: The OS must prevent independent processes from interfering with each
other’s memory, both data and instructions.
Automatic allocation and management: Programs should be dynamically allo-cated across the
memory hierarchy as required.

You might also like