330 likes | 345 Views
Explore the evolution of operating systems from machine language to modern interfaces, highlighting the key milestones and advancements in hardware and software technologies. Learn about the objectives and functions of operating systems and their crucial role in computer systems.
E N D
OPERATING SYSTEMS OPERATING SYSTEM is the element that binds hardware and software together into an integrated, usable whole….capable of doing all the things for which its parts were designed. No matter what you do with a computer, the operating system is behind it all… An operating system (OS) can be defined as a set of programs that controls, supervises and supports a computer system’s hardware and application packages. The fundamental task of an OS is to manage the hardware carefully to achieve the best possible performance. To do this, the OS controls and coordinates resources including the CPU, other processing units, both primary and secondary storage, and all input/output devices.
OPERATING SYSTEM OBJECTIVES • To facilitate communication between the computer system and user. • The interface through which users issue commands is part of the OS 2. To facilitate communication among computer system components OS helps the movement of internal instructions and data between peripheral devices, processor, programs and computer’s storage. 3. To maximize throughput. OS coordinates system resources to maximize the amount of processing per unit time 4. To minimize the time needed to execute a user command. 5. To optimize the use of computer system resources. OS constantly keeps track of what tasks need to be done and what resources (processor, RAM, peripheral devices) are available to accomplish these tasks. Resource-allocation decisions need to be made at computer speeds
6. To keep track of all files in disk storage. OS’s file and disk management utility programs enable users to perform various tasks, such as making backup files, erasing disk files, preparing new disks for use… 7. To provide security for the system. OS can allow or deny users access to the system as a whole, or to individual files. 8. To monitor system capabilities. OS constantly checks system components for proper functioning. Any problems are immediately reported to the user.
A SHORT HISTORY OF OPERATING SYSTEMS The earliest computers had no operating systems – the users had to access computer resources only via machine language program… First Generation Computers: (UNIVAC and IBM’s701) Already know the hardware – vacuum tubes as ON/OFF switches… Magnetic drums as the primary memory; directly connected to the ALU Punched cards as secondary storage SOFTWARE: Expressed in long strings of bits that the machine dealt with ADD wage income and interest income may look something like 1100001101010000101011110101010101000010101010 locations in memory of the numbers to be added ADD
…11101010101010101010100100000001010111010111100001… Arranging the digits into groups of three or four made life a little easier for programmers, but not much… Writing programs in machine language was error-prone, as well as time-consuming. The first big software breakthrough was the development of assembly language, which allowed programmers to use operation names and variable symbols ADD A and B The programs were written in assembly language and punched on cards – Then each instruction was converted by the computer itself under the direction of a program called the assembler into the string of 0 and 1 that the machine could manipulate.
Assembly language was a definite improvement over machine language, but still a pain in the neck to work with !!! Second Generation Computers: Hardware: transistors come into play – the dominant component of a CPU Primary memory radically transformed – magnetic disk!!! Components managed on printed circuit boards SOFTWARE: High-level languages were generated which resembled the English language and syntax. LET C=A+B The job of translating such a statement into 1s and 0s required the function of a complex program called the translator or compiler
Third Generation Computers: (1965-1971) Hardware: exponential growth in computer industry; technology on the rise = need upward compatibility, or the ability to run any program written on these machines to run on larger machines of the same series… (backward compatibility is when a more recent computer can operate with programs written on older machines !) INTEGRATED CIRCUITS !!! Memory technology transformed – silicon chip! SOFTWARE: Became more sophisticated… Number of high-level languages began to grow… Languages more adapted to specific applications were created … Expanded power of CPU and increased quantity of input/output devices created a need for efficient management of these components …
A new class of computer programs = OPERATING SYSTEMS !!! Fourth Generation: (1971 to present) Hardware: Microprocessors- Intel Corp. PC… Apple… SOFTWARE: The first commercially successful operating system for microprocessors was Digital Research’s CP/M. IBM decided to license a version of Microsoft’s OS program to run on its PC IN 1981: PC-DOS and MS-DOS. (Also have Mac-OS, Macintosh Operating System) More recently, AT&T’s UNIX operating system has been gaining popularity as a highly efficient system…
User applications GUI OPERATING SYSTEM Utility programs Application software
COMPONENTS OF OPERATING SYSTEMS OS = integrated set of programs MAIN STORAGE SYSTEM RESIDENCE DEVICE Supervisor (resident routines) Transient routines transferred in as needed Control programs Resource management Job scheduling Interrupt handlers Data control Status monitoring Processing programs Language translators Assemblers Compilers Interpreters Utility programs Library managers Linkers Free handlers Sort/merge programs
CONTROL PROGRAMS direct the operations of the computer system. PROCESSING PROGRAMS perform functions that aid programmers in the preparation and execution of system and application software. The collection of programs that makes up an OS is kept in secondary storage on the SYSTEM RESIDENCE DEVICE, the permanent home of OS. In most cases, the SRD is a disk – hence the nickname DOS, or Disk Operating System.
The supervisor (monitor, or executive) is the main control program of the OS, responsible for coordinating the activities of all other parts of the OS. When the computer is first turned on, supervisor is the first program to be loaded from the system residence device into primary memory. The most frequently used components of the supervisor, the resident routines are kept in primary memory the entire time the computer is kept on. Portions less frequently used are the transient routines are kept in the system residence device and transferred to the primary memory as needed.
Managing resources: Who gets where and when… (especially important during multiuser, multitasking systems) No program must destroy another’s data !!! Job scheduling: Assessing priorities among tasks, preparing jobs for execution, directing job flow through the computer system and cleaning up after job completion (resetting input/output devices etc) Handling interruptions: CPU is much faster than any of the I/O devices; Hence the time it spends ‘idle’ must be reduced -> interruption scheme ! An interrupt is a temporary suspension of the running computer program so that a higher priority job can be handled immediately.
Controlling data: Programs that control the input/output and storage of data are an important part of any OS: Reading data from input devices, moving data between primary memory and secondary storage devices, writing data to output devices. It is much more efficient to let the OS take care of these tasks, rather than each application program specifying them itself ! Data control programs = low level routines that drive the input, output and storage devices, collectively known as the basic input/output system.
There are also higher-level activities such as buffers, channels and spooling BUFFERS are commonly used for temporary storage of data to reduce the demand on CPU. Large computer systems may use channels which are special-purpose microcomputers, minicomputers or even mainframes that control the movement of data between the CPU and I/O devices. Spooling is an acronym for simultaneous peripheral operating on line. It is an activity that enables several users to send output to a single printer while input and processing processes are happening. Each job to be printed is stored on an intermediate device (disk) rather than being directly sent to printer.
Monitoring system status: Errors can happen – need to monitor your own operations and functionality !! Control routines constantly check for errors, and resolve these situations as smoothly as possible. System crash is usually a run-time error in the OS. • Two common causes are • Branch instruction to some unintended memory location • Accidental erasure of part of the supervisor routine in primary storage. In general, the larger and more complex the system, the more control points it will have against potential errors.
Language Translators: Assemblers, compilers and interpreters convert programming language instructions to machine language instructions. They primarily convert source code (instructions in assembly or higher-level language) into object code (machine language instructions). In addition, there are three special translators: 1) Optimizing compilers, designed to produce highly efficient object code 2) Precompilers, employed prior to regular compiler 3) Cross-compiler, allows the programmer to develop a program on one computer with the intention of actually using it on another computer.
Utility programs: Provide users with common necessary functions. Library managers allow users to build and use their own collections of frequently needed software modules. Linkers process the machine language code produced by assemblers or compilers and create the final executable module, ready to be run by computer. File handling programs perform a number of low-level tasks for users, such as creating, deleting, moving, copying and converting programs and data files. Sort/merge programs enable users to rearrange and combine their data files without having to write their own software.
PROVIDING SERVICES • Sharing hardware among users • In systems where there are more than one user at a time, the OS decides who gets what and when. • Allowing users to share programs and data • Systems that are accessible to multiple users simultaneously, identical programs need not be duplicated for each user, but shared.
OPERATING SYSTEM TYPES OS s are organized according to: - how they organize primary memory - how many different programs they can execute concurrently - how many users they can serve at the same time - the setting in which they are to be used - the basic design of its components
2) Multiprocessing 1) Single user, single task
3) Multiuser, single task 4) Multiuser, multitask
5) Single user, multitasking 6) Virtual storage 7) real-time 8) networking
Single user, single-tasking: Simplest type of OS – accomodates single user at a time… Can only run single program at a time… Single user, multi-tasking: Multiprogramming is the ability to run more than one program at the same time… CPU very rapidly takes turns attending to each task, which makes it seem like the programs are running simultaneously… Need sophisticated CPUs so as not to decrease the system performance. Multiuser, single tasking: Each user has a terminal, connected to the central computer. The arrangement is that of a time-sharing. Time slices are so short, it looks as if all the users are working simultaneously.
Multiuser, Multitasking: Sophisticated systems can combine the concepts of time-sharing and multitasking. Require powerful computers (and CPUs)… UNIX operating system is implemented as a multiuser, multitasking OS on minicomputers, mainframes and supercomputers. Multiprocessing: Used with a computer system that has more than one CPU. = Execution of several instructions in parallel – TRULY SIMULTANEOUSLY!!! Can be much faster than multitasking OSs.
Networking: Many individual computers connected together… Users can have their own stand-alone computers, while sharing peripheral devices or other hardware components, as well as software and databases… Virtual storage: A memory-management tactic – employs an area of rapidly accessible secondary storage as an extension of primary memory… OSs usually implement virtual storage by using segmentation, paging or a combination of both… Segmentation is the process of dividing up a program into a number of chunks, or segments, of different sizes… Paging is like segmentation, except that the pages are of the same size…
Real-time Operating Systems: Control computers that interact with their environments to perform work. Process control systems take input data from sensors and analyze them, then initiate actions that change the processes that they control. Process monitor systems take input data from sensors but merely report these data… Increasingly used for industrial and military applications. EX: automated environmental monitoring for air and water pollution, Medical analysis systems, air and automobile traffic control, factory production etc…
MS-DOS (Microsoft’s Disk Operating System) Text-based operating system = commands issued directly to the DOS by entering them on the keyboard, one character at a time… (command prompt) For example, C:\>copy c:\myfile.txt a:\yourfile.txt copies a file from one disk to another Need serious education in how to operate DOS, all the commands required for instructing the computer to do certain tasks…
Macintosh OS The original Apple Macintosh computer amployed a powerful 32-bit microprocessor, 1984, Motorola 68000 The computer was revolutionary in design and achieved high degree of user-friendliness; Mainly due to its OS, which had very little to do with MS-DOS Based on the Small talk programming language developed at Xerox’s Palo Alto center, MacOS was made up of several levels: AT THE TOP: MultiFinder and the Finder Both system programs, each stored in its own disk file, they manage the Macintosh “desktop” by letting you run your application programs, set up disks, organize, copy and delete files. THEN: the System File Contains fonts, graphic images, text messages and some of the program code that makes up the MacOS. LOWEST LEVEL: powerful set of subprograms permanently encoded on a ROM chip that is built into the computer.
The idea behind the MacOS is that the computer should adapt to the user’s needs, instead of the other way around !!! Exceptional user interface: Allows user to instruct the computer using a mouse, to manipulate graphic objects on the screen and to select for files, file folders, actions or applications… Need very little instruction to learn how to operate the MacOS. Apple Macintosh holds the patents for many of the Macintosh hardware components, which means that there are no legal Macintosh ‘clones’. While maintaining a high-profit margin for Macintosh, this means that it is not as widespread as other operating systems, such as MS-DOS.
UNIX A multiuser, multitasking OS originally developed by Bell Laboratories and promoter by AT&T. (First version written in 1971) The programs that comprise the UNIX OS are written mostly in the high-level programming language C. Therefore it is relatively easy to transport UNIX to any computer that can run C. Provides hundreds of utility programs that perform many useful tasks and which can be easily incorporated into programs under development. UNIX can often be somewhat difficult to learn, however the OS is so flexible that it can be enhanced to present a more friendly user interface.
WINDOWING ENVIRONMENTS Graphic User Interfaces (GUI) allow user to key in text commands or select commands with the click of a mouse. Eliminates the need for memorizing and entering cumbersome commands. Windows allows you to divide your screen into a number of different boxes, or windows, and run a separate program in each one. “Desktop” concept !!!!! Processing activities or files are represented as icons.