This document provides an overview of operating systems, including what they are, what they do, their structure and evolution. It discusses how operating systems have evolved from batch processing systems to today's multi-user, multitasking systems. Key points covered include:
- An operating system acts as an interface between application programs and computer hardware, performing tasks like memory management and I/O control.
- OS structure includes application programs, system programs, the OS software, and hardware layers.
- Early systems evolved from batch processing to support multiprogramming, timesharing, and later personal computing and distributed systems.
- Modern OS types include single-user and multi-user systems to support multiple simultaneous users.
The document discusses different types of schedulers that manage processes and tasks in a computer system. The long term scheduler operates the slowest with the goal of selecting processes from a pool to load into memory. The medium term scheduler speeds up the process by reintroducing processes back into memory to continue execution. The short term scheduler is the fastest, selecting processes that are ready to execute immediately and providing the highest level of multitasking and system performance.
This document discusses multiprogramming and time sharing. Multiprogramming allows a single processor to execute multiple programs simultaneously by having several processes reside in memory at once and switching between them when one is waiting for I/O. Time sharing extends this by dividing processor time into slices and allocating them fairly among competing jobs, enabling interactive processing where users do not have to wait. The degree of multiprogramming, or number of processes, can increase CPU utilization as it decreases the probability that all are waiting on I/O at once. Advantages include efficient memory usage, increased throughput, and high processor utilization.
The document discusses the responsibilities of an operating system for process management, including creating and deleting processes, scheduling processes, process synchronization, communication, and deadlock handling. It defines processes and threads, describes different types of operating systems based on their process handling, and explains process states and context switching. Key components of process management are the process control block and scheduling queues that help the operating system switch between ready processes.
The document discusses the Shortest Job First (SJF) CPU scheduling algorithm. SJF associates each process with the length of its next CPU burst and schedules the process with the shortest burst first. It can reduce average waiting time. While SJF is optimal, it is difficult to implement as the length of the next CPU request may not be known. SJF can be preemptive or non-preemptive.
This document provides an overview of operating systems including definitions, functions, evolution, and types. It defines an operating system as software that enables computer hardware to work and interfaces between applications and hardware. Key points covered include: the structure of OS with hardware, software, system programs and applications; evolution from batch processing to timesharing and personal computing; main functions like memory management and I/O control; and types of single-user and multi-user operating systems. Examples discussed are Windows, Linux, Unix, and DOS.
This document discusses multiprogramming and time sharing in operating systems. It defines multiprogramming as allowing multiple programs to execute concurrently by assigning pending work to idle processors and I/O devices. Time sharing extends multiprogramming by rapidly switching between programs so that each program executes for a fixed time quantum, giving users the impression that the entire system is dedicated to their use. The key aspects covered are the concepts of processes, CPU scheduling, and how multiprogramming and time sharing improve resource utilization.
This document provides an overview of operating systems, including what they are, what they do, their structure and evolution. It discusses how operating systems have evolved from batch processing systems to today's multi-user, multitasking systems. Key points covered include:
- An operating system acts as an interface between application programs and computer hardware, performing tasks like memory management and I/O control.
- OS structure includes application programs, system programs, the OS software, and hardware layers.
- Early systems evolved from batch processing to support multiprogramming, timesharing, and later personal computing and distributed systems.
- Modern OS types include single-user and multi-user systems to support multiple simultaneous users.
The document discusses different types of schedulers that manage processes and tasks in a computer system. The long term scheduler operates the slowest with the goal of selecting processes from a pool to load into memory. The medium term scheduler speeds up the process by reintroducing processes back into memory to continue execution. The short term scheduler is the fastest, selecting processes that are ready to execute immediately and providing the highest level of multitasking and system performance.
This document discusses multiprogramming and time sharing. Multiprogramming allows a single processor to execute multiple programs simultaneously by having several processes reside in memory at once and switching between them when one is waiting for I/O. Time sharing extends this by dividing processor time into slices and allocating them fairly among competing jobs, enabling interactive processing where users do not have to wait. The degree of multiprogramming, or number of processes, can increase CPU utilization as it decreases the probability that all are waiting on I/O at once. Advantages include efficient memory usage, increased throughput, and high processor utilization.
The document discusses the responsibilities of an operating system for process management, including creating and deleting processes, scheduling processes, process synchronization, communication, and deadlock handling. It defines processes and threads, describes different types of operating systems based on their process handling, and explains process states and context switching. Key components of process management are the process control block and scheduling queues that help the operating system switch between ready processes.
The document discusses the Shortest Job First (SJF) CPU scheduling algorithm. SJF associates each process with the length of its next CPU burst and schedules the process with the shortest burst first. It can reduce average waiting time. While SJF is optimal, it is difficult to implement as the length of the next CPU request may not be known. SJF can be preemptive or non-preemptive.
This document provides an overview of operating systems including definitions, functions, evolution, and types. It defines an operating system as software that enables computer hardware to work and interfaces between applications and hardware. Key points covered include: the structure of OS with hardware, software, system programs and applications; evolution from batch processing to timesharing and personal computing; main functions like memory management and I/O control; and types of single-user and multi-user operating systems. Examples discussed are Windows, Linux, Unix, and DOS.
This document discusses multiprogramming and time sharing in operating systems. It defines multiprogramming as allowing multiple programs to execute concurrently by assigning pending work to idle processors and I/O devices. Time sharing extends multiprogramming by rapidly switching between programs so that each program executes for a fixed time quantum, giving users the impression that the entire system is dedicated to their use. The key aspects covered are the concepts of processes, CPU scheduling, and how multiprogramming and time sharing improve resource utilization.
5. -Single (Multiple) Program in
Execution
Single คือ โปรแกรมเดียว
Multiple คือ หลายๆโปรแกรม
Program in Execution คือ การคานวณและประมวลผล
คาสั่ง ที่ถูกนาเข้ามาภายในตัวซีพียู เมื่อกระทาคาสั่งใน
ขั้นตอนนี้