0% found this document useful (0 votes)
3 views6 pages

Overview of Operating Systems Basics

Uploaded by

kahsay
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views6 pages

Overview of Operating Systems Basics

Uploaded by

kahsay
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd

Chapter One

Introduction to Operating Systems

1.1 What is an operating system?

An operating system has many definitions. A program that acts as an intermediary between a user
of a computer and the computer hardware.
The operating system makes the computer system convenient to use.
A computer system basically has four components
1. Hardware – provides basic computing resources (CPU, memory, I/O devices).
2. Operating system – controls and coordinates the use of the hardware among the various
application programs for the various users.
3. 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).
4. Users (people, machines, other computers).
It's job include:
 Process Management
 Memory Management
 File Management
 Resource Management
 I/O management
 User management
1.2 History of operating Systems
History of operating systems is tied very much to development of computer hardware and software. We
will take about three generations of computer developments.
First Generations (1945- 1955)
- The effort to build general purpose computer was successful.
- During this time computers were used for mathematical and scientific applications.
- This Computer were called Calculating Engines
- The hardware used for switching were relays and vacuum tubes.
- During this time a single group of people design, built, program, operate and maintain each
machine.

1
- There was no programming language, everything was done in absolute machine language
- In 1950 punched cards were introduced. By then it was possible to write programs on cards and
use the machines to read the cads.
Second Generations (1955- 1965)
- Transistors were introduced and they replaced vacuum tubes as switches.
- Computer started to be manufactured for use for big companies /governments, banks etc/
- Separation started to be seen between designers, builders, operators, programmers &
maintenance personnel.
- There were professional operators to run the computers
- Steps for running a job:
o Punch the program into punched card.
o Bring the cards to the input room, hand it the operators
o Operators will run the program and would print the output and give the result to the
programmers.
- Computers processing time was wasted while operation was taking input, wait for output and
giving the output to the programmer. The solution for this problem were:
 Collect a tray full of jobs
 Read them into magnetic tapes /using specialized computers.
 The operator then loads the program into the machine which read each tomb
from the tape in sequence and run it.
- Special programs were developed at that time:
 FORTRAN MONITOR SYSTEM /FMS/
 IBSYS / IBM’s operating system for IBM 7094/
Third generation (1965-1980) - ICs and Multi Programming
- Integrated Circuits (IC)
 Small electronic circuit that includes all electronic components needed to do
electrical switching, storing, amplifying etc.
 Made largely by combining silicon with other materials
- IBM introduced a system called IBM/360
- The accompanying operating system for IBM / 360 was OS/360
- IBM/360 was the first one to use small scale integrated circuits.
- Multi - programming started with OS/ 360

2
- Previously, when the current job paused to wait for a tape or other I/O operations to complete,
the CPU simply sit idle until the I/O finished.
- In multi programming, the solution was to partition memory into several pieces, with a different
job in each partition.
- While one job was waiting for I/O to complete another job could be using the CPU.
- If enough jobs could be held in memory / main memory at once, the CPU could kept busy
nearly 100%.

Job 3 Main Memory

Job 2

Job 1

Operating System

Fig. 1 Multi Programming software


- Another feature of OS/360 was the ability to read jobs from cards on to the disk as soon as they
were brought to computer room.
- Whenever a job finished, the OS could load a new job from the disk into the new empty
partition and run it.
- In OS/360 debugging was very hard because many jobs are sharing the CPU and it is difficult to
trace which jobs caused an error. To solve this problem time sharing systems were crated.
- Time sharing system is a variation of multiprogramming were each programmer has a terminal
and has access to the main frame through that terminal.

User 1 CPU

Memory
User 2

User 3
Fig. 2 a typical time sharing computer system
- The first successful time sharing system was MULTICS (Multiple Information and Computing
Service)
- MULTICS was designed to handle multiple users as a server.
- It is built with collaborations of MIT, Bell-Labs, and GE.

3
- MULTICS evolved to other operating systems like UNIX however it was not successful on its
own.
- UNIX was based on MULTICS it was a multi-programming and time - sharing system. It was
also good as server operating system.
- Mini-Computers like PDP-1, POP-11, and PDP- 7 were developed.
Fourth Generation (1980-Present)
- Personal Computers were developed
- LSI ICs was the dominant factor in the development of Personal computers
- In LSI IC, thousands of transistors were packed into small space and several Calculation and
storage could be done on small Chips
- A popular operating system during this time /1974-1980/ was CP/M (Control Program for
Micro - Computer), which was developed by Gary Kendal
- When Intel built an 8 bit general purpose CPU, CP/M was the first operating system to run on
it.
- Many application programs were written to run on CP/M during that time for 5 Years up to
1980
- In 1980 IBM designed the IBM-PC and looked for an operating system to run on it.
- IBM asked Gary Kendal for his OS, however he refused to meet with IBM to provide the OS
- Bill Gates had an interpreter for the programming language BASIC. IBM knows, and then
asked him to provide a basic interpreter and OS for IBM PC. Bill Gates bought DOS from a
local manufacturer & provided IBM with DOS/BASIC package.
- 1983- 1985 DOS was the dominant operating system for PCs
- Windows 3.0/3.1 presented a graphical interface however; DOS was the underlying operating
system until 1995.
- Windows 95 was the first operating system by Microsoft that was independent from DOS.
- Windows 98, windows Me, Windows XP for PC and Windows NT, windows 2000 for Servers
are developed
- Graphical User Interface /GUI/ was the result of a researcher done at Xerox parch & Stanford
University
- The first company to make use that research was Apple in its computer Apple Lisa.
- Windows 3.0/3.1 Came after Apple Lisa
- The graphical User interface for most UNIX systems is X-Windows which is a result of
research at MIT.)
4
Computer Hardware Review
- The CPU cycle or Clock Cycle
 Fetches instructions from memory
 Decodes the instruction
 Executes them.
- E.g. when we say that a computer runs at 2 GHz we mean that to execute one instruction it
takes the computer 1/2 nano-seconds.
- The CPU registers are divided into general purpose registers, 7 registers and with specific
purpose
- For Intel 8086/8086: general purpose registers : AC, BX, CX, PX registers with specific
purpose: IP, CS, DS, SS, SP, SI, DI, BP, SP
- The Combination IP and SC sometimes referred as PC - program counter. Program Counter is a
combination of CS and IP registers.
- Most CPUS for general purpose computer has two modes, kernel mode & user mode
- While running in Kernel mode the CPU can execute every instruction in its instruction set &
uses every feature of the hardware
- The OS runs in kernel mode while User’s applications run in user mode.
- For user programs to obtain services from the operating system, a user-program must make a
system call
- Every device connected in the computer has to be recognized by the operating system.
- A device deriver is a software program written by device windows to let the device
communicate with the operating system.
- OS is a program in an infinite loop.
1.3 Operating System Service and System Calls

- Operating system has the following system services


 Program execution – system capability to load a program into memory and to run it.
 I/O operations – since user programs cannot execute I/O operations directly, the
operating system must provide some means to perform I/O.
 File-system manipulation – program capability to read, write, create, and delete files.
 Communications – exchange of information between processes executing either on the
same computer or on different systems tied together by a network. Implemented via
shared memory or message passing.
5
 Error detection – ensure correct computing by detecting errors in the CPU and memory
hardware, in I/O devices, or in user programs.
- Additional functions exist not for helping the user, but rather for ensuring efficient system
operations.
• Resource allocation – allocating resources to multiple users or multiple jobs running at
the same time.
• Accounting – keep track of and record which users use how much and what kinds of
computer resources for account billing or for accumulating usage statistics.
• Protection – ensuring that all access to system resources is controlled.
- System calls provide the interface between a running program and the operating system.
• Generally available as assembly-language instructions.
• Languages defined to replace assembly language for systems
• Programming allow system calls to be made directly (e.g., C, C++)
- Three general methods are used to pass parameters between a running program and the
operating system.
• Pass parameters in registers.
• Store the parameters in a table in memory, and the table address is passed as a parameter
in a register.
• Push (store) the parameters onto the stack by the program, and pop off the stack by
operating system.
- Types of system calls
• Process control
• File management
• Device management
• Information maintenance
• Communications

You might also like