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.
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.
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.
OBJECTIVES OF OPERATING SYSTEM
- 1an abstraction occurs when software hide low-level detail and present a set of higher level functions.Creation of abstraction to hide hardware details:Advertisement
- Reasons for Abstraction
- Provide new functions as it abstract the hardware.
- Transform computer hardware into virtual computers.
- Enforce security through abstraction
- Provide device drivers that perform an operation on behalf of the program.
- 2Provide a user-friendly interface.
- 3To allocate and manage resources.
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.
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.
TYPES OF OPERATING SYSTEM
- 1E.g. Palm OS for Palm handheld Comp.Single-user, Single task Operating System: design to manage the computer so that one user can effectively do one thing at a time.
- 2Window and Apple's Mac Os platform.Single-user, Multitasking Operating System: examples of these are Ms.
- 3Real-time Operating System (RTOS): used to control machinery, scientific instruments, and Industrial Systems.
- 4Multi-User Operating System: allows many different users to take advantage of the computer's resources simultaneously.
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.
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
- 1this is when the processes is being createdNew state:
- 2Processes has finish executionTerminated State:
- 3Waiting for an event to happen before continuation.Blocked State:
- 4using the CPU at that particular time.Running State:
- 5it temporarily stopped to let another program run.Ready State:
PROCESS STATE TRANSITION
- 1this occurs when process discover that it cannot continue operation.TRANSITION 1:
- 2this occurs when scheduler decides that a program has run long enough and it is time to let another program run.TRANSITION 2:
- 3this occur when all available processes have had their share and its now time to let the first program run again.TRANSITION 3:
- Dispatch (process name): Ready==="Running
- 4this occurs when the external event for which a process was waiting happens.TRANSITION 4:
- Wake Up (process name): blocked==="Ready
- 5this occurs when the process is created.TRANSITION 5:
- Admitted (process name): New==="Ready
- 6this occur when the process has finish execution.TRANSITION 6:
- 7Running==="TerminatedExit (process name):
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.
PROCESSOR SCHEDULING:
This is the problem of determining when processors should be assigned and to which processes.
General goals of Scheduling
- 1Scheduler makes sure that each process gets its fair share of CPU and no process suffers indefinite postponement.Fairness:
- 2Scheduler makes sure that the system policy is enforced.Policy Enforcement:
- 3Scheduler keeps the system busy one hundred percent of the time.Efficiency:
- 4Scheduler minimizes the response time for the interactive user.Response time:
- 5Scheduler should minimize the time batch user should wait for output.Turnaround Time:
- 6Scheduler should maximize the number of jobs processed per unit time.Throughput:
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
- 1FCFS ( FIRST COME FIRST SERVE)
- 2SRT (SHORTEST REMAINING TIME)
- 3SJF (SHORT JOB FIRST)
- 4ROUND ROBIN SCHEDULING
- 5MULTI LEVEL FEEDBACK QUEUE SCHEDULING
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 Sep 30, 2023, from https://scienceaid.net/Operating_System
MLA (Modern Language Association) "Operating System." ScienceAid, scienceaid.net/Operating_System Accessed 30 Sep 2023.
Chicago / Turabian ScienceAid.net. "Operating System." Accessed Sep 30, 2023. 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
Article Info
Categories : Computer Science