Operating System

What is an operating system?


An operating system is a System Software that manages the hardware and software resources of a computer.

 
It is the first thing that is loaded into memory when we turn on the computer. 

 

Without the operating system, each programmer would have to write codes on how to start the system when he powers on the system.

operating system

 

The kernel is a computer program that is the core of a computer's operating system, with complete control over everything in the system. 
It is the heart of the Operating system.

In the beginning, programmers needed a way to handle complex input/output operations. The evolution of computer programs and their complexities required new necessities. Because machines began to become more powerful, the time a program needed to run decreased. However, the time needed for handling of the equipment between different programs became evident and this led to the program like DOS. As we can see the acronym DOS stands for Disk Operating System. This confirms that operating systems were originally made to handle these complex input/output operations like communicating among a variety of disk drives.

Earlier computers were not as powerful as they are today. In the early computer systems, you would only be able to run one program at a time. For instance, you could not be writing a paper and browsing the internet all at the same time. However, today's operating systems are very capable of handling not only two but multiple applications at the same time. In fact, if a computer is not able to do this it is considered useless by most computer users.

In order for a computer to be able to handle multiple applications simultaneously, there must be an effective way of using the CPU. Several processes may be running at the same time, so there has to be some kind of order to allow each process to get its share of CPU time.

An operating system must allocate computer resources among the potentially competing requirements of multiple processes. In the case of the processor, the resource to be allocated is execution time on the processor and the means of allocation is scheduling. The scheduling function must be designed to satisfy a number of objectives, including fairness, lack of starvation of any particular process, efficient use of processor time, and low overhead. In addition, the scheduling function may need to take into account different levels of priority or real‐time deadlines for the start or completion of the certain process.

Over the years, scheduling has been the focus of intensive research, and many different algorithms have been implemented. Today, the emphasis in scheduling research is on exploiting multiprocessor systems, particularly for multithreaded applications, and real-time scheduling.

In a multiprogramming systems, multiple processes exist concurrently in main memory.Each process alternates between using a processor and waiting for some event to occur, scheduling .such as the completion of an I/O operation. The processor is kept busy by executing one process while the others wait, hence the key to multi pro scheduling.

Components  and services of OS




  1. Process Management



    • Process is a program in execution --- numerous processes to choose from in a multi-programmed system,

    • Process creation/deletion (bookkeeping)

    • Process suspension/resumption (scheduling, system vs. user)

    • Process synchronization

    • Process communication

    • Deadlock handling




  2. Memory Management



    1. Maintain bookkeeping information

    2. Map processes to memory locations

    3. Allocate/deallocate memory space as requested/required




  3. I/O Device Management



    1. Disk management functions such as free space management, storage allocation, fragmentation removal, head scheduling

    2. Consistent, convenient software to I/O device interface through buffering/caching, custom drivers for each device.




  4. File System


    Built on top of disk management

    1. File creation/deletion.

    2. Support for hierarchical file systems

    3. Update/retrieval operations: read, write, append, seek

    4. Mapping of files to secondary storage




  5. Protection


    Controlling access to the system

    1. Resources --- CPU cycles, memory, files, devices

    2. Users --- authentication, communication

    3. Mechanisms, not policies




  6. Network Management


    Often built on top of file system

    1. TCP/IP, IPX, IPng

    2. Connection/Routing strategies

    3. ``Circuit'' management --- circuit, message, packet switching

    4. Communication mechanism

    5. Data/Process migration




  7. Network Services (Distributed Computing)


    Built on top of networking

    1. Email, messaging (GroupWise)

    2. FTP

    3. gopher, www

    4. Distributed file systems --- NFS, AFS, LAN Manager

    5. Name service --- DNS, YP, NIS

    6. Replication --- gossip, ISIS

    7. Security --- kerberos




  8. User Interface



    1. Character-Oriented shell --- sh, csh, command.com ( User replaceable)

    2. GUI --- X, Windows 95





 

Comments