Operating system is a program that acts as an intermediary between a user of a computer and the computer hardware.From the view of Users, OS is a prog
Main memory – only large storage media that the CPU can access directly.Random Access, typically volatileSecondary storage – extension of main memory
Use of high-speed memory to hold recently-accessed data.Requires a cache management policy.Caching introduces another level in storage hierarchy. This
A properly designed OS must ensure that an incorrect (or malicious) program cannot cause other programs to execute incorrectly.Dual-Mode Operation I/O
https://www.geeksforgeeks.org/introduction-of-system-call/In computing, a system call is the programmatic way in which a computer program request
Lists (singly/doubly/circularly), Stacks, and QueuesTreesHash FunctionsBitmapsPOST (Power-On-Self-Test)Boot Device Selection (HDD/SSD, CD-ROM, USE ...
Process is a program in execution. A program is a passive entity. (e.g., a file containing a list of instructions stored on disks (executable file))A
Context Switch The state of a process such as program counter (PC), the value of the CPU registers, the process state, and memory-management informati
Each process has a logical memory space called process address space (or virtual address space) which is mapped to physical address space.Typically co
Independent process cannot affect or be affected by the execution of another process.Cooperating process can affect or be affected by the execution of
Inter-Process Communication : Mechanism for various processes to communicate among them.Different processes run on different address space.OS needs to
Use of concurrency within an application has several advantages.Concurrency can be implemented by structuring an application as a set of concurrent pr
Why Multithreaded Server ? (1) Consider the maximum server throughput (single processor computer) 2ms for processing 8ms for input-output delay (ther
Signals are used in UNIX systems to notify a process that a particular event has occurred.Received depending on the source and the reason for the sign
To maximize CPU utilization, we need multiprogramming.But, with a single CPU core, only one process can run at a time.This requires CPU scheduling.Obs
Scheduling Algorithms First-Come, First-Served (FCFS) Scheduling Shortest-Job-First (SJF) Scheduling Priority Scheduling Round-Robin (RR) Scheduling M
A priority number (integer) is associated with each process.The CPU is allocated to the process with the highest priority (smallest integer = highest
https://boonsuen.com/process-scheduling-solverReady queue is partitioned into separate queues.Foreground (interactive)Background (batch)Process r
CPU scheduling is more complex when multiple CPUs are available.Assume that processors are identical – homogeneous – in terms of their functionality f
Recent trend is to place multiple cores on the same physical chips\-> multicore processor.Each core has a register set to maintain its architectural s
Concurrent access to shared data may result in data inconsistency.Maintaining data consistency requires mechanisms to ensure the orderly execution of
Only 2 processes, P0 and P1General structure of process Pi (other process Pj)Processes may share some common variables to synchronize their actions.Sh
Synchronization tool that does not require busy waiting.Semaphore S represents an integer variable that can only be accessed via two indivisible (atom
물리 메모리의 크기와 프로세스가 올라갈 메모리 위치를 신경 쓰지 않고 프로그래밍하도록 지원가상 메모리는 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술프로세스는 운영체제가 어디에 있는지 물리 메모리의 크기가 어느 정도인지 신경 쓰지 않고 메
요구 페이징 프로세스가 필요로 하는 데이터를 언제 메모리로 가져올지 결정하는 것은 가져오기 정책이다 가져오기 정책은 프로세스가 요청할 때 메모리로 가져오는 방법이 일반적이며 이를 요구 페이징이라고 한다 요구 페이징의 개요 메모리를 절약 및 효율적으로 관리하고 응답 속
하드디스크의 입출력이 너무 많아져서 잦은 페이지 부재로 작업이 멈춘 것 같은 상태degree of multiprogrammingstatic : equal, proportionaldynamic : working set model, page fault frequency정적