Chapter 2 SOFTWARE CONCEPTS

Similar documents
Chapter 2 WORKING WITH OPERATING SYSTEM

Chapter 8 Operating Systems and Utility Programs

Chapter 8 Operating Systems and Utility Programs أ.أمل زهران

Discovering Computers Fundamentals, 2011 Edition. Living in a Digital World

Discovering Computers Living in a Digital World

Operating Systems. Instructor: Dmitri A. Gusev. Spring Lecture 16, April 17, CSC : Introduction to Computer Science

OPERATING SYSTEMS & UTILITY PROGRAMS

Definition. A series of detailed instructions that control the operation of a computer system. are developed by computer programmers

Computer Software. Lect 4: System Software

Computing Fundamentals and Programming (CE-100) Batch 2019 (Electronic Engineering) Chapter 6: System Software

OPERATING SYSTEM. Functions of Operating System:

Computer Software A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and

Systems software. Definition. Categories of software. Examples Of Systems Software 11/23/2018

Computers: Tools for an Information Age. System Software

MIT 11043, PC APPLICATIONS

1- Which of the following tasks is the operating system NOT responsible for? d) Coordinates communication between software applications and the CPU

Software Concepts & Productivity Tools

Chapter 14 Operating Systems

Chapter 14 Operating Systems

Introduction to Operating System

I. Ch 5 System Software

3.1 (a) The Main Features of Operating Systems

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

Software Concepts. It is a translator that converts high level language to machine level language.

Describe the functions of an operating system. Briefly describe various server operating systems. Explain the purpose of several utility programs

Operating System Study Material

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems

Types and Functions of Win Operating Systems

Razi University Eduvational Use. Computer. Fundamentals & Programming. Software. Computer Fundamentals & Programming. Dr.

MARUTHI SCHOOL OF BANKING (MSB)

CHAPTER 2: PROCESS MANAGEMENT

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

Technology in Action Complete, 13e (Evans et al.) Chapter 5 System Software: The Operating System, Utility Programs, and File Management

B. V. Patel Institute of Business Management, Computer &Information Technology, UTU

PESIT SOUTHCAMPUS. Question Bank

FORTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLIGY- OCTOBER, 2012

Scheduling of processes

CPU Scheduling: Objectives

This tutorial is designed for anyone who wants to understand the basic concepts of what a computer is and how it functions.

CS370 Operating Systems

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Memory Management. 3. What two registers can be used to provide a simple form of memory protection? Base register Limit Register

CS418 Operating Systems

UNIT 4 Device Management

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM:

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

Operating System Concepts Rab Nawaz Khan Jadoon

For The following Exercises, mark the answers True and False

COSC243 Part 2: Operating Systems

CPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013)

CS370 Operating Systems

Introduction to Operating Systems

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter

Scheduling. The Basics

CPU Scheduling. Rab Nawaz Jadoon. Assistant Professor DCS. Pakistan. COMSATS, Lahore. Department of Computer Science

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

Computer Fundamentals : Pradeep K. Sinha& Priti Sinha

Copyright 2006 Prentice-Hall. All rights reserved. 1

Software and Licences. Lecture 3 COMPSCI111/111G S2 2017

Software and Licences

Review. Preview. Three Level Scheduler. Scheduler. Process behavior. Effective CPU Scheduler is essential. Process Scheduling

Computers Are Your Future

Contents. Today's Topic: Introduction to Operating Systems

Announcements. Program #1. Program #0. Reading. Is due at 9:00 AM on Thursday. Re-grade requests are due by Monday at 11:59:59 PM.

Uniprocessor Scheduling. Aim of Scheduling

Uniprocessor Scheduling. Aim of Scheduling. Types of Scheduling. Long-Term Scheduling. Chapter 9. Response time Throughput Processor efficiency

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling

Chapter 6: CPU Scheduling

Software and Licences. Lecture 3 COMPSCI111/111G

Unit 3 : Process Management

Technology In Action, Complete, 14e (Evans et al.) Chapter 5 System Software: The Operating System, Utility Programs, and File Management

Subject Teacher: Prof. Sheela Bankar

MC7204 OPERATING SYSTEMS

The Operating System

Common Preventive Maintenance Techniques for Operating Systems

CPU Scheduling Algorithms

LECTURE 3:CPU SCHEDULING

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

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

Introduction to Computers. Joslyn A. Smith

LECTURE SCHEDULE 2. Units of Memory, Hardware, Software and Classification of Computers

CPU scheduling. Alternating sequence of CPU and I/O bursts. P a g e 31

Introduction to Information Technology Turban, Rainer and Potter John Wiley & Sons, Inc. Copyright 2005

Introductory Visualizing Technology

Lecture 2 Process Management

AMSC/CMSC 662 Computer Organization and Programming for Scientific Computing Fall 2011 Operating Systems Dianne P. O Leary c 2011

Computer. Operating Systems Introduction to Operating System (OS)

Operating System - Overview

1.1 CPU I/O Burst Cycle

Operating Systems: The Genie in the Computer. Chapter 6: Operating Systems: The Genie in the Computer. What is an operating system?

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

Technology in Action. Chapter 5 System Software: The Operating System, Utility Programs, and File Management

Techno India Batanagar Department of Computer Science & Engineering. Model Questions. Multiple Choice Questions:

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Ninth Edition. Copyright 2013 Pearson Education, Inc. Publishing as Prentice Hall

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Scheduling


(MCQZ-CS604 Operating Systems)

Operating Systems. Scheduling

Operating System Review Part

Downloaded from various sources on the NET

Transcription:

Page1 Chapter 2 SOFTWARE CONCEPTS Software Software is a program or set of programs that govern the operation of a computer system and make the hardware run. These are the components of the computer system that cannot be seen and touched. Software can be classified broadly into two categories:- (i) System Software (ii) Application Software System Software The software that controls reading data from input devices, transmitting processed information to the output devices, checking system components, converting data/instructions to computer understandable form etc., is known as System Software. In short, System Software is specially designed software that controls the hardware and helps application software to run properly. System software is classified into following categories:- (i) Operating System is a program that acts an interface between a user and the hardware. Operating System contains instructions that coordinate the activities among computer hardware devices, thus it must be loaded from the hard disk into the main memory. This process of loading operating system in main memory is called Booting Up or Bootstrapping. The booting up is a step by step process as follows:- (a) Diagnostic tests that check for integrity of all components of a computer system. If any fault found, an error displayed. (b) A chip called ROM-BIOS (Read Only Memory Basic Input Output Services) is read and executed to check the presence of OS files on the hard disk.

Page2 (ii) (c) If OS files found then very first sector (called MBR Master Boot Record or Boot Sector) is read to look for active partition and loads secondary boot record from active partition. (d) This secondary boot record now loads and runs the bootloader program. Some popular bootloaders are:- NTLDR for old WINDOWS OSs like Windows NT, Windows XP, and Windows Server 2003. BOOTMGR for newer WINDOWS OSs like Windows Vista, Windows 7, Windows 8, Windows 8.1 etc. GRUB & GRUB2 for old and new LINUX versions. BOOTX for MAC OS. (e) Types of booting:- (f) Types of OSs Cold Booting takes place when we first turn on computer. Warm Booting takes place when we reset the computer by pressing Reset button. Single User OS that supports only one user at any point of time. This can be two subcategories of this OS type:- Single Task OS for example, Mobile OS, MS-DOS etc. Single User, Multitasking OS for example, Windows Vista, Windows 7/8 etc. Multiprogram OS supports multiuser, multiprogramming i.e., more than one user can be supported by it. The benefits of multiprogramming are as follows:- Increased CPU utilization Higher total job throughput (i.e., throughput is the amount of work accomplished in a given time interval. For example, Unix, Linux etc. Time Sharing OS uses tie sharing technique. Each active user program is given a fair share of CPU time (time quantum, time slice, time slot). If time slot elapses or I/O operation requested, CPU shifts over to the next job waiting. For example, BSD Unix, NOS/VE etc. In Real Time OS (RTOS), the jobs have fixed deadlines and the jobs have to be completed within their deadlines. For example, LynOS, OSE, RT Linux etc. Multiprocessing OS is capable of handling more than one processors as the jobs have to be executed on more than one processor by load sharing. For example, Unix, Linux, Windows NT etc. Distributed OS is designed to share its work load over multiple servers. For example, Unix, Linux etc. Interactive OS these provide GUI interface to facilitate easy interaction to the user. For example, Windows, Android OS etc. Language Processors are the software that can translate the source code into an object code or machine code. Here, Source Code refers to the program written by a programmer in HLL such as C, C++, Java etc. Object Code refers to a code in machine language or binary code that computer can understand easily.

Page3 There are three types of language processors: (a) Assembler converts the program written in Assembly Language into Machine Language. (b) Interpreter translates and executes instructions written in a computer program line-by-line. (c) Compiler translates and executes instructions written in a computer program in one go. (iii) Utility Software are those application programs that assist the computer by performing housekeeping functions like backing up disk or scanning/cleaning viruses or arranging information etc. Some commonly used utility software are: (a) Antivirus Software ensures virus-free work environment. It scans your disk for viruses and removes them. Some common virus types are:- Boot Viruses infect only the master boot records (MBR) of the Hard Disk. Program Viruses or File Viruses infect only executable files. Macro Viruses affects programs and document. This infection can only spread if infected documents are opened on another machine. Companion Virus attaches itself with existing files. When the infected files runs, the virus gets activated and can affect other program/files. Worms is a malicious program that keeps replicating and hence occupies all the storage of the computer. Trojan horse comes in useful program. Once runs they can cause data loss, system crash or infect other programs/disks. Malware is any online software used to disrupt or damage the computer working such as disrupt computer operations, gather sensitive information, gain access to private computer systems, or display unwanted advertising. Adware is malware designed to pop up advertisements. Spyware is written to monitor actions on a computer that can record every keystroke and mouse click you make. (b) File Management Tools (c) Compression Tools facilitates compression of files. For example, WinRAR, WinZIP etc.

Page4 (iv) (d) Disk Management Tools are used for efficiently managing data on disks so as to have increased performance. Common disk management tools are: Disk Cleanup Tool allows you to free your computer from temporary and unnecessary files. Disk Defragmenter attempts to minimize the splits unallocated memory in a single location. A file is fragmented when it becomes too large not possible to store in a single location on the disk then your computer splits the file up and stores it in pieces. Backup Utility facilitates the backing-up of disk. Back-up means duplicating the file/folders/drives so that in case any damage or dataloss, this backed up data may be used when needed. Device Drivers are programs or files that contain sets of instructions for the operating system as to work different hardware devices such as scanner, printer, modem, camera etc. Application Software These are the programs written to perform a specific task such as processing words, financial accounting, handling calculations and figures, inventory control, railway reservation, result preparation, billing etc. the various types of application software are:- (1) Office Tools are used in office for documentation and recording purposes. These software types are: (i) Word Processing Software or Package that processes textual matter and creates organized and flawless documents. For example, MS-Word, Wordpad, Wordstar etc. (ii) Electronic Spreadsheet is a program that accepts data in a tabular form and allows users to manipulate/calculate/analyze data in the desired manner. For example, MS-Excel, Lotus 1-2-3 etc. (iii) Database Management Systems (DBMS) is a package that extends your ability to organize collections of data stored in your computer and provides tools for listing subsets of the data that meet specified criteria. For example, (iv) MS-Access, SQL Server, Oracle etc. Graphics Application that manipulates images such as Adobe Photoshop. Multimedia Application that incorporates images, text, sound, computer animation and video sequences such as Adobe Director. Presentation Application that can create professional looking visual aids such as MS- PowerPoint. (2) Domain Specific Application Software is designed to a specific task or domain. Some are School Management Software, Railway Reservation Software, Hotel Management Software, Financial Accounting Software, Inventory Management Software, Payroll System, Weather Forecasting System etc. Free Software means no payments are needed to be made for free software. Free software is freely accessible and can be freely used, changed, improved, copied and distributed by all who wish to do so. Open Source Software (OSS) can be freely used but it does not have to be free of charge. This software receives payments for further development. The source code is freely available to the customer.

Page5 Proprietary Software is the software that is neither open nor freely available. All rights are reserved with the owner of the software. Freeware is available free of cost and which allows copying and further distribution, but not modification and whose source code is not available. For example, Microsoft Internet Explorer. Shareware is software, which is made available with the right to redistribute copies, but it is stipulated that if one intends to use the software, often a certain period of time, then a license fee should be paid. The source code is not available and modification to the software is not allowed. Operating System s Services (1) Program Execution (2) Handling Input/Output Operations (3) Manipulation of File System (4) Error Detection and Handling (5) Resource Allocation (6) Accounting (7) Information and Resource Protection Operating System s Functions The major OS functions are broadly classified into three categories:- (1) Processor Management means managing the process or processor i.e., CPU. It is also known as CPU Scheduling. CPU Scheduled to the job known as Job Scheduling. Job Scheduling not only assigns priority to jobs but also admits new jobs for processing at appropriate times. Program is a set of instructions and process is a program in execution. During execution, the process changes its states. The state of a process is defined by its current activity. A process can have these states: new, active, waiting or halted. New Active Halted Waiting Each process is represented in the OS by a data block called Process Control Block. A PCB contains following information:- (i) Process State are New, Active, Waiting and Halted (ii) Program Counter: It indicates the address of next instruction to be executed. (iii) CPU Register: Stores system related information. (iv) Memory limits (v) List of open files

Page6 Factors determine which scheduling technique have best possible results are as follows:- (a) CPU Utilization should be maximum. (b) Turnaround time should be minimum i.e., Turnaround time is the delay between job submission and job completion. (c) Waiting time should be minimum i.e., Waiting time is the delay for which job is in waiting state. (d) Response time should be fastest i.e., Response time is the time when CPU starts executing the job. (e) Throughput should be maximum i.e., Throughput is the amount of work accomplished in a given time interval. It is calculated as follows:- Throughput = There are two types of scheduling:- (i) Non-Preemptive scheduling: In this type of scheduling, a scheduled job always completes before another scheduling decision is made. Therefore, finishing order of the jobs is same as their starting order. The various nonpreemptive scheduling technique are:- (a) FCFS(First Come First Serve) Scheduling: This technique is managed by FIFO(First In First Out). The process which requests CPU first, is allocated first and last is allocated last. Batch processing is an example of this technique. Turnaround time of very first job is best but for the very last job, it is worst. (b) SJN(Shortest Job Next) Scheduling: In this technique, whenever a new job is to be admitted, the shortest of the arrived jobs is selected and given the CPU time. Throughput remains the same as in the FCFS but waiting time improves. SJN associates with each job the length of its next CPU burst. (CPU burst is the CPU time required by a job to execute its continuous executable part.) (c) Deadline Scheduling: In this technique, the job with the earliest deadline is selected for scheduling. Deadline of a job is the time limit within which a job must be over. If a job overshoots its deadline, it is said to be Deadline overrun. Deadline overrun is the difference between job completion time and deadline for a job. (ii) Preemptive scheduling: In this type of scheduling, a scheduling decision can be made even while the job is executing whereas in Non-Preemptive scheduling, a scheduling decision can be made only after job completes its execution. The various preemptive scheduling techniques are:- (a) Round Robin Scheduling: It is aimed at giving all programs equal opportunity to make progress. This is implemented by ensuring that no program gets a

Page7 second opportunity to execute unless all other programs have had atleast one opportunity. A small unit of time, called a time quantum or time slice. (b) Response Ration Scheduling: Response Ration is calculated as follows:- Response = The job with highest response ration is preferred over others. When short job arrives its response ration is high, so it is scheduled for execution immediately. (2) Storage Management is memory management for effective utilization of CPU. There are various approaches to memory management:- (i) (ii) Contiguous Storage Allocation In this classical approach, each problem, which is to be executed, is allocated a contiguous storage memory allocation. Non- Contiguous Storage Allocation In non-contiguous storage allocation, a program can be stored in noncontinuous storage allocation. A program divided into smaller components of equal sizes and stored them in different location. Non-contiguous storage allocation has two main approaches to virtual storage are:- 1. Virtual Storage using paging:- In this approach, each program is split into fixed size program components called pages and words in a page, both are numbered from 0, 1, 2,.., n i.e. their logical or virtual addresses. The range 0, 1, 2,, n of logical or virtual addresses is called virtual address space. The range of main storage addresses 0, 1, 2,, n is referred to as physical address space. In order to execute a program, some pages of it are loaded in the main memory depending upon storage availability. During its execution, the program generates page number which is mapped on to Page Map Table to find its physical location and then the page is accessed. When required page is not in the main memory a missing page fault/interrupt is raised. This fault/interrupt is popularly called a page fault. Now, the OS takes action to bring that page from the secondary memory, this operation is called page-in. If no virtual storage space is vacant then in this situation, a storage block is vacated by moving out a page from main storage to secondary memory, and this operation is called page-out. The process of bringing in the required page is known as demand paging. The reading and writing of pages determines page traffic. If page traffic is too much, this situation is called thrashing.

Page8 2. Virtual Storage using Segmentation:- This approach is same as paging is implemented. The point where it differs from paging is, use of program segments. A program segment is a logical unit of a program as defined by a programmer. A program segment is a piece of program logic which performs a specific task. For accessing a particular word in the segment, its logical address consists of two parts: (i) Segment Number (ii) word number This segment number is mapped on to segment table to get physical address of the segment and by adding the word s identification number, physical and actual address of the word is found out. In the same way of the paging, segments in the memory are processed and if a segment is not available in the memory, segment missing fault/interrupt is raised. This fault/interrupt is popularly called a segment fault. To increase the efficiency of a system sometimes paging and segmentation is combined. (3) INFORMATION MANAGEMENT:- Computer System stores information, processes information, provides information etc. thus managing this information is also an important and necessary task performed by an OS. To support this function, OSs has one component called information Management Component. This information management component of OS is structured as follows: (i) Physical IOCS (Input-Output Control System) is responsible for device, management and for ensuring device independence. It provides a basic capability for the programs to perform their own IO, without involving themselves with the intricacies of device handling. (ii) Logical IOCS is responsible for efficient organization and access of the data on IO devices. It provides basic capabilities for file definition, choice of data organization and access methods. (iii) File System is responsible for protection and controlled sharing of files.