Evolution Of Operating Systems - LAAS

2y ago
10 Views
2 Downloads
5.69 MB
117 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Amalia Wilborn
Transcription

Operating SystemsAndrei Doncescu

Chapter 1: Introduction

Operating SystemDefinition No universally accepted definition “ The one program running at all times on thecomputer” is the kernel. Everything else iseither a system program (ships with theoperating system) or an application program.

What is anOperating System? A program that acts as an intermediary betweenan user of a computer and the computerhardware:Manages the computer hardware Operating system goals:– Execute user programs and make solving userproblems easier– Make the computer system convenient to use– Use the computer hardware in an efficient manner

Computer SystemOrganization Computer-system operation– One or more CPUs, device controllers connect through common busproviding access to shared memory– Concurrent execution of CPUs and devices competing for memorycycles

Computer-SystemOperation I/O devices and the CPU can execute concurrently Each device controller is in charge of a particulardevice type Each device controller has a local buffer CPU moves data from/to main memory to/fromlocal buffers I/O is from the device to local buffer of controller Device controller informs CPU that it has finishedits operation by causing an interrupt

ComputerSystem Structure Computer system can be divided into four components– Hardware – provides basic computing resources CPU, memory, I/O devices– Operating system Controls and coordinates use of hardware among various applicationsand users– Application programs – define the ways in which the systemresources are used to solve the computing problems of theusers Word processors, compilers, web browsers, database systems, videogames– Users People, machines, other computers

Four Components of aComputer System

Operating SystemDefinition OS is a resource allocator– Manages all resources– Decides between conflicting requests forefficient and fair resource use OS is a control program– Controls execution of programs to preventerrors and improper use of the computer

ProcessManagementActivitiesThe operating system is responsible for the followingactivities: Creating and deleting both user and systemprocesses Suspending and resuming processes Providing mechanisms for process synchronization Providing mechanisms for process communication Providing mechanisms for deadlock handling

Chapter 2: History

Background History 1969 Unix created at Bell Labs1977 Berkeley Development starts1986 4.3BSD released1990 Net/2 Release distributed– asserted to be freely distributable 1992 AT&T lawsuit 1994 4.4BSD-lite released– clean base - all suspect code deleted

Overview What is Unix ?Brief HistoryIn the Present DayIn Conclusion

What is Unix ? Unix is an open source operating system. Unics : UNiplexed Information & Computing Service. Unix was first written for Space Travel, a computer game byKen Thomson. Space Travel is the first Application created. It isalso the first computer game ever created.Space Travel: A game simulatingtravel in space. You navigate byzooming in/out, to reach earth or theother planets in your spaceship.

Brief History ofUnix 1969 : AT&T develops Multics (multiplex information &computing science)– Multics was an experimental OS– Ken Thompson used it to play Space Travel, a game he wrote onthe Multics computer system.– Project was shelved and so did the multics system.– Ken decides to write re-work multics so he could play Space Travelon a smaller system left unused in the lab. Dennis made sure ofthat by recoding in C.The PDP-7 system that Unix was written on. It even ranSpace Travel.

Brief History ofUnix 1970s: Redeveloped & recoded in C programming by KenThompson & Dennis Ritchie– AT&T recognized their work and funded them with biggersystems. In return they created roff, a text processing system.Final versions is troff, which does text formatting.– Meanwhile, Dennis teaches C programming & Unix at BerkeleyUniversity.

Brief History ofUnix 1977: Berkeley student Bill Joy releases BSD (BerkeleySoftware Distribution) 1980: MACH kernel for BSD from CMU 1988: NextStep is release with GUI 1991: Linus Torvalds releasesUnix-Like LinuxRIP: Dennis Ritchie, the creator of Cprogramming passed away a week afterSteve Jobs on Oct 12th 2011.He has given to us very valuable technologyand inspired developers to create.

History of Mach Mach’s earliest roots go back to a system called RIG (RochesterIntelligent Gateway), which began at the University of Rochester in1975.– Its main research goal was to demonstrate that operatingsystems could be structured in a modular way. When one of its designers, Richard Rashid, left the University ofRochester and moved to Carnegie-Mellon University in 1979, hewanted to continue developing message-passing operating systemsbut on more modern hardware. The machine selected was the PERQ. The new operating system forthe PERQ was called Accent. It is an improvement of RIG.

Rochester’s IntelligentGateway Developed by University of Rochester, NY 1975Provided uniform access to a variety of computingfacilitiesDisadvantages:1. Had limited address space2. No protection for ports3. No notification of failure of a process

Accent Developed by Richard Rashid, formerly of RIG, atCarnegie Mellon UniversityThe operating system improved upon RIG1. Added an innovation virtual memory2. Added transparent network messaging3. Flexible and powerful virtual memory

History of Mach By 1984 Accent was being used on 150 PERQs but it wasclearly losing out to UNIX. This observation led Rashid to begina third-generation operating systems project called Mach. Mach is compatible with UNIX, contains threads,multiprocessor support, and a virtual memory system.

History of Mach Developed at Carnegie Mellon University 1987 – Mach release 0 and release 1 included taskand thread support 1988 – release 2 1989 – Mach 3.0 released with a smaller microkerneland a complex multiprocess system

Concept of the MachKernel The classic Unix kernel cannot support multipleprocessors. Mach introduced the idea of threads and tasks. Mach was one of the first systems to use amicrokernel. A microkernel minimizes each OS service performedin the kernel.

Tasks and Threads A task is the basic unit of resource allocation.– It includes a virtual address space, access toresources, and may include one or more threads. A thread is a sequence of instruction executions.– All threads within a task share the resources ofthat task.

Tasks and Threads(cont.) All communication among threads is done by sendingmessages between ports. When a task is created, it is assigned several ports bythe kernel The kernel manages all communication among portsby assigning send and receive permissions.

Problems with Mach Mach was not commercially successful because ofthe overhead in interprocess communication. System performance was slower than the traditionalkernel. Mach had trouble handling memory when thephysical memory ran low.

Present Day Unix Workstations: Ubuntu, Gnu, Darwin,Windows, Mac OSx, MINIX, Xsystem,FreeBSD, Fedora, Open BSD . Servers: HP-UX, AIX (IBM), Solaris (Oracle),Novell SLES, Red Hat Enterprise Linux Network: Cisco, Juniper

Present Day Unix Embedded Devices: Ezlink Card Readers, Aircontemperature control & more Mobile Devices: Compaq’s iPAQ, Nokia, Motorola,Android tablets & mobile phones, Blackberry Playbook,iPhone, iPad, iPod, GPS system Gaming: Nintendo DSLite, Sony Playstation 3, Xbox 360

In Conclusion Unix has become the base for many kinds of computingsystems– Low cost - no renewals or fees per workstation– Stability - no downtime due to its multi-processing capabilities & efficientkernel– Expandability - various hardware are supported– Development possibility– Customization - run company requirements– Networking capabilities – it is a pioneer Unix is the preferred choice by companies to run their File andNetwork Servers.

Operating SystemsChapter 3: Concepts

Evolution of OperatingSystems Early Systems (1950)Batch Operating System (1960)Interactive Operating SystemMulti-programmed Batch Systems (1970)Time-Sharing and Real-Time Systems (1970)Multiprocessor Operating Systems (1980)Distributed Operating SystemNetworked/Distributed Systems (1980)Multiuser Operating SystemMultithreaded Operating SystemWeb-based Systems (1990)

Remark The first operating system on microcomputerplatform was Control Program for Microcomputers(CP/M) Intel 8080 in 1974 by Gary KindallA. Frank - P. Weisberg

Multiprogrammed Batch Systems First developed for batch systems in the 60s.– Go to the computer center and give them your program (storedon punch cards).– The computer operator “batched” several jobs together andloaded them into the computer.– Come back at 5:00 to get the results of your program. Batch systems are non-interactive.

Memory Layout forMultiprogrammed SystemAutomatic Job Sequencingallows control from one batchto another to be transferredautomatically.This process continues, untilall of the programs presentedin each batch are finished.To implement automatic jobsequencing, a program is usedThis program is called aresidentmonitor

Resident Monitor A resident monitor is a program. It is also known asjob sequencer. There is no idle time between exécutions. Disadvantages of a batch operating System– The CPU is often idle– It is difficult to provide the desired priority to thedifferent programs

Time-Sharing Batch multiprogramming does not support interactionwith users. Time-sharing extends Batch Multiprogramming tohandle multiple interactive jobs –it’s Interactive Multiprogramming. Multiple users simultaneously access the systemthrough commands entered at terminals. Processor’s time is shared among multiple users.

Time-sharing Architecture

Why Time-sharing? In Time-sharing (multitasking) the CPU switches jobs sofrequently that users can interact with each job while it isrunning, creating interactive computing:– Response time should be 1 second.– Each user has at least one program (process) executing inmemory.– CPU scheduling supports several jobs ready to run at the sametime.– If processes don’t fit in memory, swapping moves them in andout to run.– Virtual memory allows execution of processes not completely inmemory.

Why did Time-Sharingwork? Because of slow human reaction time, a typical userneeds 2 seconds of processing time per minute. Then many users should be able to share the samesystem without noticeable delay in the computerreaction time. The user should get a good response time. It fit the economic basis of the mainframe computerinstallation.

Time-Sharing Systems (Multitasking) Logical extension of multiprogramming termed multitasking.Quite often sitting at terminal using a “command line” interfaceto interact with computer. Types in commands from keyboard. A system program called a shell reads command from thecommand line and makes OS system calls to carry outcommands.OS switches between user’s programs very quickly, generally inround-robin fashion.

Time-Sharing Systems (Multitasking)User 2User 3SharedComputerUser 4User1

Special PurposeSystems RTOS Real-time Embedded Systems– Found in car engines, microwave ovens etc. They havespecific tasks and the systems they run on are usuallyprimitive and so the O/S provides limited features.They have little or no GUI.– Embedded systems almost always run RTOS. This isused when rigid time requirements have been placedon the operation of the CPU or flow of data.– Sensors bring data to the computer which thenanalyzes this data. E.gs of real-time system includemedical imaging systems, weapon systems,automobile engine fuel injection systems.

Real-Time OperatingSystems RTOS Note that not all Operating Systems are generalpurpose systems. Real-Time (RT) systems are dedicated systems thatneed to adhere to deadlines , i.e., time constraints. Correctness of the computation depends not only onthe logical result but also on the timeat which the results are produced.

Hard Real-Time Systems Hard real-time system must meet its deadline. Conflicts with time-sharing systems, not supported bygeneral-purpose OSs. Often used as a control device in a dedicatedapplication:– Industrial control– Robotics Secondary storage limited or absent, data/program isstored in short term memory,or Read-Only Memory (ROM).

Soft Real-Time Systems Soft real-time system more jitter than HR-T:– Deadlines desirable but not mandatory.– Limited utility in industrial control or robotics.– Useful in modern applications (multimedia,video conference, virtual reality) requiringadvanced operating-system features.

Personal/DesktopComputers (1) Personal computers – computer system dedicated to asingle user. I/O devices: keyboards, mice, display screens, smallprinters. User convenience and responsiveness. Can adopt technology developed for larger operatingsystem; often individuals have sole use of computerand do not need advanced CPU utilization ofprotection features. May run several different types of operating systems(Windows, MacOS, UNIX, Linux)

(2) Personal/DesktopSystems Traditional personal computer blurring over time. Office environment:– PCs connected to a network, terminals attached tomainframe or minicomputers providing batch andtimesharing.– Now portals allowing networked and remotesystems access to same resources. Home networks:– Used to be single system, then modems– Now firewalled, networked.

Two categories ofComputer Systems Single Instruction Single Data (SISD) –– single processor executes a singleinstruction sequence to operate on datastored in a single memory.– This is a Uniprocessor. Multiple Instruction Multiple Data (MIMD) -– a set of processors simultaneously executedifferent instruction sequences on differentdata sets.– This is a Multiprocessor.

Components of a simplepersonal computer

Multiprocessor Systems System with several CPUs in close communication:– processors share memory and a clock.– communication usually takes place through the shared memory. Also known as parallel systems, tightly-coupled systems. Multiprocessors systems growing in use and importance– advantages include: Increased throughput Economy of scale Increased reliability – graceful degradation or fault tolerance.

Types of MultiprocessorSystems Asymmetric Multiprocessing– master processor schedules and allocates specificwork to slave processors. Symmetric Multiprocessing (SMP)– Each processor runs an identical copy of the OS.– Typically each processor does self-scheduling formthe pool of available processes.– Most modern operating systems support SMP.

Symmetric MultiprocessingArchitecture

Single-core computer55

Single-core CPU chipthe single core56

A Dual-Core Design

Multi-core architecturesReplicate multiple processor cores on a single die(integrated circuits).Core 1Multi-core CPU chipCore 2Core 3Core 458

Interaction with theOperating System OS perceives each core as a separate processor OS scheduler maps threads/processesto different cores Most major OS support multi-core today:Windows, Linux, Mac OS X, 59

How a ModernComputer Works

Definitions A program is a set of instructions which is preparedto perform a specific assignment if executed by acomputer. A program need not be online; it could be stored ona flash memory and placed in one’s pocket. A program is not an active entity. It is completelypassive.61

Definitions The operating system creates a process from aprogram. To do so, it has to perform many activities, likeassigning a name, allocating space, (partially) loadingthe corresponding program, etc. Roughly speaking, A process is an active program. A process is created to run a program by usingcomputer facilities; like a human who is born to livehis life.62

Single-Programming In a single-programming environment there exist at the mostone process at any given time; thus there is usually oneongoing activity at a time. From many devices within the computer often one device isactive at any given time. This means, if a process has asked for a data to be entered bythe user, the system has to wait until this data is enteredbefore being able to proceed. If this data entry takes one second the CPU could have donemillions of instructions if it did not have to wait. With single-programming the computer facilities are not usedin an efficient manner.63

Process States in SingleProgramming With single-programming, right after a process is born the system startsexecuting its corresponding program’s instruction. The instruction execution continues until the process needs to read somedata from an input device or wants to write some results on an outputdevice. There are special purpose processors called Input/Output (I/O) processorsfor transferring data from input devices to main memory and from mainmemory to output devices. It is understandable that such a processor will perform the specific taskbetter than a general-purpose processor, i.e., CPU. While an I/O operation is in progress, the CPU has to wait and do nothing.After the I/O operation is completed, the CPU will resume the execution ofthe instructions. This cycle, of going through process states of running and input/output,may be repeated over and over, until the job is completed or, for somereason, the process is aborted.64

Process’s life cycleProcessbirthBlocked forI/OInput/OutputRunningI/O completedProcessTerminationThe life cycle of processes in single-programming environments65

Processor wait ratio If the average execution time of a program with singleprogramming is e and the average I/O time is b, then thefollowing ratio is the CPU wait fraction (w). It is actually thefraction of the time the CPU is idle.w be b For example, if execution time of programs is 10, of which 9seconds is spent on I/O, then w 9/10 0.9. This means, onthe average, 90% of the CPU time is wasted.66

Multiprogramming Basic idea of multiprogramming:– Keep multiple jobs in memory.– When one job blocks on I/O (or other events), the operatingsystem: Starts the I/O operation. Switches to another job that is ready to execute. Now the CPU and I/O device are executing in parallel.– When the I/O device has completed request, it generates aninterrupt to inform the CPU.– Virtually all general purpose computers supportmultiprogramming.

TheMultiprogrammingConcept Multiprogramming is a technique that allows more than oneprogram to be ready for execution (process) and provides theability to switch from one process to another, even if theformer is not completed. Of course, sometimes in the future we will have to switchback to the first process and resume (not restart) itscomputation. This technique works for both single-processor (like ourpersonal computers) and multiprocessor (such as large mainframe) computers. Multiprogramming is mainly accomplished by the operatingsystem. The hardware provides some specific circuitry thatmay be used by the operating system in the course offacilitating multiprogramming.68

Multiprogrammingand PCs Do we need multiprogramming for PCs? Yes. All PC users liketo run many applications simultaneously. Nobody runs forexample an Internet explorer looking for an information whilestaring at the monitor for the results for a long time. In this era of computer usage, every general-purposeoperating system must have the following capabilities:– It must provide an environment to run processes in amultiprogramming fashion.– It must act as a service provider for all common services that areusually needed by computer users, such as copying files, making newfolders, compressing information, sending and receiving messagesfrom other computers in the network, etc.– Its user interface must

Unix was first written for Space Travel, a computer game by Ken Thomson. Space Travel is the first Application created. It is also the first computer game ever created. Space Travel: A game simulating travel in space. You navigate by zooming in/ou

Related Documents:

The LAAS International Science Conference is an annual conference that will be held in 2015 in cooperation with the Saint Joseph University and the National Council for Scientific Research. The LAAS International Science Conference is a forum for researchers to present and discuss recent ad

growth parameter space was first investigated to attempt to isolate the growth of rocksalt LaAs. Sweeping substrate tem-perature from 390 to 500 C, arsenic overpressure from 15 to 50 over the La beam-equivalent pressure (BEP), and growth rate from 0.05 to 0.1 monolayers/second (ML/s), failed to identify a growth regime for single-crystalline rock-

Evolution 2250e and Evolution 3250e are equipped with a 2500 VApower supply. The Evolution 402e and Evolution 600e are equipped with a 4400 VA power supply, and the Evolution 403e and Evolution 900e house 6000 VA power supplies. Internal high-current line conditioning circuitry filters RF noise on the AC mains, as well as

Chapter 4-Evolution Biodiversity Part I Origins of life Evolution Chemical evolution biological evolution Evidence for evolution Fossils DNA Evolution by Natural Selection genetic variability and mutation natural selection heritability differential reproduct

Operating Systems, Embedded Systems, and Real-Time Systems Janez Puhan Ljubljana, 2015. CIP-CatalogingInPublication NationalandUniversityLibrary,Ljubljana 004.451(078.5)(0.034.2) PUHAN,Janez,1969-Operating Systems, Embedded Systems, and Real-Time Systems [Electronic

1998 1999Evolution 2000 Evolution 2001 Evolution 2002 Evolution 2003 Evolution 2004 Evolution 98/99 99/00 00/01 01/02 02/03 03/04 Capacités d’accueil des académies 18 679 (2) 16 537 – 11,4% 14 927 – 9,7 % 13 591 – 8,9 % 15 537 14,3 % 16 858 8,5 % 15 137 – 10,3 %

that depended on interactions between a participant’s perception of religion, science, medicine, and a host of . Muslims, Culture, Evolution and religion, Evolution and medicine, Evolution acceptance, Evolution rejection Background . to elicit a

Type A02 : Cable suffices This type comprises people with some limited interest in electronic technologies but who have neither the education nor income to become heavily engaged in using them. Many of this type are men who have recently retired or who are approaching retirement. A high proportion has access to cable television. Type A03 : Technology as fantasy This type contains many old .