280 likes | 432 Views
Distributed System Services. Fall 2008 Siva Josyula sjosyula1@student.gsu.edu. Outline. What is an Operating System? Components of a computer system. Why operating system services? Services provided. Other services provided. References. What is an Operating System???.
E N D
Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu
Outline • What is an Operating System? • Components of a computer system. • Why operating system services? • Services provided. • Other services provided. • References.
What is an Operating System??? • A program acting as an intermediary between the user and the hardware. • Purpose: To provide an environment, where user can execute programs in a convenient and efficient manner. • The operating systems provides certain services to the users to make their tasks easier.
Components Continued… Components of a computer- • Hardware • Operating System. • Application Programs. • Users.
Continued… • Hardware – provides basic computing resources like CPU, memory, I/O devices. • Operating system – OS controls and coordinates the use of the hardware among the various application programs for different users. • Applications programs – They define the ways in which the system resources are used to solve the computing problems of the users. • Users (people, machines, other computers).
Why Operating System Services? • OS provides an environment for the executions of the programs. • Services are provided for the convenience of the programmer , to make the programming task easier. • Services provided differ from one operating system to another operating system.
Services Provided • The following are the services provided by the operating system. • Program Execution • I/O Operations • File-system manipulation • Communications
Continued… • Error Detection • Resource Allocation • Accounting • Protection
Program Execution • Operating system must be able to load a program into memory and to run that program. • The program must be able to end its execution, either normally or abnormally.
Services– I/O Operations • Running program may require I/O , which may involve a file or an I/O Device. • For some devices, special functions may be desired (like rewinding a tape drive or to blank a CRT screen) • For efficiency and protection purposes, the users usually are not able to control the I/O devices. • So it is the duty of the operating system to provide a means for the I/O since users cannot execute them directly.
File-System Manipulation • Programs need to read and write files. • Programs also need to create and delete files by name. • The operating system handles the process of creating, deleting and manipulating files.
Communications • Every process needs to exchange information with another process. • Communications may be implemented via shared memory or by the technique of message passing.
Continued… • Communications occurs in two ways. • Within processes executing on the same computer. • Between processes executing on different computers, tied together by a network.
Error Detection • Errors can happen any time in the system. • Errors can occur in the CPU ,memory hardware ,I/O Devices ,and in the user program. • For each type of error ,the operating system should take the appropriate action to ensure correct and consistent computing , by detecting the errors.
Resource Allocation • Multiple jobs run at the same time so resources must be allocated to each one of them. • Many different types of resources are managed by the operating system. • Some have special allocation code, whereas others have general request and release code. • The operating systems have various routines for different jobs in the system, for example CPU scheduling.
Accounting • Weneed to keep track of which user keeps track of how many and which kind of computer resources. • This tracking of user information can be used to find out the usage statistics. • These usage statistics are useful for the researchers who wish to re-configure the system to improve computing services.
Protection • Protection and Security is an important issue in multi-user computer systems. • Protection involves in ensuring that all access to system resources is controlled. • Protection of the system from outside users is also important. • Access to the resources must be authenticated with a password.
Other Services provided The other major services provided by the operating system are: • Memory Management • Process Management • CPU Scheduling • Primitive Services • Services by system servers • Value-added Services
Memory Management • The method of keeping track of how and where programs are loading into the main memory. • Memory is a large array of words or bytes, each with its own address. • It is a repository of quickly accessible data shared by the CPU and I/O devices.
Continued… • The operating system is responsible for the following activities : →Keeping track as to which parts of memory are currently being used and by which user. →Decide which processes need to be loaded when memory space becomes available. →Allocate and de-allocate memory space as and when it is required.
Process Management • A process is a program in execution. • Each process needs certain resources, including CPU time, memory, files, and I/O devices, to accomplish its task. • The OS is responsible for the following activities in connection with process management. • →Process suspension and resumption. • →Providing mechanisms for: • process synchronization • process communication
CPU Scheduling • The method of determining which process in memory is given access to the CPU so that it makes computational progress. • Two kinds of CPU Scheduling: →Preemptive Scheduling-Scheduling that occurs when the operating system decides to favor another process, preempting the currently executing process. →Non-Preemptive Scheduling-Scheduling that occurs when the currently executing process gives up the CPU voluntarily.
Primitive Services • Primitive services are those services that must be implemented in the kernel of each node in the system. • Communications is done through message passing, a defined set of send and receive primitives. • Process Servers manages creation, deletion and tracking of processes by allocating necessary resources.
Services by system servers. • Services that can be implemented anywhere in the system and performs the functions which is basic to the operation of a distributed system. • Name servers used to locate users, processes or machines. • Network servers used to give details about path selection, and routing information. • Migration servers, used to cooperate with process server and helps in moving of process form node to node.
Value-added services • Services that are not needed in the implementation of a Distributed System but useful in supporting Distributed Application • Group server, used for creation and termination of group activities. • Web Server, is good because of its simplicity.
References • Distributed operating systems & Algorithms, By Randy chow, Theodore Johnson. 1998. • Operating System Concepts 6th ed - Silberschatz Galvin, Gagne. • Computer science illuminated, second edition, By Nell dale, John Lewis. 2004. • Google.