* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Operating Software
Computer terminal wikipedia , lookup
Mobile operating system wikipedia , lookup
Spring (operating system) wikipedia , lookup
Copland (operating system) wikipedia , lookup
Process management (computing) wikipedia , lookup
Burroughs MCP wikipedia , lookup
Security-focused operating system wikipedia , lookup
Distributed operating system wikipedia , lookup
Student Notes Theory Operating Systems Further reading: G Taylor pg 150 - 152 System software consists of programs that control the operations of the computer and its devices. System software also serves as the interface between the user, the application software and hardware. System software includes the operating system, translators and utility programs. What is the Operating System? An operating system (OS) is a set of programs containing instructions that coordinate all the activities among hardware and software components of a computer system. It is like a shop keeper who keeps a shop in order by attending to customers, handling supplier deliveries, stocking the shelves, doing the bookkeeping, and so on. The operating system relies on device drivers to communicate with each device in the computer. The operating system also contains instructions to run application software. Application software Operating System User Hardware The operating system in relation to the rest of the computer system. Functions of an Operating System Functions of an operating system include: 1. Allowing a user to communicate with the computer. 2. Memory Management 3. Spooling Print Job 4. Configuring Devices 5. Monitoring System Performance 6. Administering Security 7. Managing Storage Media and Files 1. Allowing a user to communicate with the computer. The OS accepts commands from the user, performs the requested task, and report back to the user. The user might give instructions to the computer to start a program, copy a file, send a message to another user, and so on either by typing in commands recognised by the OS or by using a mouse to point and click in GUI. Page 1 of 4 K. Aquilina Student Notes Theory 2. The purpose of memory management is to optimize the use of RAM. The operating system has to allocate, or assign items to areas of memory, called buffers, while they are being processed; to monitor carefully the contents of these items in memory; and to clear these items from memory when they are no longer required by the CPU. Some operating systems use virtual memory to optimize RAM. With virtual memory (VM), the operating system allocates a portion of a storage medium, usually the hard disk, to function as additional RAM Buffer is an area of memory in which data is placed while waiting to be transferred to or from an input or output device. Remember: 3. With spooling, the print jobs are placed in a buffer instead of being sent immediately to the printer. As soon as the print job is placed in the buffer, the CPU is available to process the next instruction and the computer can be used for other tasks. Multiple print jobs are queued, or line up, in the buffer and the program that manages and intercepts print jobs and places them in the queue is called the print spooler. 4. In the past, installing a new device often required setting switches and other elements on the motherboard. Most of the operating systems today support Plug and Play and can configure devices automatically. 5. A performance monitor is a program that accesses and reports information about various system resources and devices. The information in such reports can help a user identify problems with resources. 6. Administering Security - Most multiuser operating systems require each user to log on. Both successful and unsuccessful log on attempts are often recorded in a file so the system administrator can review who is using or attempting to use the computer. Some operating systems also allow a user to assign passwords to files so that only authorized users can open the 7. Resource Management & Scheduling – in computer systems which are capable of running several programs at once (multiprogramming), the OS is responsible for allocating CPU time, memory and input-output resources to each one. While one program is executing, the OS is scheduling the use of input and output devices for other jobs. Not all jobs are performed in the order they are submitted; the OS schedules them in order to make the best possible use of the computer’s resources. Page 2 of 4 K. Aquilina Student Notes Theory To understand the capabilities of an operating system, it is important to understand some basic terms. The following terms are often used when comparing operating systems: • • • • Multi-user – Two or more users can work with programs and share peripheral devices, such as printers, at the same time. Multi-tasking – The computer is capable of operating multiple applications at the same time. Multi-processing – The computer can have two or more central processing units (CPUs) that programs share. Multi-threading – A program can be broken into smaller parts that can be loaded as needed by the operating system. Multi-threading allows individual programs to be multi-tasked. Almost all modern operating systems are multi-user and multi-tasking, and they support multi-processing and multi-threading. Types of Operating Systems Operating systems have been evolving continuously since the first computer generation. Most of the operating systems have been adapted to both the singleuser and multi-user computer systems. The names given to the different types of operating systems include: 1. 2. 3. 4. 5. Batch Processing Operating Systems On-Line Processing Operating Systems Time-Sharing Operating Systems Real-Time Operating Systems Networked Operating Systems 1. Batch Processing OS – a job runs from beginning to end without intervention from the user. In a typical environment, a number of jobs (job=program+data), called a batch, would be queued, then the computer will process the jobs one at a time without further human intervention. Batch processing is still used today when a job does not require human intervention, for example when printing thousands of mailing labels, payrolls, etc. 2. On-Line Processing OS - Various users can access the computer system from local or remote terminals. The operating system must identify the terminal and see if the user is authorised, load any programs required and log the user off at the end. 3. Time-Sharing OS - Allows many tasks to have apparently simultaneous use of one CPU. Each task is allowed a Time Slice - a brief period of time when access to the CPU is available. The concept behind time-sharing systems is the fact that the CPU is so fast in executing a single program, that most of the time it remains idle until the user gives the next command. To avoid such a waste of time, the operating system allows the CPU to process more than one job at a time. Time-sharing techniques can be used in both single-user systems and multi-user systems, but: Page 3 of 4 K. Aquilina Student Notes - - Theory In Multi-User systems, the focus is given on giving many users the chance to send one program to the CPU to be processed, a process also known as Multiprogramming (or multi-tasking) – apparently executing two or more programs at one time. In multi-user systems, the computer checks each terminal in turn by “polling” or “round robin” to see whether the user needs it. This happens so quickly, and CPU speeds are so fast, that the user thinks he has continuous use of the system. The response-time may be slowed, however, if the system is busy with many people’s work. The Single-User Time-Sharing systems, provides the opportunity for the user to perform many tasks simultaneously. 4. Real-Time OS - Is designed to process the data input so quickly to give immediate feedback to the activity currently taking place in real-life or real time. (respond to input instantly) This is a special type of multi-tasking system that is mostly used in conjunction with specialized multi-processor hardware equipment. In situations such as a fighter aircraft targeting systems and missile guidance systems, it is unacceptable to have a command waiting to be execute since any delay in processing could be fatal. 5. Network OS - an OS which must handle the communication between the networked computers, managing the data traffic, and the sharing of system’s resources. In the systems discussed previously, it has been assumed that a single, central computer (mainframe or minicomputer) handled all the processing. However, as technology advanced, computers became cheap enough for all users to have a microcomputer of their own, but stand-alone computers has the following disadvantages: - sharing data between different users becomes difficult - peripherals such as printers have to be bought for each microcomputer, and usually lay idle for most of the time Such considerations lead to the development of networked systems, where many computers are connected together to facilitate the sharing of data and peripherals. Tasks performed by a Network OS include Administration of system users System maintenance tasks such as backup File management tasks Prioritizing print jobs on the network Monitoring security on network resources Many operating systems have network features built into them. Page 4 of 4 K. Aquilina