Edited by Jen Moreau
- 1 OPERATING SYSTEM
- 2 HISTORICAL DEVELOPMENT OF OPERATING SYSTEM
- 3 OBJECTIVES OF OPERATING SYSTEM
- 4 HOW AN OPERATING SYSTEM WORK
- 5 SECTION TWO
- 6 SECTION THREE
- 7 Comments
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
- 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.
- 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
- 1Creation of abstraction to hide hardware details:an abstraction occurs when software hide low-level detail and present a set of higher level functions.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
- 1Single-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.
- 2Single-user, Multitasking Operating System: examples of these are Ms.Window and Apple's Mac Os platform.
- 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.
- 1New state:this is when the processes is being created
- 2Terminated State:Processes has finish execution
- 3Blocked State:Waiting for an event to happen before continuation.
- 4Running State:using the CPU at that particular time.
- 5Ready State:it temporarily stopped to let another program run.
PROCESS STATE TRANSITION
- 1TRANSITION 1:this occurs when process discover that it cannot continue operation.
- 2TRANSITION 2:this occurs when scheduler decides that a program has run long enough and it is time to let another program run.
- 3TRANSITION 3:this occur when all available processes have had their share and its now time to let the first program run again.
- Dispatch (process name): Ready==="Running
- 4TRANSITION 4:this occurs when the external event for which a process was waiting happens.
- Wake Up (process name): blocked==="Ready
- 5TRANSITION 5:this occurs when the process is created.
- Admitted (process name): New==="Ready
- 6TRANSITION 6:this occur when the process has finish execution.
- 7Exit (process name):Running==="Terminated
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
- 1Fairness:Scheduler makes sure that each process gets its fair share of CPU and no process suffers indefinite postponement.
- 2Policy Enforcement:Scheduler makes sure that the system policy is enforced.
- 3Efficiency:Scheduler keeps the system busy one hundred percent of the time.
- 4Response time:Scheduler minimizes the response time for the interactive user.
- 5Turnaround Time:Scheduler should minimize the time batch user should wait for output.
- 6Throughput:Scheduler should maximize the number of jobs processed per unit time.
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.
Once a process has been given, the CPU can take away.it contrasts the "run to completion" method.
- 1FCFS ( FIRST COME FIRST SERVE)
- 2SRT (SHORTEST REMAINING TIME)
- 3SJF (SHORT JOB FIRST)
- 4ROUND ROBIN SCHEDULING
- 5MULTI LEVEL FEEDBACK QUEUE SCHEDULINGAdvertisement
- If you have problems with any of these steps, ask a question for more help, or post in the comments section below.
Categories : Logic