전체 글

sy46 / spypsy
· Study/OS
Multi-Processor (MP) Scheduling 1) Loosely coupled | Distributed multiprocessor -> 물리적으로 다른 컴퓨터의 프로세서 2) Tightly coupled multiprocessor -> 한 컴퓨터 내의 여러 프로세스가 메모리 공유 approach MP scheduling 1) Asymmetric multiprocessing (master / slave) -> 다른 역할을 부여 --> bottleneck 발생 가능 2) Symmetric multiprocessing (SMP, peer) -> 대등한 역할 Design Issue - UP scheduling 하나의 프로세서 -> 큐에서 선택 --> 수행 중에 결정 - MP scheduling 1)..
· Study/OS
Terminology - CPU Burst: CPU to execute Time - I/O Burst: wait for I/O Time Type of scheduling 1. Long-term scheduling - 디스크에 있는 프로세스 중 어느 프로세스를 메모리로 적재할지 결정 2. Medium-term scheduling - multiprogramming을 관리하는 경우 - 어떤 프로세스를 디스크로 swap할지 결정 3. Short-term scheduling - 메모리에 있는 프로세스 중 어느 프로세스를 수행할지 결정 Scheduling Criteria - system oriented: throughput, processor utilization, fairness, fair-share - user..
· Study/OS
Mode Switch 현재 수행중인 프로세스를 교체하지 않고 수행중인 상태를 변화시키는 것 system call / exception -> 프로세스 관련 O - kernel: process context에 위치 interrupt -> 프로세스 관련 X - kernel: interrupt context에 위치 각각의 프로세스는 user, kernel stack이 존재 -> kernel은 user stack에 관계없이 실행 가능 When to Switch Process 1) Process switch 2) Interrupt -> time slice에 의한 timer interrupt -> blocked -> ready로 가는 경우 higher priority process인 경우 교체 3) Exception..
· Study/OS
Programm vs Process - program: passive entry stored on disk (binary sequence) - process: active entity (executin sequence) / 메모리에 올라온 상태 Process Control Block (PCB) - OS에서 가장 중요한 자료 구조 - OS에서 프로세스에 필요한 정보가 포함 - 인터럽트가 발생하고 수행되었을 때 마치 발생하지 않은 것처럼 다음 프로세스를 수행하기 위한 목적 - PC, processor register (context switch)는 PCB에 저장됨. - process마다 존재 1) Process Identification: PID 2) Processor State Information: St..
· Study/OS
OS Objectives 1) Convenience: 편리성 2) Efficiency: 효율성 3) Ability to evolve: 발전 가능성 Role of OS - User / Computer Interface - I/O device control, file management, program create 등을 도움 - 자원 관리자 Evolution of OS OS에 필요한 서비스에 의해 하드웨어에 추가되기도 함 Serial Processing: 순차 처리 - No OS 1) 수동으로 카드 로드 2) Job to Job Transition - 모든 활동이 순차적 Problems 1) High Setup Time -> 준비 시간이 길었다. 2) Scheduling time -> 현대 CPU 스케줄링이..
· Study/OS
Memory: Stores data and programs 1) Capacity (용량) 2) Cost (per bit) (비용) 3) Access time (속도) modern 1) Smaller, more expensive, fast -> SRAM 2) Larger, cheaper, slower -> DRAM Memory Hierarchy 빠른 것을 CPU 근처에 (SRAM) -> 하위 계층까지 접근하지 않도록 발전 -> 상위계층 극대화, 하위계층 최소 Locality of reference : 참조의 지역성 / 지역성의 원리 - 프로그램은 상대적으로 적은 부분의 주소를 접근하려는 경향이 있다. - 이 부분은 프로그램이 실행될 때마다 변한다. 1) Temporal locality (locality i..
· Study/OS
Basic component: CPU, I/O module, bus, memory Evolution of processor -> 폰 노이만 구조의 한계를 벗어나지 못함 실행 시 메모리에 적재되어야하는데, 버스가 너무 많이 실행됨 Memory Static RAM -> Cache : 6 transistor, Expensive, high speed, no fresh required Dynamic RAM -> Main Memory : one transistor + one capacitor, slower than SRAM, dynamic refresh required Heterogeneous Memory 1) Load and Execute -> 자주 쓰이는 모델 / hot, cool data 사용 2) Direc..
· PS/BOJ
https://www.acmicpc.net/problem/1736 1736번: 쓰레기 치우기 방은 세로 N, 가로 M (1 ≤ N, M ≤ 100) 크기의 격자 판으로 표현할 수 있다. 왼쪽 위의 위치를 (0, 0)이라 하고, 오른쪽 아래를 (N - 1, M - 1)이라고 하자. 이 판의 몇몇 칸에는 쓰레기가 놓여 있다. 쓰레 www.acmicpc.net 4637번: Robots 위의 문제와 상당히 유사한 문제이다. 접근했던 방법은 로봇이 오른쪽과 아래만 움직일 수 있으므로 x나 y 방향으로 감소할 수 없다는 점을 이용했다. 만약 현재 로봇이 (4, 6)에 위치한다면 당연히 (4, 7) 또는 (5, 6)으로 이동을 할 것이고, 최소의 로봇 개수를 파악해야하므로 먼저 위에서부터 채우는 방식으로 접근했다. ..
__PS
벌크업 중인 cpp