Operating System

Edited by Jen Moreau

OPERATING SYSTEM

An operating system is an important software for a modern day computer system. It is responsible for the management and coordination of activities and the sharing of limited resources.

The operating system can be viewed from two points of view: Resource manager and extended machine. As a Resource manager, the operating system manages the different part of the system efficiently. While as an Extended machine it provides a virtual machine ton the user that is more easy and convenient to use.

Was this helpful? Yes | No| I need help



HISTORICAL DEVELOPMENT OF OPERATING SYSTEM

1940'S "FIRST GENERATION

  • There are no operating system at all\
  • Programs were often entered one bit at a time.

1950's " SECOND GENERATION

  • The first operating system was implemented by General Motor

Laboratories.

  • Punch cards were also introduced at that time
  • Programs were submitted in groups and batches
  • They are single stream batch processing system i.e they ran one job at a time.

1960,s THIRD GENERATION

  • The concept of multiprogramming was developed in which several jobs were run in main memory at once.
  • Computer memory was partitioned into several pieces were a different job in each partition.
  • SPOOL (simultaneous peripheral operations on-line). This refers to as a process of putting jobs in a temporary storage area where a device can access data when it is ready.
  • Time sharing principle was also developed to a multi-program large number of a simultaneous interactive user.
Was this helpful? Yes | No| I need help

FOURTH GENERATION

  • LSI (large scale integration) circuits and chips were developed.
  • Microsoft implemented MS-DOS for IBM and other computer machine using intel 8088 CPU. Unix was also written for large personal computers.
Was this helpful? Yes | No| I need help



OBJECTIVES OF OPERATING SYSTEM

  1. 1
    Creation of abstraction to hide hardware details
    :
    an abstraction occurs when software hide low-level detail and present a set of higher level functions.
    Advertisement
     
    1. Reasons for Abstraction
    2. Provide new functions as it abstract the hardware.
    3. Transform computer hardware into virtual computers.
    4. Enforce security through abstraction
    5. Provide device drivers that perform an operation on behalf of the program.
    Was this step helpful? Yes | No| I need help
  2. 2
    Provide a user-friendly interface.
    Was this step helpful? Yes | No| I need help
  3. 3
    To allocate and manage resources.
    Was this step helpful? Yes | No| I need help

HOW AN OPERATING SYSTEM WORK

When the computer system are turned On, the first set of programs that run is usually a set of instructions kept in the Computer Read-Only- Memory (ROM). Then the Power On Self-Test (POST) checks the CPU, MEMORY, and BIOS (Basic Input Output System) for errors and store the result in a special memory location.

Was this helpful? Yes | No| I need help

Then the system FIRMWARE will begin to activate the computer's disk drives there it will find the first piece of the Operating system: the Bootstrap Loader. The Bootstrap Loader is a small program that has a single function: it loads the operating system into the memory and begins operation. Then it turns the control of the computer over to the Operating System.

Was this helpful? Yes | No| I need help



TYPES OF OPERATING SYSTEM

  1. 1
    Single-user, Single task Operating System: design to manage the computer so that one user can effectively do one thing at a time
    .
    E.g. Palm OS for Palm handheld Comp.
    Was this step helpful? Yes | No| I need help
  2. 2
    Single-user, Multitasking Operating System: examples of these are Ms
    .
    Window and Apple's Mac Os platform.
    Was this step helpful? Yes | No| I need help
  3. 3
    Real-time Operating System (RTOS): used to control machinery, scientific instruments, and Industrial Systems.
    Was this step helpful? Yes | No| I need help
  4. 4
    Multi-User Operating System: allows many different users to take advantage of the computer's resources simultaneously.
    Was this step helpful? Yes | No| I need help

FUNCTIONS OF OPERATING SYSTEM

  • File Management: this handles the storage file of various storage devices to another.
  • Processor Management: assignment of a processor to different tasks being performed.
  • Input/Output Management: co-ordinate and assignment of different output and input device while programs execute.
  • Memory Management: Allocation of main memory and other storage areas to the system program.
Was this helpful? Yes | No| I need help

ERRORS IN OPERATING SYSTEM

  • System crashes or Instabilities.
  • Security flaws
  • Not working correctly with some peripheral devices.




PROCESSES AND THREADS

Definition of processes: Processes can be simply put as a program in execution or an Asynchronous activity, or The dispatchable unit.

The rapid switching back and forth is called multiprogramming.

PROCESSES STATE

  1. 1
    New state
    :
    this is when the processes is being created
    Was this step helpful? Yes | No| I need help
  2. 2
    Terminated State
    :
    Processes has finish execution
    Was this step helpful? Yes | No| I need help
  3. 3
    Blocked State
    :
    Waiting for an event to happen before continuation.
    Was this step helpful? Yes | No| I need help
  4. 4
    Running State
    :
    using the CPU at that particular time.
    Was this step helpful? Yes | No| I need help
  5. 5
    Ready State
    :
    it temporarily stopped to let another program run.
    Was this step helpful? Yes | No| I need help

PROCESS STATE TRANSITION

  1. 1
    TRANSITION 1
    :
    this occurs when process discover that it cannot continue operation.
    Was this step helpful? Yes | No| I need help
  2. 2
    TRANSITION 2
    :
    this occurs when scheduler decides that a program has run long enough and it is time to let another program run.
    Was this step helpful? Yes | No| I need help
  3. 3
    TRANSITION 3
    :
    this occur when all available processes have had their share and its now time to let the first program run again.  
    1. Dispatch (process name): Ready==="Running
    Was this step helpful? Yes | No| I need help
  4. 4
    TRANSITION 4
    :
    this occurs when the external event for which a process was waiting happens.  
    1. Wake Up (process name): blocked==="Ready
    Was this step helpful? Yes | No| I need help
  5. 5
    TRANSITION 5
    :
    this occurs when the process is created.  
    1. Admitted (process name): New==="Ready
    Was this step helpful? Yes | No| I need help
  6. 6
    TRANSITION 6
    :
    this occur when the process has finish execution.
    Was this step helpful? Yes | No| I need help
  7. 7
    Exit (process name)
    :
    Running==="Terminated
    Was this step helpful? Yes | No| I need help



THREADS

Threads is a single sequence stream within a process, they are sometimes called lightweight processes.

SIMILARITIES BETWEEN PROCESSES AND THREADS

  • Just like processes threads share CPU and only one thread can be active at a time.
  • Just like processes threads within a process execute sequentially.
  • Just like processes threads can create children.
  • Just like processes, if one thread is blocked another one then run.
Was this helpful? Yes | No| I need help


PROCESSOR SCHEDULING:

This is the problem of determining when processors should be assigned and to which processes.

General goals of Scheduling

  1. 1
    Fairness
    :
    Scheduler makes sure that each process gets its fair share of CPU and no process suffers indefinite postponement.
    Was this step helpful? Yes | No| I need help
  2. 2
    Policy Enforcement
    :
    Scheduler makes sure that the system policy is enforced.
    Was this step helpful? Yes | No| I need help
  3. 3
    Efficiency
    :
    Scheduler keeps the system busy one hundred percent of the time.
    Was this step helpful? Yes | No| I need help
  4. 4
    Response time
    :
    Scheduler minimizes the response time for the interactive user.
    Was this step helpful? Yes | No| I need help
  5. 5
    Turnaround Time
    :
    Scheduler should minimize the time batch user should wait for output.
    Was this step helpful? Yes | No| I need help
  6. 6
    Throughput
    :
    Scheduler should maximize the number of jobs processed per unit time.
    Was this step helpful? Yes | No| I need help

Scheduling Algorithm can be divided into two categories with respect to how they deal with clock Interrupts

NON PREEMPTIVE SCHEDULING:

Once a process has been given to the CPU, it cannot be taken away from the process. Characteristics of non-preemptive Scheduling:

  • Small jobs are made to wait for longer jobs
  • Response time is more predictable because incoming high priority cannot displace waiting jobs.
  • A scheduler executes job in the following two situations
  • When the process switch from running state to waiting for state
  • When a process terminate.

PREEMPTIVE SCHEDULING:

Once a process has been given, the CPU can take away.it contrasts the "run to completion" method.

SCHEDULING ALGORITHM

  1. 1
    FCFS ( FIRST COME FIRST SERVE)
    Was this step helpful? Yes | No| I need help
  2. 2
    SRT (SHORTEST REMAINING TIME)
    Was this step helpful? Yes | No| I need help
  3. 3
    SJF (SHORT JOB FIRST)
    Was this step helpful? Yes | No| I need help
  4. 4
    ROUND ROBIN SCHEDULING
    Was this step helpful? Yes | No| I need help
  5. 5
    MULTI LEVEL FEEDBACK QUEUE SCHEDULING
    Was this step helpful? Yes | No| I need help

Referencing this Article

If you need to reference this article in your work, you can copy-paste the following depending on your required format:

APA (American Psychological Association)
Operating System. (2017). In ScienceAid. Retrieved Apr 16, 2024, from https://scienceaid.net/Operating_System

MLA (Modern Language Association) "Operating System." ScienceAid, scienceaid.net/Operating_System Accessed 16 Apr 2024.

Chicago / Turabian ScienceAid.net. "Operating System." Accessed Apr 16, 2024. https://scienceaid.net/Operating_System.

If you have problems with any of the steps in this article, please ask a question for more help, or post in the comments section below.

Comments

ScienceAid welcomes all comments. If you do not want to be anonymous, register or log in. It is free.

Article Info

Categories : Computer Science

Share this Article:

Thanks to all authors for creating a page that has been read 247 times.

x

Thank Our Volunteer Authors.

Would you like to give back to the community by fixing a spelling mistake? Yes | No