Operating systems - Study Notes (1).pdf
Document Details
Uploaded by Deleted User
2020
Tags
Full Transcript
Operating Systems Updated as of SEP 2020 COMPUTER Copyright © 2014-2020 TestBook Edu Solutions Pvt. Ltd.: All rights reserved Download Testbook App Oper...
Operating Systems Updated as of SEP 2020 COMPUTER Copyright © 2014-2020 TestBook Edu Solutions Pvt. Ltd.: All rights reserved Download Testbook App Operating Systems A computer system has various resources (hardware and software), which may be needed to complete a task. The most commonly needed resources are memory, file storage space, input/output devices, CPU etc. The operating system works as a manager of the above resources and allocates them to particular programs and users, whenever required to perform a specific task. That is why operating system is the resource manager i.e. it can handles the re- source of a computer system from inside. The resources can be processor, memory, files, and I/O devices. In easy words, an operating system acts as an interface be- tween the machine and the user. Types of Views of Operating System 1. User's View 2. System View COMPUTER | Operating System PAGE 2 Download Testbook App Operating System: User View The user view of the computer defines the interface being used. Such systems are implemented for one user to monopolize its resources, to improve the work that the user is handling. In such cases, the operating system is setup mostly for ease of use, with some attention paid to efficiency, and none to the resource utilization. Operating System: System View Operating system can be taken as a resource allocator also. A computer system contains many resources such as - hardware and software - that must be managed effectively. The operating system works as the manager of such resources, decides between conflicting requests, manages execution of programs etc. Operating System: Management Task 1. Processor management which include putting the tasks into sequence and pairing them to manageable size prior they go to the CPU. 2. Memory management which manages data to and from RAM (random-access memory) and estimates the necessity for virtual memory. 3. Device management which provides interface among linked devices. 4. Storage management which manages permanent data storage. 5. Application which permits standard communication between software and computer. 6. User interface which enables user to communicate with his/her computer. Functions of Operating System 1. It starts the computer 2. It conducts basic computer jobs e.g. managing the different peripheral devices e.g. mouse, keyboard 3. It facilitates a user interface, e.g. command line, graphical user interface (GUI) 4. It controls system resources like computer's memory and utilization of the central processing unit (CPU) time by multiple applications or peripheral devices. 5. It facilitates file management which means the way that the operating system manipulates, stores, retrieves and stores data. 6. Error Handling is managed by the operating system. It takes avoidable measures whenever needed to avoid errors. COMPUTER | Operating System PAGE 3 Download Testbook App Evolution of Operating Systems The evolution of operating systems is mainly dependent on the improvements of computer systems and how users utilize them. Here is a brief walkthrough of computing systems through the past fifty years in the timeline: Early Evolution 1945: ENIAC, Moore School of Engineering, University of Pennsylvania. 1949: EDSAC and EDVAC 1949: BINAC - a updated version to the ENIAC 1951: UNIVAC by Remington 1952: IBM 701 1956: The interrupt 1954-1957: FORTRAN was developed Operating System - Late 1950s By the late 1950s Operating systems were well enhanced and started supporting given usages: 1. It was able to conduct Single stream batch processing. 2. It was able to use Common, standardized, input/output routines for device access. 3. Program transition abilities to minimize the overhead of invoking a new job was added. 4. Error recovery to clean up post abnormal job termination was added. 5. Job control languages that enabled users to specify the job definition and resource needs were made possible. COMPUTER | Operating System PAGE 4 Download Testbook App Operating System - Late 1960s 1961: The dawn of minicomputers 1962: Compatible Time-Sharing System (CTSS) from MIT 1963: Burroughs Master Control Program (MCP) introduced for B5000 machine 1964: IBM System/360 1960s: Disks became mainstream 1966: Minicomputers got cheaper, more powerful, and really useful. 1967-1968: Mouse was invented. 1964 and onward: Multics 1969: The UNIX Time-Sharing System introduced by Bell Telephone Laboratories. Supported OS Features by 1970s Multi User and Multi-tasking was established. Dynamic address translation device and Virtual machines came into existence. Modular architectures came into picture. Personal, interactive systems came into picture. Accomplishment After 1970 1971: Intel introduced the microprocessor 1972: IBM comes out with VM: the Virtual Machine Operating System 1973: UNIX 4th Edition is published 1973: Ethernet 1974 The Personal Computer Age begins 1974: Gates and Allen wrote BASIC for the Altair 1976: Apple II August 12, 1981: IBM introduces the IBM PC 1983 Microsoft begins work on MS-Windows 1984 Apple Macintosh comes out COMPUTER | Operating System PAGE 5 Download Testbook App 1990 Microsoft Windows 3.0 comes out 1991 GNU/Linux 1992 The first Windows virus comes out 1993 Windows NT 2007: iOS 2008: Android OS And as the research and development work is carried on, we are introduced with new operating systems and existing ones getting improved and modified to improve the overall user experience, enabling operating systems speedy and efficient like never before. In addition to the onset of new devices like wearable, which groups Smart Watches, Smart Glasses, VR gears etc., the demand for non-traditional operating systems is also increasing. Types of Operating Systems Given below are some of the most commonly used types of Operating system. 1. Simple Batch System 2. Multiprogramming Batch System 3. Multiprocessor System 4. Desktop System 5. Distributed Operating System 6. Clustered System 7. Real-time Operating System 8. Handheld System Simple Batch Systems In this type of system, there is no active interaction between user and the computer. The user has to supply a job (written on cards or tape) to a computer operator. Then computer operator puts a batch of multiple jobs on an input device. Jobs are grouped together in a batch by type of languages and need. COMPUTER | Operating System PAGE 6 Download Testbook App Then a unique program, the monitor, controls the execution of every program in the batch. The monitor is all the time in the main memory and up for execution. Advantages of Simple Batch System 1. Interaction is not there between user and computer. 2. None mechanism needed to prioritise the processes. Multiprogramming Batch Systems i. In type the OS receives and starts executing one of the jobs from memory. ii. Once this job requires an I/O OS system transfers control to another job (CPU and OS always busy). iii. Jobs residing in the memory are all the time less than the total jobs on disk (Job Pool). iv. If multiple jobs are ready to execute at the same time, then the system selects which one to run through the means of CPU Scheduling. v. In Non-multi programmed environment, there are moments when CPU stays idle and does not perform any task. vi. In Multiprogramming environment, CPU will never stay idle and keeps working. Time Sharing Systems works exactly the same to Multiprogramming batch systems. In fact time sharing systems are an advancements of multiprogramming systems. In case of Time sharing systems, the main focus is on reducing the response time, while in multiprogramming the main focus is to enhance the CPU usage. COMPUTER | Operating System PAGE 7 Download Testbook App Multiprocessor Systems A Multiprocessor system contains multiple processors that share a same physical memory. Multiprocessor system facilitates higher computing efficiency and speed. In multiprocessor system all processors works under individual operating system. Expansion of number of the processors and how they do act together are transparent to the others. Advantages of Simple Batch System i. Enhanced performance ii. Execution of multiple tasks by various processors concurrently, improves the system's throughput without speeding up the execution of any task. iii. If possible, system segregates task into many subtasks and then these subtasks can be processed in parallel through different processors. Thereby enhancing the execution of individual tasks. Desktop Systems In past, CPUs and PCs didn’t had the features required to protect an OS from user programs. PC OS that is why were neither multiuser nor multitasking. However, the primary motive of these OS have changed with time; instead of increasing CPU and peripheral utilization, the systems work for improving user convenience and responsiveness. These systems are named Desktop Systems and examples are the PCs running Microsoft Windows and the Apple Macintosh. Operating systems for such computers have benefited in multiple ways from the advancements of operating systems for mainframes. Microcomputers in no time were able to adopt few of the technology created for larger OS. On the other hand, the hardware expanses for microcomputers are sufficiently reduced that individuals have personal use of the computer, and CPU utilization is no longer a major concern. Thus, some of the structure decisions decided in OS for mainframes may not be worth for smaller systems. COMPUTER | Operating System PAGE 8 Download Testbook App Distributed Operating Systems The motivation in development of distributed OS is the availability of powerful and low cost microprocessors and improvements in communication technology. These improvements in technology have made it possible to build and develop distributed systems consisting of multiple computers that are linked by communication networks. The main feature of distributed operating systems is its low price/performance ratio. Advantages Distributed Operating System As there are many devices involved, user at one site can use the resources of systems at other sites for resource-intensive works. Faster processing. Reduced load on the Host Machine. Types of Distributed Operating Systems Given below are the two types of distributed operating systems used: 1. Client-Server Systems 2. Peer-to-Peer Systems Client-Server Systems Centralized systems today works as server systems to fulfil requests created by client systems. The general structure of a client-server system is depicted in the following figure: COMPUTER | Operating System PAGE 9 Download Testbook App Server Systems can be broadly classified as: Compute Servers and File Servers. 1. Compute Server systems, facilitates an interface to which users can send requests to perform an action, in acknowledgement to which they execute the action and transmits back results to the client. 2. File Server systems, facilitates a file-system interface in which users can create, update, read, and delete files. Peer to Peer Systems The advancements of computer networks, specifically the Internet and World Wide Web (WWW), has had a profound influence on the current development of OS. When PCs were created in the 1970s, they were designed for the purpose of personal use and were normally taken as standalone computers. With the starting of widespread public usage of the Internet in the 1990s for electronic mail and FTP, most PCs got connected to computer networks. In broader view to the Tightly Coupled systems, the computer networks utilized in these applications contains a group of processors that do not share memory or a clock. Instead, every processor has its personal local memory. The processors transmit with one another through multiple communication lines, like high-speed buses or telephone lines. These systems are generally referred to as loosely connected systems (or distributed systems). The basic structure of a client-server system is depicted in the given figure: Clustered Systems Similar to parallel systems, clustered systems combines together various CPUs to accomplish computational work. Clustered systems are different from parallel systems, however, in that they are made up of two or more individual systems grouped together. COMPUTER | Operating System PAGE 10 Download Testbook App The definition of the term clustered is not predefined; the commonly accepted definition is that clustered machines share storage and are closely connected through LAN networking. Clustering is generally performed to facilitate high availability. A layer of cluster software works on the cluster nodes. Every node may monitor one or more of the others. If the monitored machine crashes, the monitoring system can take ownership of its storage, and reboot the application(s) that were working on the failed machine. The failed machine can remain shut, but the users and clients of the application can only see a brief interruption of service. Asymmetric Clustering - In this, one system stays in hot standby mode while the other is processing the applications. The hot standby host (machine) performs no task but monitor the active server. If that server crashes, the hot standby host started working as the active server. Symmetric Clustering - In this, multiple hosts are processing applications, and they are monitoring each other. This mode is in fact more efficient, as it utilizes all of the available hardware. Parallel Clustering - Parallel clusters permits different hosts to access the same data on the shared storage. Because most OS lack support for this simultaneous data access by multiple hosts, parallel clusters are normally accomplished by specific versions of programs and special releases of applications. Clustered technology is changing very fast. Clustered system's working and its features must expand extensively as Storage Area Networks (SANs). SANs allow simple attachment of various hosts to various storage units. Current clusters are normally restricted to two or four hosts due to the complexity of linking the hosts to shared storage. Real Time Operating Systems It is described as an operating system known to provide maximum time for every critical operations that it performs, like OS calls and interrupt handling. The Real-Time Operating system which assures the maximum time for critical tasks and accomplish them on time are known as Hard Real-Time Operating Systems. While the real-time operating systems that may only guarantee larger amount of time, i.e. the critical task will have priority over all tasks, but no guarantee of completing it in a given time. These systems are known as Soft Real-Time Operating Systems. COMPUTER | Operating System PAGE 11 Download Testbook App Handheld Systems Handheld systems involves Personal Digital Assistants (PDAs), such as Palm-Pilots or smartphones with connectivity to the Internet. They are usually of smaller size due to which most handheld devices have a smaller memory, possess slow processors, and feature small display. Many handheld devices have low memory. As a result, the OS and applications must accommodate memory effectively. This includes returning all provided memory back to the memory manager when the memory is no longer being used. Usually, many handheld devices do not use virtual memory techniques, thus restricting program developers to work within the limitations of less physical memory. Processors for many handheld devices usually works at a fractions of the speed of a processor in a PC. Faster processors need more electricity. To implement a faster processor in a handheld device would need a larger battery that would have to be recharged more frequently and becomes bulky. One more issue confronting program designers for handheld devices is the limited sized display screens normally available. One approach for adjusting the content in web pages is web clipping, where only a small subset of a web page is transferred and displayed on the handheld device. Most handheld devices possess wireless technology such as Bluetooth and Wi-Fi, enabling remote access to e-mail and web browsing. Smartphones with connectivity to the Internet comes into this category. Their use is gradually expanding as network connections are becoming more common and other options just like cameras and MP3 players, expand their utility. COMPUTER | Operating System PAGE 12