Operating Systems Principles (Introduction)



Download 0.78 Mb.
Page1/2
Date09.06.2018
Size0.78 Mb.
#54027
  1   2

Operating System Principles

AUA CIS331 Albert Minasyan

Operating Systems Principles (Introduction)
The purpose of the operating system is to run the user program on the computer.
Nowadays everywhere are being used different types of computers for different purposes. All they need operating systems to perform their tasks.

Starting from very small computers inside the handheld devices and finishing with huge supercomputers in data centers have their operating systems. But surprisingly all those different operating systems have the same basic principles.


This course describes that basic principles and allows to understand the differences between the operating systems and the reasons why this or that operating system is being used on different computers or computer systems.





Sources:

  • Yale university

  • UC Berkeley

  • JHU

  • My experience



This course structure



















Virtual Machine



Real Workstation

Student’s should complete programming assignments on “Unix and Windows Processes and Threads programming on C, C++”


Required Textbook:

Silberschatz, Galvin, Gagne “Operating System Concepts”, 9th edition. 2012

Kay A. Robbins, Steven Robbins, Unix Systems Programming, 2003
Recommended Reference Books:

  • Herbert Schildt. Windows 95 Programming in C and C++. 1995

  • Herbert Schildt. Windows 2000 Programming from the Ground Up. 2000.

  • Kate Gregory. Using Visual C++ 6.


Goal of this handout: to teach the differences of main types of OS and the evaluation criteria of OS.

Outcome: Students should distinguish the different types of OS/computer systems and be able to apply the evaluation criteria to different types of OS and evaluate different systems’ performance.

Handout Content:



  • 1.1. What is an Operating System

  • 1.2. Computer system types and description

    • 1.2.1. Mainframe Computer Systems

      • 1.2.1.1. Batch Systems

      • 1.2.1.2. Multiprogrammed Systems

      • 1.2.1.3. Time Sharing Systems

    • 1.2.2. Desktop Systems

    • 1.2.3. Multiprocessor Systems

      • Tandem, Symmetric, Asymmetric multiprocessor systems

    • 1.2.4. Distributed Systems

      • 1.2.4.1. Client Server Systems

      • 1.2.4.2. Peer-to-Peer Systems

    • 1.2.5. Clustered Systems

    • 1.2.6. Real Time Systems

    • 1.2.7. Handheld Systems

Textbook Silberschatz, Chapter 1
1.1. What is an Operating System
The purpose of the operating system is to run the user program(s).


The three main responsibilities of an operating system:

  • To provide an environment for a computer user to execute programs on computer hardware in a convenient and efficient manner (Shells, Windows, Terminals, Executable files concept).

  • To allocate the separate resources (memory, processor, disk space, I/O device usage) of the computer as needed to solve the problem given. The allocation process should be as fair and efficient as possible.

  • As a control program it serves two major functions:

    • supervision of the execution of user programs to prevent errors and improper use of the computer (protection of OS and programs from user programs).

    • management of the operation and control of I/O devices (device drivers, file systems)



  • An operating system is a program that manages the computer hardware and acts as an intermediary between the user applications and the computer hardware.

The operating system must ensure the correct operation of the computer system. To prevent user programs from interfering with the proper operation of the system, the hardware must provide appropriate mechanisms.




The operating system provides certain services to programs and to the users of those programs in order to make their tasks possible and easier.

The services differ from one operating system to another, but we identify and explore some common classes of these services.

An operating system is an important part of almost every computer system. A computer system can be divided roughly into four components: the hardware, the operating system, the application programs, and the users.


User 1



User 2

User 3

User n


Compiler Assembler Text editor Database System

System and application programs


Operating System

Computer Hardware



Abstract view of the components of a computer system.

The hardware - the central processing unit (CPU), the memory, and the input/output (I/O) devices -provides the basic computing resources.

The application programs-such as word processors, spreadsheets, compilers, and web browsers - define the ways in which these resources are used to solve the computing problems of the users.
The operating system controls and coordinates the use of the hardware among the various application programs for the various users.

The operating system provides the means for the proper use of the resources of the computer system.



User Application Programs

Trying to use Computing Resources



API to OS for User Applications

Using ready solutions is possible (is effective)

Operating System



Device drivers

Control API to Hardware


Direct usage is possible (but is not effective)


Computing Resources

are provided by Computer Hardware

(CPU, Memory, I/O devices)





An application programming interface (API) is a set of functions, procedures, methods or classes that an operating system, library or service provides to support requests made by computer programs.


The operating system is similar to a government. Like a government, it performs no useful function by itself. It simply provides an environment within which other programs can do useful work.



1.2. Computer System types and description


The newest computers repeat the history of old computers starting from the very simple software and growing to full multiprocessor OS.

All OS solutions invented tens of years ago are applicable for newest computers.


1.2.1. Mainframe Computer Systems
Mainframe computer systems were the first computers used to tackle many commercial and scientific applications. They grew of from simple batch systems, where the computer runs one - and only one-application, to time-shared systems, which allow for user interaction with the computer system.


Mainframe Computer Systems



Desktop Computer Systems

Operating Systems


Batch Systems

Multiprogrammed Systems

Time Sharing Systems

OS improves




  • Tasks are collected in similar tasks’ batches

  • Next task from batch runs when the previous one is finished fully

  • CPU is dedicated for one task and is often idle

  • Tasks are collected in queues (pools)

  • If CPU is idle it takes another (next or previous unfinished) task’s some part to be busy all the time

  • CPU switches between tasks (programs) when it is idle and usually is busy all the time.
  1   2




The database is protected by copyright ©ininet.org 2024
send message

    Main page