Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Operating Systems: Basic Concepts and Evolution, Lecture notes of Operating Systems

Basics of operating system, Types of operating system, operating system structure

Typology: Lecture notes

2018/2019

Uploaded on 08/31/2019

monali-bhagat
monali-bhagat 🇮🇳

1 document

1 / 20

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
SWAMI SAHAJANAND COLLEGE OF COMPUTER SCIENCE
BCA- CC-303: Operating System
UNIT 1: Basic concept of an operating system
Prepared By: Monali Bhagat (Asst.Professor,SSCCM) Page 1
UNIT 1: Basic concept of an operating system
Operating System ........................................................................................... 2
Definition ................................................................................................... 2
Functions.................................................................................................... 2
Evolution of operating system ....................................................................... 5
Batch Operating System ............................................................................. 5
Multiprogrammed Operating System ......................................................... 6
Time sharing operating System .................................................................. 8
Introduction to basic terms & batch processing system: ................................ 9
Jobs ............................................................................................................ 9
Processes ................................................................................................... 9
Files ............................................................................................................ 9
Command interpreter .............................................................................. 10
Different types of operating system ............................................................. 10
Real Time Systems.................................................................................... 10
Parallel ..................................................................................................... 11
Distributed System ................................................................................... 12
Operating system structure ......................................................................... 13
Monolithic Layered .................................................................................. 14
Microkernel .............................................................................................. 16
Virtual Machine ........................................................................................ 18
Client Server ............................................................................................. 19
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Partial preview of the text

Download Operating Systems: Basic Concepts and Evolution and more Lecture notes Operating Systems in PDF only on Docsity!

BCA- CC-303: Operating System

UNIT 1: Basic concept of an operating system

  •  Operating System........................................................................................... UNIT 1: Basic concept of an operating system
    •  Definition
    •  Functions....................................................................................................
  •  Evolution of operating system
    •  Batch Operating System
    •  Multiprogrammed Operating System
    •  Time sharing operating System
  •  Introduction to basic terms & batch processing system:
    •  Jobs
    •  Processes
    •  Files
    •  Command interpreter
  •  Different types of operating system
    •  Real Time Systems....................................................................................
    •  Parallel
    •  Distributed System
  •  Operating system structure
    •  Monolithic Layered
    •  Microkernel..............................................................................................
    •  Virtual Machine
    •  Client Server

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system

 Operating System

 Definition

 An operating system is a program that acts as an interface between the user and the computer hardware and controls the execution of all kinds of programs.  An operating system is software which performs all the basic tasks like file management, memory management, process management, handling input and output, and controlling peripheral devices such as disk drives and printers.

 Some popular Operating Systems include Linux Operating System,

Windows Operating System, VMS, OS/400, AIX, z/OS, etc.

 Functions

 Following are some of important functions of an operating System.  Memory Management  Processor Management

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system  Keeps tracks of processor and status of process. The program responsible for this task is known as traffic controller.  Allocates the processor (CPU) to a process.  De-allocates processor when a process is no longer required.

3. Device Management  An Operating System manages device communication via their respective drivers.  It does the following activities for device management:  Keeps tracks of all devices. The program responsible for this task is known as the I/O controller.  Decides which process gets the device when and for how much time.  Allocates the device in the most efficient way.  De-allocates devices. 4. File Management  A file system is normally organized into directories for easy navigation and usage. These directories may contain files and other directions.  An Operating System does the following activities for file management:  Keeps track of information, location, uses, status etc. The collective facilities are often known as file system.  Decides who gets the resources.  Allocates the resources.  De-allocates the resources.

  1. Security- By means of password and similar other techniques, it prevents unauthorized access to programs and data.
  2. Control over system performance - Recording delays between request for a service and response from the system.
  3. Job accounting - Keeping track of time and resources used by various jobs and users.
  4. Error detecting aids - Production of dumps, traces, error messages, and other debugging and error detecting aids.

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system

  1. Coordination between other software and users - Coordination and assignment of compilers, interpreters, assemblers and other software to the various users of the computer systems.

 Evolution of operating system

 Operating systems are there from the very first computer generation and they keep evolving with time. GENERATION YEAR ELECTRONIC DEVICE USED TYPES OF OS DEVICE First 1945 - 55 Vaccum Tubes Plug Boards Second 1955 - 65 Transistors Batch Systems Third 1965 - 80 Integrated Circuits(IC) Multiprogramming Fourth Since 1980 Large Scale Integration PC

 Batch Operating System

 It is a Sequence of jobs in a program on a computer without manual interventions.  The users of a batch operating system do not interact with the computer directly.  Each user prepares his job on an off-line device like punch cards and submits it to the computer operator.  To speed up processing, jobs with similar needs are batched together and run as a group.  The programmers leave their programs with the operator and the operator then sorts the programs with similar requirements into batches.  The problems with Batch Systems are as follows:  Lack of interaction between the user and the job.  CPU is often idle, because the speed of the mechanical I/O devices is slower than the CPU.  Difficult to provide the desired priority.

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system  As shown in fig, at the particular situation, job' A' is not utilizing the CPU time because it is busy in I/ 0 operations. Hence the CPU becomes busy to execute the job 'B'. Another job C is waiting for the CPU for getting its execution time. So in this state the CPU will never be idle and utilizes maximum of its time.  A program in execution is called a "Process", "Job" or a "Task".  The concurrent execution of programs improves the utilization of system resources and enhances the system throughput as compared to batch and serial processing.  In this system, when a process requests some I/O to allocate; meanwhile the CPU time is assigned to another ready process. So, here when a process is switched to an I/O operation, the CPU is not set idle.  Multiprogramming is a common approach to resource management.

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system  The essential components of a single-user operating system include a command processor, an input/ output control system, a file system, and a transient area. A multiprogramming operating system builds on this base, subdividing the transient area to hold several independent programs and adding resource management routines to the operating system's basic functions.

 Time sharing operating System

 It allows many users to share the computer resources.(Max utilization of the resources).  Time-sharing is a technique which enables many people, located at various terminals, to use a particular computer system at the same time.  Time-sharing or multitasking is a logical extension of multiprogramming. Processor's time which is shared among multiple users simultaneously is termed as time-sharing.  The main difference between Multiprogrammed Batch Systems and Time-Sharing Systems is that:  Multiprogrammed batch systems: The objective is to maximize processor use,  Time-Sharing/Multitasking Systems: The objective is to minimize response time.  Multiple jobs are executed by the CPU by switching between them, but the switches occur so frequently. Thus, the user can receive an immediate response.  For example, in a transaction processing, the processor executes each user program in a short burst or quantum of computation. That is, if n users are present, then each user can get a time quantum. When the user submits the command, the response time is in few seconds at most.  The operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time. Computer systems that

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system  File management is defined as the process of manipulating files in computer system, it management includes the process of creating, modifying and deleting the files.

 Command interpreter

 A command interpreter is the part of a computer operating system that understands and executes commands that are entered interactively by a human being or from a program. In some operating systems, the command interpreter is called the shell.  A command interpreter allows the user to interact with a program using commands in the form of text lines.  It was frequently used until the 1970’s.  However, in modern times many command interpreters are replaced by graphical user interfaces and menu-driven interfaces.

 Different types of operating system

 Real Time Systems

 A real-time system is defined as a data processing system in which the time interval required to process and respond to inputs is so small that it controls the environment.  The time taken by the system to respond to an input and display of required updated information is termed as the response time. So in this method, the response time is very less as compared to online processing.  Real-time systems are used when there are rigid time requirements on the operation of a processor or the flow of data and real-time systems can be used as a control device in a dedicated application.  A real-time operating system must have well-defined, fixed time constraints, otherwise the system will fail.

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system  For example, scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, air traffic control systems, etc.  There are two types of real-time operating systems.

1. Hard real-time systems  Hard real-time systems guarantee that critical tasks complete on time.  In hard real-time systems, secondary storage is limited or missing and the data is stored in ROM. In these systems, virtual memory is almost never found. 2. Soft real-time systems  Soft real-time systems are less restrictive.  A critical real-time task gets priority over other tasks and retains the priority until it completes. Soft real-time systems have limited utility than hard real-time systems.  For example, multimedia, virtual reality, Advanced Scientific Projects likes undersea exploration and planetary rovers, etc.

 Parallel

 Parallel computing is a type of computation in which many calculations or the execution of processes are carried out simultaneously.  Parallel processing is a method of simultaneously breaking up and running program tasks on multiple microprocessors, thereby reducing processing time. Parallel processing may be accomplished via a computer with two or more processors or via a computer network.  Large problems can often be divided into smaller ones, which can then be solved at the same time.  There are several different forms of parallel computing:  bit-level,  instruction-level,

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system  With resource sharing facility, a user at one site may be able to use the resources available at another.  Speedup the exchange of data with one another via electronic mail.  If one site fails in a distributed system, the remaining sites can potentially continue operating.  Better service to the customers.  Reduction of the load on the host computer.  Reduction of delays in data processing.

 Operating system structure

 There are many operating systems that have a rather simple structure. These started as small systems and rapidly expanded much further than their scope. A common example of this is MS-DOS. It was designed simply for a niche amount for people. There was no indication that it would become so popular.  An image to illustrate the structure of MS-DOS is as follows:

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system  It is better that operating systems have a modular structure, unlike MS- DOS. That would lead to greater control over the computer system and its various applications. The modular structure would also allow the programmers to hide information as required and implement internal routines as they see fit without changing the outer specifications.

 Monolithic Layered

 A monolithic kernel is an operating system architecture where the entire operating system is working in kernel space.  This increases the size of the kernel as well as the operating system.  This is different than the microkernel system where the minimum software that is required to correctly implement an operating system is kept in the kernel.  The monolithic model differs from other operating system architectures (such as the microkernel architecture) in that it alone defines a high-level virtual interface over computer hardware.

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system  Example of some Monolithic Kernel based OSs are: Unix, Linux, Open VMS, XTS-400, z/TPF.  Disadvantages :  One of the major disadvantage of monolithic kernel is that, if anyone service fails it leads to entire system failure.  If user has to add any new service. User needs to modify entire operating system.

 Microkernel

 Microkernel is one of the classifications of the kernel. Being a kernel it manages all system resources. But in a microkernel, the user services and kernel services are implemented in different address space.  The user services are kept in user address space, and kernel services are kept under kernel address space, thus also reduces the size of kernel and size of operating system as well.  It provides minimal services of process and memory management.  The communication between client program/application and services running in user address space is established through message passing, reducing the speed of execution microkernel.  The Operating System remains unaffected as user services and kernel services are isolated so if any user service fails it does not affect kernel service. Thus it adds to one of the advantages in a microkernel.  It is easily extendable i.e. if any new services are to be added they are added to user address space and hence requires no modification in kernel space. It is also portable, secure and reliable.  Microkernel Architecture –  Since kernel is the core part of the operating system, so it is meant for handling the most important services only. Thus in this architecture only the most important services are inside kernel and

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system rest of the OS services is present inside system application program. Thus users are able to interact with those not-so important services within the system application. And the microkernel is solely responsible for the most important services of operating system they are named as follows: o Inter process-Communication o Memory Management o CPU-Scheduling  Advantages of Microkernel –  The architecture of this kernel is small and isolated hence it can function better.  Expansion of the system is easier; it is simply added in the system application without disturbing the kernel.  A diagram that demonstrates the architecture of a microkernel is as follows:

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating systemDisadvantage :  They are not as efficient as a physical computer because the hardware resources are distributed in an indirect way.  Multiple VMs running on a single physical machine can deliver unstable performance

 Client Server

 Client/Server computing is a computing model in which client and server computers communicate with each other over a network.  The client-server model is a distributed communication framework of network processes among service requestors, clients and service providers.  The client-server connection is established through a network or the Internet.  The client-server model is a core network computing concept also building functionality for email exchange and Web/database access.  In client/server computing, a server takes requests from client computers and shares its resources, applications and/or data with one or more client computers on the network, and a client is a computing device that initiates contact with a server in order to make use of a shareable resource.  Web technologies and protocols built around the client-server model are:  Hypertext Transfer Protocol (HTTP)  Domain Name System (DNS)  Simple Mail Transfer Protocol (SMTP)  Telnet  Clients include Web browsers, chat applications, and email software, among others. Servers include Web, database, application, chat and email, etc.  A server manages most processes and stores all data. A client requests specified data or processes. The server relays process output to the client. Clients sometimes handle processing, but require server data resources for completion.

BCA- CC-303: Operating System UNIT 1: Basic concept of an operating system  One client-server model drawback is having too many client requests under run a server and lead to improper functioning or total shutdown.  Hackers often use such tactics to terminate specific organizational services through distributed denial-of-service (DDoS) attacks.