CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM:

Similar documents
Introduction to Operating System

1.1 Introduction. Fig.1.1 Abstract view of the components of a computer system.

Chapter 1: Introduction

Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/os, etc.

UNIT 1 JAGANNATH UNIVERSITY UNIT 2. Define Operating system and its functions. Explain different types of Operating System

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction

1. Operating System Concepts

OPERATING SYSTEM. Functions of Operating System:

CSC 453 Operating Systems

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

UNIT I OPERATING SYSTEMS OVERVIEW

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction

Operating Systems. Computer Science & Information Technology (CS) Rank under AIR 100

Module 1: Introduction

Chapter 1: Introduction

Contents. Today's Topic: Introduction to Operating Systems

Module 1: Introduction


Module 1: Introduction. What is an Operating System?

OPERATING SYSTEMS. P. PRAVEEN Asst.Prof, CSE

HANDOUTS/ NOTES/ STUDY MATERIAL. Jagannath Institute of Management Sciences Lajpat Nagar OPERATING SYSTEM

OPERATING SYSTEMS UNIT - 1

Table of Contents 1. OPERATING SYSTEM OVERVIEW OPERATING SYSTEM TYPES OPERATING SYSTEM SERVICES Definition...

Batch processing is a technique in which Operating System collects programs and data together in

Types and Functions of Win Operating Systems

Operating Systems : Overview

Introduction to Computer Systems and Operating Systems

Chapter 14 Operating Systems

Operating System - Overview

Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/os, etc.

Operating Systems Overview. Chapter 2

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

Chapter 14 Operating Systems

Operating Systems. studykorner.org

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Fundamental Concepts and History

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System?

Operating System: an Overview. Lucia Dwi Krisnawati, MA

Some popular Operating Systems include Linux, Unix, Windows, MS-DOS, Android, etc.

Introduction to Operating System. Dr. Aarti Singh Professor MMICT&BM MMU

Lecture 17: Threads and Scheduling. Thursday, 05 Nov 2009

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications

To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Computer Fundamentals : Pradeep K. Sinha& Priti Sinha

Fundamental of digital computer

Chapter 1: Introduction

NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss

ECE397A Operating Systems. Chapter 1: Introduction

Operating Systems Overview. Chapter 2

Part I Overview Chapter 1: Introduction

TYPES OF OPERATING SYSTEMS. Dimple Juneja

Operating Systemss and Multicore Programming (1DT089)

GENERAL I ARTICLE. Operating Systems. 1. Objectives and Evolution. operating systems, and then we trace the evolution of operating

7/20/2008. What Operating Systems Do Computer-System Organization

COSC243 Part 2: Operating Systems

Subject Name:Operating system. Subject Code:10EC35. Prepared By:Remya Ramesan and Kala H.S. Department:ECE. Date:

TOPIC 1. Following are some of important functions of an operating System. Memory Management. Processor Management. Device Management.

OPERATING SYSTEM. PREPARED BY : DHAVAL R. PATEL Page 1. Q.1 Explain Memory

Operating System. Operating Systems Structure Chapter 2. Services Provided by the OS. Evolution of an Operating System

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are:

Chapter 1: Introduction

Unit 2 : Computer and Operating System Structure

Chapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads

Process- Concept &Process Scheduling OPERATING SYSTEMS

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

Operating System Services

Chapter 1: Introduction

European University of Lefke. Instructor: Dr. Arif SARI

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System

Operating System Overview. Operating System

Preview. The Thread Model Motivation of Threads Benefits of Threads Implementation of Thread

1 PROCESSES PROCESS CONCEPT The Process Process State Process Control Block 5

Chapter 1: Introduction. Chapter 1: Introduction

What is an Operating System? A Whirlwind Tour of Operating Systems. How did OS evolve? How did OS evolve?

06-Dec-17. Credits:4. Notes by Pritee Parwekar,ANITS 06-Dec-17 1

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information

OPERATING SYSTEM SUPPORT (Part 1)

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4

Lecture 1 Introduction (Chapter 1 of Textbook)

Introduction. TDDI04, K. Arvidsson, IDA, Linköpings universitet Contents. What is an Operating System (OS)?

Operating Systems. Figure: Process States. 1 P a g e

Course Content. 07-Feb-17 Faculty of Computer Science & Engineering 1 BK TP.HCM

OPERATING- SYSTEM CONCEPTS

CHAPTER 2: PROCESS MANAGEMENT

LECTURE 3:CPU SCHEDULING

System Programming Loaders and Linkers

Operating System Review

Principles of Operating Systems CS 446/646

Introduction to System Programming

Department of CSIT ( G G University, Bilaspur ) Model Answer 2013 (Even Semester) - AR-7307

Introduction to Operating Systems (Part II)

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015

Operating Systems. Operating Systems

Chapter 2 Operating-System Structures

Introduction. CS3026 Operating Systems Lecture 01

CS6401- Operating System QUESTION BANK UNIT-I

CSCA0201 FUNDAMENTALS OF COMPUTING. Chapter 6 Operating Systems

Multiprogramming. Evolution of OS. Today. Comp 104: Operating Systems Concepts 28/01/2013. Processes Management Scheduling & Resource Allocation

Chapter 1: Introduction. Operating System Concepts 8th Edition,

Transcription:

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM:

TOPICS TO BE COVERED 1.1 Need of Operating System 1.2 Evolution of os 1.3 operating system i. Batch ii. iii. iv. Multiprogramming Time sharing Real time v. Multitasking vi. Multithreding 1.4 operating system servicies 1.5 case study i. Linux ii. Windows 7

NEED OF OPERATING SYSTEM The need for operating system arises from that user need services and OS provides that services. The central part of a computer system is a processing engine called CPU.A system should make it possible for a user s application to use that processing unit. A user application would need to store information. The OS makes memory available to an application when required. Similarly user programs use input facility to communicate with the application using key board or mouse.

The output is usually provided by a video monitor or printer. OS provides following resources for many application (like document design,accounting,e mail,image processing,games) 1. Processing information 2. Storage information 3. Mechanism to input information 4. Provision for outputting information

CONCEPT OF OPERATING SYSTEM Define Operating system? The operating system controls and coordinates the user of the hardware among the various application programs for the various users. It hides complexity of its hardware from user and provide easy interface. An Operating system acts as government; it provides an environment within which other programs can do useful work.

Operating system acts as a resource allocator. A computer system has many resources like CPU time, memory space, file storage space, I/O devices etc. The operating system acts as manager of these resources and allocates them to specific programs and users as necessary for tasks efficiently. An operating system is a control program. It controls the execution of user programs to prevent errors and improper use of the computer. The Primary goal of operating system is convenience for the user. The operating system makes the use of system easier. The secondary goal of operating system is efficient operation of the computer system.

COMPONENTS OF COMPUTER SYSTEM A Computer system can be divided into four components: 1. Hardware 2. Operating System 3. Application Programs 4. Users

Hardware :The hardware of computer system includes the Central Processing Unit (CPU), the memory, and the input/output (I/O) devices. They are the basic resources. application program includes compilers, database system, games, and business programs. They define the way in which the hardware resources are to be used to solve the computing problems of the users. Users :There are many different users trying to solve different problems using different application programs. Operating system :The operating system controls and coordinates the user of the hardware among the various application programs for the various users.

EVOLUTION OF OS Serial Processing Users access the computer in series. From the late 1940's to mid 1950's, the programmer interacted directly with computer hardware i.e., no operating system. These machines were run with a console consisting of display lights, toggle switches, some form of input device and a printer. Programs in machine code are loaded with the input device like card reader. If an error occur the program was halted and the error condition was indicated by lights. Programmers examine the registers and main memory to determine error. If the program is success, then output will appear on the printer.

Simple Batch Systems To speed up processing, jobs with similar needs are batched together and run as a group. Thus, the programmers will leave their programs with the operator. The operator will sort programs into batches with similar requirements. The problems with Batch Systems are: Lack of interaction between the user and job. CPU is often idle, because the speeds of the mechanical I/O devices are slower than CPU.

Personal-Computer Systems (PCs) A computer system is dedicated to a single user is called personal computer, appeared in the 1970s. Micro computers are considerably smaller and less expensive than mainframe computers. The goals of the operating system have changed with time; instead of maximizing CPU and peripheral utilization, the systems developed for maximizing user convenience and responsiveness. For e.g., MS-DOS, Microsoft Windows and Apple Macintosh.

Parallel Systems Most systems to date are single-processor systems; that is they have only one main CPU. Multiprocessor systems have more than one processor. The advantages of parallel system are as follows: throughput (Number of jobs to finish in a time period) Save money by sharing peripherals, cabinets and power supplies Increase reliability Fault-tolerant (Failure of one processor will not halt the system).

TYPES OF OS I. BATCH OS Early computers were large machines having input devices like card readers and tape drives and output devices like line printers, tape drives and card punches. The users of such system did not interact directly with the computer system, the user prepare job consisting of data, program and control information about the job and use to submit it to computer operator. The operating system fairly simple its major task was to transfer control automatically from one job to next. The operating system was always in memory.

Operators used to batch up jobs with similar needs into a group to speed up the processing. The operators use to batch up the jobs submitted to him. The batch system has no interaction between the user and the job while the job is executing. The job is prepared and submitted, and some time later the output appears. The delay between job submission and job completion is called turnaround time. The CPU is often idle. This idleness occurs because the speed of the mechanical I/O devices is slower than electronic devices.

Operating system Input (batch of jobs) User progra m Area Output

Advantage: Simple Difficult to debug program. A job could enter an infinite loop. Due to lack of protection scheme, one batch job can affect pending jobs. Disadvantage: Low throughput, CPU remains idle when I/O is going on Debugging is possible only offline, after output appears Operation were too much time consuming Programmers do not have direct interaction with job.

II. MULTIPROGRAMMING OPERATING SYSTEM: Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has one job to execute. Operating system job1 job2 job3 job4

The operating system keeps several jobs in memory simultaneously. This set of jobs is a subset of the jobs kept in the job pool the number of jobs that can be kept simultaneously in memory is usually much smaller than the number of jobs that can be in the job pool. Operating system picks and begins to execute one of the jobs in memory and the other job may have to wait for some task, such as I/O operation. In multiprogramming system, the CPU simply switches to, and executes another job. When that job needs to wait, the CPU is switched to another job.

Eventually the first job finishes waiting and gets CPU back.cpu has always at least one job to execute. In multiprogramming operating system all the jobs that enter the system are kept in the pool. This pool consists of all processes residing on disk awaiting allocation of main memory. When the operating system selects a job pool, it loads that job into main memory is called job scheduling. If several jobs are ready to run at the same time, the system must choose among them, this decision is called CPU scheduling.

ADVANTAGE High and efficient CPU utilization. User feels that many programs are allotted CPU almost simultaneously. DISADVANTAGE CPU scheduling is required. To accommodate many jobs in memory, memory management is required.

IV.REAL TIME OPERATING SYSTEM A real-time operating system is used where there are rigid time requirement on the operation of a processor or the flow of data, and thus is often used as a control device in a dedicated application. RTOS has very little user-interface,capability and no end user utilities. RTOS always controls inputs and respond within defined time constraint. Systems that control scientific experiments, medical imaging systems, industrial control systems, and some displays, automobile-engine fuel-injection system are real-time system.

A real-time operating system has well-defined, fixed time constraints processing must be done with the defined constraints, or the system will fail. There are two flavours of real-time systems: 1. Hard real time 2. soft real time

Hard real-time: A hard real-time system guarantees that critical tasks complete on time. This goal requires that all delays in the system be bounded, from the retrieval of stored data to the time that takes the operating system to finish any request made of it. Secondary storage of any sort is usually limited or missing, with data being stored in short-term memory or in read-only memory(rom). Most advanced operating system features such as virtual memory is not found in real-time system. Ex: oil refinery (plant),atm

Soft real-time system: A less restrictive type of real-time operating system is a soft real-time system, where a critical real-time task gets priority over other tasks, and retains that priority until it completes. Soft real-time system have more limited utility that hard real-time system. They are risky if used for industrial control and robotics because of their lack of deadline support. They are useful in multimedia, virtual reality, and advanced scientific projects such as undersea exploration and planetary rovers. Ex: digital audio,multimedia

V. MULTITASKING OPERATING SYSTEM OR TIME SHARING O.S.: It is a logical extension of multiprogramming operating system. The ability to execute more than one task at the same time, a task being a program is called multitasking. The terms multitasking and multiprocessing are often used interchangeably although multiprocessing implies that more than one CPU is involved. In multitasking, only one CPU is involved, but it switches from one program to another so quickly that each user may interact with each program while it is running. So it gives the appearance of executing all of the programs at the same time.

A time shared operating system uses CPU scheduling and multiprogramming to provides each user with a small portion of a time shared computer. Each user has at least one separate program in memory. A program in execution is called process Time slice is amount of that is given to process to execute on processor (CPU). A time Sharing operating system must have memory management, synchronization, communication, protection file system and disk management.

There are two basic types of multitasking: 1. Pre-emptive multitasking (forcibly) 2. Non pre-emptive or cooperative multitasking ( voluntarily) Preemptive - a program is allowed to execute only for some maximum time duration, after this time duration CPU is forcibly taken away from the program. Minimize the response five for user. Ex: OS/2, Windows 95, Windows NT, the Amiga operating system and UNIX use

Non pre emptive Non pre-emptive multitasking, each program can control the CPU for as long as it needs it. If a program is not using the CPU.However, it can allow another program to use it temporarily. Ex: Microsoft Windows 3.x and the MultiFinder (for Macintosh computers)

VI. MULTITHREADING OPERATING SYSTEM Thread is a flow of control within a process. A thread also called a lightweight process (L W P) is a basic unit of CPU utilization. Thread contains a thread ID, a program counter, a register set, and a stack. It shares data with other threads belong to the same process like its code section, data section and other operating system resources. Process is a heavy eight process, has a single thread of control.

If the process has multiple threads of control, it can do more than one task at a time. For ex: A web browser might have one thread display images or text while another thread retrieves data from the network. A word process may have a thread for displaying graphics, another thread for reading keystroke from users, and a third thread for performing spelling and grammar checking.

Advantage of multithread programming Responsiveness: Multithreading an interactive application may allow a program to continue running even if part of it is blocked or is performing lengthy operation, so increasing responsiveness to the user. Resource sharing Threads share the memory and resources of the process to which they belong.

3. Economy Allocating memory and resources for process creation is costly. Threads share resources of the process to which they belong, it is more economical to create and context switch threads. 4. Utilization of multiprocessor architecture Multithreading can be greatly increased in multiprocessor architectures, where each thread may be running in parallel on a multiprocessor. A single-threaded process can only run on one CPU, no matter how many are available. Multithreading on a multi-cpu machine increases concurrency.

OPERATING SYSTEM SERVICES OR FUNCTION OF OPERATING SYSTEM The operating system provides an environment for the execution of programs. The operating system provides services to programs to the users of those programs.the operating system services are provided for the convenience of the programmer.

FOR USER: Operating system provides services to the user program and system. 1) User Interface: it provides interface to user so user can perform some action. It provides three types of interfaces, Command line Interface (CLI), in which user can type command and methods for executing them. Batch interface, in which commands and directives to control those commands are entered into files,and those files are executed. Graphical User Interface (GUI),in which interface is a window system with pointing device to direct I/O,chooses from menus, keyboard to enter text.

2) Program execution: The system must be able to load a program into memory and run it. The program must be able to end its execution either normally or abnormally (indicating error). 3) I/O operations: A running program may require I/O involves a file or an I/O device. For specific devices, special functions may be desired. For efficiency protection, users usually cannot control I/O devices directly. The operating system provides a means to do I/O. 4) File-system manipulation: The programs need to read and write files and programs must also create and delete files. The operating system maintains the file system.

5) Communications: In many conditions the process needs to exchange information with another process. Such communications can occur in two ways: The fist takes place between processes that are executing on the same computer. The second takes place between processes that are executing on different computer systems that are tied together by a network. Communications may be implemented via shared memory or via message passing, in which the information is moved between processes by operating system.

6. Error Detection: The operating system constantly needs to be aware of possible errors. Errors may occur in the CPU and memory hardware, in I/O devices and in user programs. For each type of errors, the operating system should take the proper action to ensure correct and consistent computing.

FOR SYSTEM Operating a system function that exists not for helping the user, but rather ensuring the efficient operation of the system. 7) Resource allocation: Operating system manages many resources like CPU cycles, main memory, and file storage. Resources are allocated to multiple users. Some resources have special allocation code, whereas others may have general request and release code. For eg. In determining how best to use the CPU, the operating system have CPU- scheduling routines that takes account the speed of the CPU,the jobs that must be executed, the number of registers.

8) Accounting: The tracking of which user use how many and which kind of computer resources can be used for billing or simply accumulating usage statistics. Usage statistics may be a valuable tool for researchers who wish to reconfigure the system to improve computing services. 9)Protection: Protection involves ensuring that all access to system resources is controlled.

THE USER VIEW AND OPERATING VIEW Operating system can be explored from two view points: the user view and system view. User View The user view of the computer varies by the interface being used. It is top down view Primary goal :user convenience

1. Single user system Pc consisting of monitor, keyboard, mouse, and system unit are designed to be used by single person.(system that is used by single person is a single user system). In the case, the operating system is designed mostly for case of use, with some attention paid on performance, and none paid to resource utilization. Performance is important to the user, but it does not matter if the most of the system is sitting idle, waiting for the slow I/O speed of the user.

2) User connected to Mainframe or Minicomputer Many user are connected to mainframe or minicomputer through terminal to access to share the resources and exchange information. From that user s point of view, the operating system is designed to maximize resource utilization. 3) User on Workstations User at workstation, connected to networks of other workstations and servers have dedicated resources at their disposal, but they also share the resource such as networking and server file, compute and print servers. The operating system is designed to compromise between individual usability and resource utilization.

5)Handheld computers These devices are mostly standalone, used singly by individual users. Some are connected to network, either directly by wire or through wireless modems. Due to power and interface limitations they perform relatively few remote operations. The operating system are designed mostly for individual usability (but performance per amount of battery life is important. 6) Embedded Computers Some computers have little or no user view for eg embedded computers.

System view It is bottom up view. From computer s view the operating system is the program that is most intimate with hardware. The operating system is a resource allocator. The operating system acts as manager of resources hardware and software required solve a problem. A control program manages the execution of user programs to prevent errors and improper use of the computer. It is especially concerned with the control of I/O devices.

The fundamental goal of operating system to execute user programs and to make solving user problems easier. When number of users conflicting request for resources then OS decides how to allocate them to specific program and users so that computer can work efficiently and fairly.

CASE STUDY Linux Linux Operating System has primarily three components Kernel Kernel is the core part of Linux. It is responsible for all major activities of this operating system. It consists of various modules and it interacts directly with the underlying hardware. Kernel provides the required abstraction to hide low level hardware details to system or application programs.

System Library System libraries are special functions or programs using which application programs or system utilities accesses Kernel's features. These libraries implement most of the functionalities of the operating system and do not requires kernel module's code access rights. System Utility System Utility programs are responsible to do specialized, individual level tasks.

Windows 7 Objectives: learn about main features in each Windows 7 edition and what are minimum hardware requirements Prerequisites: no prerequisites. Key terms: windows 7 editions, starter, home basic, home premium, professional, enterprise, ultimate, hardware requirements, processor architecture.

There are six different Windows 7 editions: Starter Home Basic Home Premium Professional Enterprise Ultimate