OS : Operating System
- A software that controls the execution of application programs (응용 프로그램 실행을 통제하는 소프트웨어)
👉it is a set of functions that is executed (실행되는 기능들의 집합)
ex) Windows, UNIX, LInux, Symbian, REX ...
- An interface between applications and hardware (어플리케이션과 하드웨어 사이의 인터페이스)
👉Responsible for managing resources (자원들의 관리를 담당한다)
- Objectives (목적)
👉Efficiency (효율성)
👉Convenience (편의성)
Services Provided by the Operating System
- Program execution (프로그램 실행)
- Access to computer resources (컴퓨터 자원에 접근)
👉Hardware : I/O devices and other hardware resources
👉Data : files and other data
- Error detection and response (오류 감지 및 대응)
👉Internal and external hardware errors
👉Software errors
👉Operating system cannot grant request of application (os가 응용 프로그램 요청을 승인 할 수 없다)
- Accounting and management (회계 및 관리)
👉Collect usage statistics (사용 통계 수집)
👉Monitor performance (성능 모니터링)
👉Used for billing purposes (청구 목적으로 사용)
kernel
- Portion of operating system that resides in the main memory (메인 메모리에 상주하는 운영 체제의 일부)
👉Core part of operating systems (os의 핵심 부분)
- Contains most frequently used functions (가장 많이 사용하는 기능들을 가지고 있다)
- Also called the nucleus (핵이라고도 불린다)
Uni-programming
- Processor must wait for I/O instruction to complete before proceeding
- Bad performance because of slow I/O operation
Multiprogramming Systems
- When one job needs to wait for I/O, the processor can switch to the other job
Time sharing Systems
- Using multiprogramming to handle multiple interactive jobs
- Processor's time is shared among multiple users
👉A time unit called a time quantum (also called time slice) is given to a job at a time
👉100 msec (1/10 sec)
- Multiple users concurrently access the system through terminals
👉Each user thinks he/she has his own CPU
- Reduces the mean response time
Multiprogramming VS Timesharing
- Both technologies are used in modern computers
- Multiprogramming
👉Used for batch processing, background processing
👉Less overhead than timesharing
👉Better throughput
❓Throughput : number of jobs completed in a unit time
- Timesharing
👉Used for interactive processing, foreground processing
👉More overhead than multiprogramming
👉Better response time
❗️Response time : time since a user gives a command until the command is begun execution (사용자가 명령을 내린 후 명령 실행이 시작될 때까지의 시간)
Process Scheduling
- Determine which program is next to be executed, in other words,
👉Which program will take a processor next (다음에 프로세서를 사용할 프로그램)
👉Which program the CPU will execute next (CPU가 다음에 실행할 프로그램)
- Also called CPU scheduling
- Process scheduling is performed by the kernel function, scheduler
- Scheduler selects the next process to run based on
👉waiting time of each program for the processor
👉priority of each program
Major Components of OS
- Process Management (CPU management, processor management)
- Main Memory Management
- File Management
- I/O System Management
- Secondary Storage Management
- Networking
- Information Protection and Security
- Command-interpreter System (명령 해석)
Networking (Distributed System)
- A distributed system is a collection independent computers
👉Each processor has its own local memory
👉The processors in the system are connected through a communication network
👉Communication takes place using a protocol
- A distributed system provides user access to various system resources
👉Computation speed-up (계산속도 향상)
👉Increased data availability
👉Enhanced reliabliity
- Networking system must provide various communication channel primitives
👉open/close connection
👉send/receive
👉channel configuration primitives
Modern Operating Systems
Multiprogramming and Multiprocessing
'IT > 운영체제' 카테고리의 다른 글
[공부정리] Threads and Microkernels (0) | 2020.10.30 |
---|---|
[공부정리] Process Description and Control (0) | 2020.10.29 |