OS1
UNIT 1Overview of OS Q1) What is operating system and explain its features?A1)An Operating system (OS) is a software which acts as an interface between the end user and computer hardware. Every computer must have at least one OS to run other programs. An application like Chrome, MS Word, Games, etc. needs some environment in which it will run and perform its task. The OS helps you to communicate with the computer without knowing how to speak the computer's language. It is not possible for the user to use any computer or mobile device without having an operating system.
Introduction Operating SystemHistory of OSOperating systems were first developed in the late 1950s to manage tape storage The General Motors Research Lab implemented the first OS in the early 1950s for their IBM 701 In the mid-1960s, operating systems started to use disks In the late 1960s, the first version of the Unix OS was developed The first OS built by Microsoft was DOS. It was built in 1981 by purchasing the 86-DOS software from a Seattle company The present-day popular OS Windows first came to existence in 1985 when a GUI was created and paired with MS-DOS. Features of Operating SystemHere is a list commonly found important features of an Operating System: Protected and supervisor mode Allows disk access and file systems Device drivers Networking Security Program Execution Memory management Virtual Memory Multitasking Handling I/O operations Manipulation of the file system Error Detection and handling Resource allocation Information and Resource Protection
Q2) What is a Kernel in operating system explain?A2) The kernel is the central component of a computer operating systems. The only job performed by the kernel is to the manage the communication between the software and the hardware. A Kernel is at the nucleus of a computer. It makes the communication between the hardware and software possible. While the Kernel is the innermost part of an operating system, a shell is the outermost one.
Features of KennelLow-level scheduling of processes Inter-process communication Process synchronization Context switching Types of KernelsThere are many types of kernels that exists, but among them, the two most popular kernels are: 1. Monolithic A monolithic kernel is a single code or block of the program. It provides all the required services offered by the operating system. It is a simplistic design which creates a distinct communication layer between the hardware and software. 2. Microkernels Microkernel manages all system resources. In this type of kernel, services are implemented in different address space. The user services are stored in user address space, and kernel services are stored under kernel address space. So, it helps to reduce the size of both the kernel and operating system. Q3) What are the Functions of an Operating System?A3)
Function of an Operating SystemIn an operating system software performs each of the function: Process management: - Process management helps OS to create and delete processes. It also provides mechanisms for synchronization and communication among processes. 2. Memory management: - Memory management module performs the task of allocation and de-allocation of memory space to programs in need of this resources.3. File management: - It manages all the file-related activities such as organization storage, retrieval, naming, sharing, and protection of files.4. Device Management: Device management keeps tracks of all devices. This module also responsible for this task is known as the I/O controller. It also performs the task of allocation and de-allocation of the devices.5. I/O System Management: One of the main objects of any OS is to hide the peculiarities of that hardware devices from the user.6. Secondary-Storage Management: Systems have several levels of storage which includes primary storage, secondary storage, and cache storage. Instructions and data must be stored in primary storage or cache so that a running program can reference it. 7. Security: - Security module protects the data and information of a computer system against malware threat and authorized access.8. Command interpretation: This module is interpreting commands given by the and acting system resources to process that commands.9. Networking: A distributed system is a group of processors which do not share memory, hardware devices, or a clock. The processors communicate with one another through the network. 10. Job accounting: Keeping track of time & resource used by various job and users.11. Communication management: Coordination and assignment of compilers, interpreters, and another software resource of the various users of the computer systems. Q4) What are the different types of an operating system?A4)Types of Operating systemBatch Operating System Multitasking/Time Sharing OS Multiprocessing OS Real Time OS Distributed OS Network OS Mobile OS Batch Operating SystemSome computer processes are very lengthy and time-consuming. To speed the same process, a job with a similar type of needs are batched together and run as a group. The user of a batch operating system never directly interacts with the computer. In this type of OS, every user prepares his or her job on an offline device like a punch card and submit it to the computer operator. Multi-Tasking/Time-sharing Operating systemsTime-sharing operating system enables people located at a different terminal(shell) to use a single computer system at the same time. The processor time (CPU) which is shared among multiple users is termed as time sharing. Real time OSA real time operating system time interval to process and respond to inputs is very small. Examples: Military Software Systems, Space Software Systems. Distributed Operating SystemDistributed systems use many processors located in different machines to provide very fast computation to its users. Network Operating SystemNetwork Operating System runs on a server. It provides the capability to serve to manage data, user, groups, security, application, and other networking functions. Mobile OSMobile operating systems are those OS which is especially that are designed to power smartphones, tablets, and wearables devices. Some most famous mobile operating systems are Android and iOS, but others include BlackBerry, Web, and watchOS. Q5) What are the advantages and disadvantages of operating system?A5) The advantage of using Operating System Allows you to hide details of hardware by creating an abstraction Easy to use with a GUI Offers an environment in which a user may execute programs/applications The operating system must make sure that the computer system convenient to use Operating System acts as an intermediary among applications and the hardware components It provides the computer system resources with easy to use format Acts as an intermediator between all hardware's and software's of the system Disadvantages of using Operating SystemIf any issue occurs in OS, you may lose all the contents which have been stored in your system Operating system's software is quite expensive for small size organization which adds burden on them. Example Windows It is never entirely secure as a threat can occur at any time SummaryAn operating system is a software which acts as an interface between the end user and computer hardware Operating systems were first developed in the late 1950s to manage tape storage The kernel is the central component of a computer operating systems. The only job performed by the kernel is to the manage the communication between the software and the hardware Two most popular kernels are Monolithic and MicroKernels Process, Device, File, I/O, Secondary-Storage, Memory management are various functions of an Operating System Batch, Multitasking/Time Sharing, Multiprocessing, Real Time, Distributed, Network, Mobile are various types of Operating Systems Q6) Explain Simple Batch System of an operating system.A6)In batch operating system,Firstly, user prepares his job using punch cards. Then, he submits the job to the computer operator. Operator collects the jobs from different users and sort the jobs into batches with similar needs. Then, operator submits the batches to the processor one by one. All the jobs of one batch are executed together.
Advantages-It saves the time that was being wasted earlier for each individual process in context switching from one environment to another environment. No manual intervention is needed. Disadvantages- Point-01:
In batch operating system,All the jobs of a batch are executed sequentially one after the other. The output is obtained only after all the jobs are executed. Thus, priority cannot be implemented if a certain job has to be executed on an urgent basis. Point-02:
In batch operating system,The jobs of a particular batch might take long time for their execution. This might lead to starvation to other jobs in other batches. Point-03:
In batch operating system,If the jobs of a batch require some I/O operation, then CPU must wait till the I/O operation gets completed. Since I/O devices are very slow, CPU remains idle for a long time. CPU cannot take any other job and execute it. Point-04
In batch operating system,Once a batch is submitted for execution, the user is not able to interact with any of his jobs. If a job requires the user to input data during run time, then user must wait till the other jobs of the batch get executed. This also increases the overall execution time. Q7) Explain Multi programmed Batch System of an operating system.A7)This sort of OS is utilized to execute more than one job at the same time by a single processor. It builds CPU by sorting out jobs with the goal that the CPU consistently has one job to execute. The idea of multiprogramming is depicted as pursues: Every one of the job that enter the system are kept in the job pool( in a disk). The operating system stacks a lot of jobs from job pool into main memory and starts to execute. During execution, the job may need to wait for some task, for example, an I/O operation, to finish. In a multiprogramming system, the operating system basically changes to another activity and executes. At the point when that job needs to wait, the CPU is changed to another job, etc. At the point when the first job completes the process of waiting and it recovers the CPU. For whatever length of time that in any event one job needs to execute, the CPU is never idle. Multiprogramming operating systems utilize the component of job scheduling and CPU scheduling. Q8) Explain Time Sharing System of an operating system.A8) Time-sharing systems are not accessible in 1960s. Time-sharing or performing multiple tasks is a legitimate expansion of multiprogramming. That is processors time is shared among numerous users at the same time is called time-sharing. The primary contrast between Multi-programmed Batch Systems and Time-Sharing Systems is, in Multi-programmed batch systems its goal is expand processor use, while in Time-Sharing Systems its goal is minimize response time. Numerous jobs are executed by the CPU by switching between them, however the switches happen in such a less time, so that the user can gets a prompt response. For instance, in a transaction processing, processor execute every user program in a short burst or quantum of calculation. That is if n users are available, every user can get time quantum. At the point when the user presents the instruction, the response time is seconds all things considered. Operating system utilizes CPU scheduling and multiprogramming to give every user a little part of a time. Computer systems that were structured essentially as batch systems have been altered to time-sharing systems. For instance, IBM's OS/360.
Priority cannot be set for the jobs. |
Batch operating system may lead to starvation. |
CPU may remain idle for a long time. |
There is a lack of interaction between a user and his job. |
Time-Sharing Operating SystemAs the name itself recommends, in a time-sharing system or performing various tasks system, different jobs can be executed on a system simultaneously by sharing the CPU time among them. It is viewed as a logical expansion of multiprogramming on the grounds that the two does synchronous execution yet vary in their prime aims. The fundamental goal of time-sharing systems is to limit reaction time yet not boosting the processor use (which is the target of multiprogramming systems). The time sharing systems were created to give an intuitive utilization of the computer system. A time shared system utilizes CPU planning and multiprogramming to give every user a little segment of a period shared computer. It enables numerous users to share the computer resources all the while. As the system switches quickly from one user to the next, a brief timeframe opening is given to every user for their executions. The time sharing operating system guarantees that every one of the assignments get the chance to get to the CPU individually and for a fixed little interval of time. This interval is known as the time quantum. Eg: Unix Systems Advantages of Time-Sharing OS: Each user gets an equivalent chance Less chances of duplication of programming CPU inert time can be diminished Disadvantages of Time-Sharing OS: Unwavering quality issue One must need to deal with security and respectability of user programs and information. Information correspondence issue
Time-Sharing Operating System Q9) Explain Personal Computer System of an operating system in detail.A9)A personal computer is a general-purpose computer whose size, capabilities and original sale price make it useful for individuals, and is intended to be operated directly by an end-user with no intervening computer operator. This contrasts with the batch processing or time-sharing models that allowed larger, more expensive minicomputer and mainframe systems to be used by many people, usually at the same time. A related term is “PC” that was initially an acronym for “personal computer,” but later became used primarily to refer to the ubiquitous Wintel platform.Software applications for most personal computers include, but are not limited to, word processing, spreadsheets, databases, web browsers and e-mail clients, digital media playback, games and myriad personal productivity and special-purpose software applications. Modern personal computers often have connections to the Internet, allowing access to the World Wide Web and a wide range of other resources. Personal computers may be connected to a local area network (LAN), either by a cable or a wireless connection. A personal computer may be a desktop computer or a laptop, netbook, tablet or a handheld PC.Early computer owners usually had to write their own programs to do anything useful with the machines, which even did not include an operating system. The very earliest microcomputers, equipped with a front panel, required hand-loading of a bootstrap program to load programs from external storage (paper tape, cassettes, or eventually diskettes). Before very long, automatic booting from permanent read-only memory became universal. Today’s users have access to a wide range of commercial software, freeware and free and open-source software, which are provided in ready-to-run or ready-to-compile form. Software for personal computers, such as applications and video games, are typically developed and distributed independently from the hardware or OS manufacturers, whereas software for many mobile phones and other portable systems is approved and distributed through a centralized online store.Since the early 1990s, Microsoft operating systems and Intel hardware have dominated much of the personal computer market, first with MS-DOS and then with Windows. Popular alternatives to Microsoft’s Windows operating systems include Apple’s OS X and free open-source Unix-like operating systems such as Linux and BSD. AMD provides the major alternative to Intel’s processors.Computer systems consist of three components as shown in below image: Central Processing Unit, Input devices and Output devices. Input devices provide data input to processor, which processes data and generates useful information that’s displayed to the user through output devices. This is stored in computer’s memory.
Central Processing UnitThe Central Processing Unit (CPU) is called "the brain of computer" as it controls operation of all parts of computer. It consists of two components: Arithmetic Logic Unit (ALU), and Control Unit.
Arithmetic Logic Unit (ALU)Data entered into computer is sent to RAM, from where it is then sent to ALU, where rest of data processing takes place. All types of processing, such as comparisons, decision-making and processing of non-numeric information takes place here and once again data is moved to RAM.Control UnitAs name indicates, this part of CPU extracts instructions, performs execution, maintains and directs operations of entire system.Functions of Control UnitControl unit performs following functions −It controls all activities of computer Supervises flow of data within CPU Directs flow of data within CPU Transfers data to Arithmetic and Logic Unit Transfers results to memory Fetches results from memory to output devices Memory UnitThis is unit in which data and instructions given to computer as well as results given by computer are stored. Unit of memory is "Byte".1 Byte = 8 Bits Q10) What is Parallel System of an operating system?A10)Parallel Processing Systems are intended to accelerate the execution of programs by isolating the program into numerous pieces and processing those fragments simultaneously. Such systems are multiprocessor systems called as tightly coupled systems. Parallel systems manage the synchronous utilization of numerous computer resources that can incorporate a single computer with various processors, various computers associated by a network to frame a parallel processing cluster or a blend of both. Parallel systems are more hard to program than computers with a single processor in light of the fact that the engineering of parallel computers fluctuates appropriately and the procedures of numerous CPUs must be composed and synchronized. A few models for interfacing processors and memory modules exist, and every topology requires an alternate programming model. The three models that are most regularly utilized in structuring parallel computers incorporate synchronous processors each with its very own memory, asnchronous processors each with its own memory and asynchronous processors with a typical, shared memory. Parallel operating systems are essentially worried about dealing with the resources of parallel machines. This task faces numerous difficulties: application software engineers request all the performance possible, numerous equipment configurations exist and change all around quickly, yet the operating system should progressively be good with the standard adaptations utilized in computers. Today, new applications emerge and request faster computers. Business applications are the most utilized on parallel computers. A computer that runs such an application; ought to have the option to process enormous amount of data in modern ways. These applications incorporate designs, virtual reality, and decision support, parallel databases, medical diagnosis, etc. We can say with almost certainly that business applications will characterize future parallel computers design however scientific applications will stay significant users of parallel processing innovation.
0 matching results found