3.3 OPERATING SYSTEMS Besides computers and mobile devices, other devices which perform a specific task, like a washing machine or a microwave oven, have an embedded operating system. This O/S allows the software which runs the programs to access device hardware. The first operating system as we know it today was developed by IBM in the 1960s for the System/360 series of machines, all with the same instructions and input/output architecture. to be devised: essere concepito firmware: impostazioni di fabbrica (che non possono essere modificate dall utente) overall: complessivo to prove: dimostrarsi room: spazio thread: parte di un programma time slice: intervallo di tempo OPERATING SYSTEMS FOR COMPUTERS AND MOBILE DEVICES An operating system (O/S) is a system of different programs that work together to control and manage the hardware to provide the most efficient use of the available equipment and memory resources, and to act as an interface between the computer and the user. The main parts of an O/S The most important part of the O/S consists of the supervisory programs, which control all the other programs in the O/S, and the service programs, which provide system services to the user. These fall into two categories: utility programs and system aids. Utility programs allow files to be saved, copied, renamed or deleted. They activate all peripheral devices and are able to format a disk in preparation for storing information. System aids assist the user when developing a program. Any system errors experienced in a program at run time will be located and identified by the O/S. System aids also include translation programs such as assemblers, interpreters and compilers. Types of operating systems The most common types of O/S are: Single program: one application program is run at a time, both in real time and batch processing. In real time processing the user interacts with the computer 126 THE MIND OF COMPUTERS during the execution of a program and that means that the computer is able to respond immediately to inputs; in batch processing a series of programs are run in sequence and an output is only provided at the end. Multi-user: a number of users use the computer system at the same time. The computer resources are time-shared among the users, each user having exclusive use of the resources at any one time. As all operators are offered a time slice in turn, every user has the impression that they have exclusive use of a computer all the time; Multi-processing: a very complex program is run on more than one CPU at the same time. The CPUs are linked in parallel as in the case of supercomputers; Multi-programming or multi-tasking: more than one program can run at the same time. Different areas of primary storage are reserved for each program and any one particular program can be called into operation by the user at any time; Multi-threading: different parts of a single program run at the same time; Virtual storage: data is moved between primary and secondary storage as and when the primary storage proves to be too small. The user has the impression of a computer with a larger memory; Virtual machine: different users can use different operating systems simultaneously on the same PC. Distributed: various computer systems, which are connected to each other using a shared communication network, have their own CPU, main memory, secondary memory, and resources.