Operating systems are event driven collection of programs that manages integrate hardware and software services and makes them available to users, hardware, and other operating systems. The main goal for an Operating system is to make it easier for users and I/O devices. The major services of the operating system are:
User Interface and Command Execution Services
The main purpose of this service is to be an intermediate between the user and the computer. The two main interfaces are the Graphical User Interface GUI and the Command Line Interface CMI. As their names suggest with the GUI everything is primarily displayed as images and somewhat “dumb-ed” down for users. The CMI mechanism ...view middle of the document...
These drivers are usually stored in the systems BIOS. The Basic Input Output System is responsible for initializing major I/O devices when first starting up a computer. Some of these I/O peripherals include the keyboard, mouse, graphics card, hard disk…etc
Process Control Management
A process is simply a program in execution. The Operating system, which also consists of processes, manage these processes giving them the “right of execution.” Also it keeps track of what resources each process needs and what resources have been released from a process to make it available for other processes. Some programs break down processes even further down into what is called threads.
Memory management is a very important service of an operating system. It allocates memory for process to be able to execute. It also keeps track of memory in use, and may provide a process with more memory as needed. It also clears up memory when a process is done with execution. The concept of virtual memory becomes very important here, and the reason why the user feels the computer is actually multi-tasking, doing more than one thing at a time. I will elaborate about this concept in a later post.
Scheduling and Dispatch
In order for no process to starve the operating system is in charge of scheduling which process is next on the list to be executed, this is called high level scheduling. It is also responsible of dispatching the processes, in which is the actual selection of the process in which will transmitted for execution.
This task is a very hard task in order to have an efficient and smooth running system. There are many strategies used. The first one is the a program uses the CPU and once it needs to use an I/O device the...