OBJECTIVES AND FUNCTIONS OF AN OPERATING SYSTEM: The operating system is the most basic program in the computer. All computers have a operating system that among other things is used for starting the computer and running other programs (application programs). The operating system performs important tasks like receiving input from the keyboard and mouse, sending information to the VDU, keeping track of files and directories on the disk, as well as controlling the various units such as disks, printers’ etc-. An operating system also offers a user interface, giving the user the possibility to control the computer. Some examples of operating systems are Windows 95/98, Windows 2000, Windows XP, Mac OS, UNIX and Linux.
PROCESSES: Processes are an instance of a computer program that is being sequentially executed by a computer system that has the ability to run several computer programs at once. A computer program itself is just a passive collection of instructions, while a process is the actual execution of those instructions. Numerous processes may be associated with the same program, e.g. Opening up several windows of the same program often means more than one process is being executed. In the computing world processes are formally defined by the operating system or systems running them and so they may be different in detail from one operating system to another. Each process or task is a program in some stage of execution. Each of the processes that run in an operating system is assigned a process control block that will hold information about the process, such as a unique process ID (a number which is used to identify the process), the saved state of the process, the process priority and where it is located in the memory. The process priority is used to determine how often the process receives processor time. The operating system may run all with the same priority, or it can run some processes more often than others. Any processes that may have been waiting a long time for execution by the processor may have their priority increased so they are more likely to be executed later.
MEMORY MANAGEMENT: Current computer architectures arrange the computer’s memory in a hierarchical manner that starts form the fastest registers, CPU cache, RAM and disk storage. An operating systems memory manager coordinates the use of these types of memory by tracking which one is available, which is to be allocated or deallocated and how to move data between them. This activity is usually referred to as virtual memory and increases the amount of memory available for each process by making the disk storage seem like main memory. There is a speed penalty connected with using disks or other slower storage as memory – if running processes need a lot more RAM than what is available the system may start thrashing. This can happen either because one process requires a large amount of RAM or because two or more processes compete for a larger amount of the memory than what is there; this then leads to constant transfer of each process’s data to slower storage.
SCHEDULING AND RESOURCE MANAGEMENT: Scheduling is a key concept in computer multitasking and multiprocessing operating system design, and in real-time OS design. It refers to the way that processes are assigned priorities in a priority queue. This assignment is carried out by a software known as a scheduler. The scheduler is concerned mainly with CPU utilization to keep the CPU as busy as possible, throughput that is the number of processes that complete there execution per time unit, turnaround which is the amount of time to execute a particular process, waiting time that is the amount of time a process has been waiting in the queue that is ready and finally response time that is the amount of time it takes from when a request was submitted until the first response is produced.
No comments:
Post a Comment