Top Banner
Operating-System Operating-System Structures Structures University of Swat
25

Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Jan 19, 2016

Download

Documents

Oswald Hunt
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Operating-System Operating-System StructuresStructures

University of Swat

Page 2: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Operating-System StructuresOperating-System Structures

• Operating System ServicesOperating System Services• User operating system InterfaceUser operating system Interface• System Calls and its types.System Calls and its types.• System ProgramsSystem Programs• Operating System Design and ImplementationOperating System Design and Implementation• Virtual MachinesVirtual Machines

Page 3: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Operating System ServicesOperating System Services• One set of operating-system services One set of operating-system services

provides functions that are helpful to the provides functions that are helpful to the useruser::– User interfaceUser interface - Almost all operating systems have a user interface - Almost all operating systems have a user interface

(UI)(UI)• Varies between Command-Line (CLI), Graphics User Interface (GUI).Varies between Command-Line (CLI), Graphics User Interface (GUI).

• Program executionProgram execution - The system must be able to load a program into - The system must be able to load a program into memory and to run that program, end its execution, either normally or memory and to run that program, end its execution, either normally or abnormally (indicating error)abnormally (indicating error)

– I/O operationsI/O operations - A running program may require I/O, which may - A running program may require I/O, which may involve a file or an I/O device. involve a file or an I/O device.

– File-system manipulationFile-system manipulation - The file system is of particular interest. - The file system is of particular interest. Obviously, programs need to read and write files and directories, Obviously, programs need to read and write files and directories, create and delete them, search them, list file Information, permission create and delete them, search them, list file Information, permission management.management.

Page 4: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Operating System Services Operating System Services (Cont.)(Cont.)

• One set of operating-system services provides One set of operating-system services provides functions that are helpful to the user (Cont):functions that are helpful to the user (Cont):– CommunicationsCommunications – Processes may exchange – Processes may exchange

information, on the same computer or between information, on the same computer or between computers over a networkcomputers over a network

– Error detectionError detection – OS needs to be constantly aware of – OS needs to be constantly aware of possible errorspossible errors

• May occur in the CPU and memory hardware, in I/O devices, May occur in the CPU and memory hardware, in I/O devices, in user programin user program

• For each type of error, OS should take the appropriate action For each type of error, OS should take the appropriate action to ensure correct and consistent computingto ensure correct and consistent computing

• Debugging facilities can greatly enhance the user’s and Debugging facilities can greatly enhance the user’s and programmer’s abilities to efficiently use the systemprogrammer’s abilities to efficiently use the system

Page 5: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Operating System Services Operating System Services (Cont.)(Cont.)

• Another set of OS functions exists for ensuring the efficient Another set of OS functions exists for ensuring the efficient

operation of theoperation of the system system itself: itself:– Resource allocationResource allocation - - When multiple users or multiple jobs When multiple users or multiple jobs

running concurrently, resources must be allocated to each of themrunning concurrently, resources must be allocated to each of them• Many types of resources - such as CPU cycles, main memory, and file Many types of resources - such as CPU cycles, main memory, and file

storage and I/O devices storage and I/O devices

– AccountingAccounting - - To keep track of which users use how much and To keep track of which users use how much and what kinds of computer resourceswhat kinds of computer resources

– Protection and securityProtection and security - - The owners of information stored in a The owners of information stored in a multiuser or networked computer system may want to control use multiuser or networked computer system may want to control use of that information, concurrent processes should not interfere with of that information, concurrent processes should not interfere with each othereach other

• ProtectionProtection involves ensuring that all access to system resources is involves ensuring that all access to system resources is controlledcontrolled

• SecuritySecurity of the system from outsiders requires user authentication, of the system from outsiders requires user authentication, extends to defending external I/O devices from invalid access attemptsextends to defending external I/O devices from invalid access attempts

Page 6: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

User Operating System User Operating System InterfaceInterface

Command InterpreterCommand Interpreter

CLI allows direct command entryCLI allows direct command entry• Sometimes implemented in kernel, Sometimes implemented in kernel,

sometimes by systems programsometimes by systems program• Sometimes multiple flavors implemented – Sometimes multiple flavors implemented –

shells shells • Primarily fetches a command from user and Primarily fetches a command from user and

executes itexecutes it– Sometimes commands built-in, sometimes just Sometimes commands built-in, sometimes just

names of programs. e.g. create, delete, list, print names of programs. e.g. create, delete, list, print etcetc

Page 7: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

User Operating System User Operating System Interface Interface

• GUI interfaceGUI interface

User-friendly User-friendly desktopdesktop interface interface– Usually mouse, keyboard, and monitorUsually mouse, keyboard, and monitor– IconsIcons represent files, programs, actions, etc represent files, programs, actions, etc– Various mouse buttons over objects in the interface cause various Various mouse buttons over objects in the interface cause various

actions (provide information, options, execute function, open actions (provide information, options, execute function, open directory (known as a directory (known as a folderfolder))

– Invented at Xerox PARC (1973)Invented at Xerox PARC (1973)

• Many systems now include both CLI and GUI interfacesMany systems now include both CLI and GUI interfaces– Microsoft Windows is GUI with CLI “command” shellMicrosoft Windows is GUI with CLI “command” shell

– Apple Mac OS X as “Aqua” GUI interface with UNIX kernel Apple Mac OS X as “Aqua” GUI interface with UNIX kernel underneath and shells availableunderneath and shells available

– Solaris is CLI with optional GUI interfaces (Java Desktop, KDE)Solaris is CLI with optional GUI interfaces (Java Desktop, KDE)

Page 8: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

System CallsSystem Calls

• Programming interface to the services provided by the Programming interface to the services provided by the OSOS

• Typically written in a high-level language (C or C++)Typically written in a high-level language (C or C++)• Mostly accessed by programs via a high-level Mostly accessed by programs via a high-level

Application Program Interface (API)Application Program Interface (API) rather than direct rather than direct system call usesystem call use

• Three most common APIs are Win32 API for Windows, Three most common APIs are Win32 API for Windows, POSIX API for POSIX-based systems and Java API for POSIX API for POSIX-based systems and Java API for the Java virtual machine (JVM)the Java virtual machine (JVM)

Page 9: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Example of System CallsExample of System Calls

• System call sequence to copy the contents System call sequence to copy the contents of one file to another fileof one file to another file

Page 10: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Standard C Library ExampleStandard C Library Example• C program invoking printf() library call, C program invoking printf() library call,

which calls write() system callwhich calls write() system call

Page 11: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Types of System CallsTypes of System Calls

• Process controlProcess control

• File managementFile management

• Device managementDevice management

• Information maintenanceInformation maintenance

• CommunicationsCommunications

Page 12: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Process Control

• End, abort

• Load, execute

• Create, process, terminate

• Wait for time

• Allocate and free memory

Page 13: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

File management

• Create file, delete file

• Open, close

• Read, write, reposition

Page 14: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Device management

• Request device, release device

• Read, write

• Logically attach or detach devices

Page 15: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Information Maintenance

• Get time or date, set time or date

• Get system data, set system data

• Get process, file , device attributes

• Set process , file , or device attributes

Page 16: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Communications

• Create ,delete communication connection

• Send , receive messages

• Transfer status information

• Attach or detach remote devices

Page 17: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

System ProgramsSystem Programs• System programs provide a convenient System programs provide a convenient

environment for program development and environment for program development and execution. These can be divided into:execution. These can be divided into:– File managementFile management– Status informationStatus information– File modificationFile modification– Programming language supportProgramming language support– Program loading and executionProgram loading and execution– CommunicationsCommunications– Application programsApplication programs

• Most users’ view of the operation system is defined Most users’ view of the operation system is defined by system programs, not the actual system callsby system programs, not the actual system calls

Page 18: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

System ProgramsSystem Programs

• System programs provide a convenient environment for program System programs provide a convenient environment for program development and executiondevelopment and execution

• File managementFile management - Create, delete, copy, rename, print, dump (place - Create, delete, copy, rename, print, dump (place to store rubbish material), list, and generally manipulate files and to store rubbish material), list, and generally manipulate files and directoriesdirectories

• Status informationStatus information– Some ask the system for info - date, time, amount of available memory, Some ask the system for info - date, time, amount of available memory,

disk space, number of usersdisk space, number of users– Others provide detailed performance, logging, and debugging Others provide detailed performance, logging, and debugging

informationinformation– Typically, these programs format and print the output to the terminal or Typically, these programs format and print the output to the terminal or

other output devicesother output devices– Some systems implement a registry - used to store and retrieve Some systems implement a registry - used to store and retrieve

configuration informationconfiguration information

Page 19: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

System Programs (cont’d)System Programs (cont’d)• File modificationFile modification

– Text editors to create and modify filesText editors to create and modify files– Special commands to search contents of files or perform transformations Special commands to search contents of files or perform transformations

of the textof the text

• Programming-language supportProgramming-language support - Compilers, assemblers, - Compilers, assemblers, debuggers and interpreters sometimes provided such as java, c, debuggers and interpreters sometimes provided such as java, c, c++. Visual basic etcc++. Visual basic etc

• Program loading and execution-Program loading and execution- Absolute loaders, relocate able Absolute loaders, relocate able loaders, linkage editors, and overlay-loaders, debugging systems loaders, linkage editors, and overlay-loaders, debugging systems for higher-level and machine languagefor higher-level and machine language

• CommunicationsCommunications - Provide the mechanism for creating virtual - Provide the mechanism for creating virtual connections among processes, users, and computer systems. connections among processes, users, and computer systems. Allow users to send messages to one another’s screens, browse Allow users to send messages to one another’s screens, browse web pages, send electronic-mail messages, log in remotely, web pages, send electronic-mail messages, log in remotely, transfer files from one machine to anothertransfer files from one machine to another

Page 20: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Operating System Design and Operating System Design and ImplementationImplementation

• Facing problems to design and Implementation of OS not Facing problems to design and Implementation of OS not “solvable”, but some approaches have proven successful“solvable”, but some approaches have proven successful

• Internal structure of different Operating Systems can vary Internal structure of different Operating Systems can vary widelywidely

• Start by defining goals and specifications Start by defining goals and specifications • Affected by choice of hardware, type of systemAffected by choice of hardware, type of system• UserUser goals and goals and SystemSystem goals goals

– User goals – operating system should be convenient to use, easy User goals – operating system should be convenient to use, easy to learn, reliable, safe, and fastto learn, reliable, safe, and fast

– System goals – operating system should be easy to design, System goals – operating system should be easy to design, implement, and maintain, as well as flexible, reliable, error-free, implement, and maintain, as well as flexible, reliable, error-free, and efficientand efficient

Page 21: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Operating System Design and Operating System Design and Implementation (Cont.)Implementation (Cont.)

• Important principle to separateImportant principle to separate

Policy:Policy: What will be done?What will be done? MechanismMechanism: : How to do it?How to do it?

• Mechanisms determine how to do something Mechanisms determine how to do something and policies decide what will be done.and policies decide what will be done.– The separation of policy from mechanism is a The separation of policy from mechanism is a

very important principle, it allows maximum very important principle, it allows maximum flexibility if policy decisions are to be changed flexibility if policy decisions are to be changed laterlater

Page 22: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Virtual MachinesVirtual Machines• A A virtual machinevirtual machine takes the layered takes the layered

approach to its logical conclusion. It treats approach to its logical conclusion. It treats hardware and the operating system kernel hardware and the operating system kernel as though they were all hardwareas though they were all hardware

• A virtual machine provides an interface A virtual machine provides an interface identicalidentical to the underlying bare hardware to the underlying bare hardware

• The operating system creates the illusion of The operating system creates the illusion of multiple processes, each executing on its multiple processes, each executing on its own processor with its own (virtual) memoryown processor with its own (virtual) memory

Page 23: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Virtual MachinesVirtual Machines (Cont.) (Cont.)BenefitsBenefits

• The virtual-machine concept provides complete protection The virtual-machine concept provides complete protection of system resources since each virtual machine is isolated of system resources since each virtual machine is isolated from all other virtual machines. This isolation, however, from all other virtual machines. This isolation, however, permits no direct sharing of resources.permits no direct sharing of resources.

• A virtual-machine system is a perfect vehicle for operating-A virtual-machine system is a perfect vehicle for operating-systems research and development. System development systems research and development. System development is done on the virtual machine, instead of on a physical is done on the virtual machine, instead of on a physical machine and so does not disrupt normal system operation.machine and so does not disrupt normal system operation.

• The virtual machine concept is difficult to implement due to The virtual machine concept is difficult to implement due to the effort required to provide an the effort required to provide an exactexact duplicate to the duplicate to the underlying machineunderlying machine

Page 24: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

VMware ArchitectureVMware Architecture

Page 25: Operating-System Structures University of Swat. Operating-System Structures Operating System ServicesOperating System Services User operating system InterfaceUser.

Questions????Questions????