Programming/운영체제

    CPU 스케쥴링 알고리즘(1) - FCFS

    1. CPU Scheduing CPU 스케쥴링이란 메인 메모리에 올라와 있는 프로세스들이 CPU의 자원을 할당받기 위해 Ready Queue에 줄서있는 것을 말한다. 1) Preemptive vs Non-preemptive (선점 : 비선점) 실행 중인 프로세스를 도중에 끄고 스케쥴링하는 방법을 Preemptive라 한다. Non-preemptive 이면 하나의 프로세스가 모두 끝날때까지 다른 프로세스들은 계속 기다려야만 한다. 2) Scheduling criteria 어떤 스케쥴링 방식이 더 좋은가 판단하는 척도에는 다섯 가지가 있다. CPU Utilization(CPU 이용률) : CPU가 얼마나 놀지 않고 일하는가 Throughput(처리율) : 단위 시간당 몇개의 작업을 처리하는가 Turnarou..

    프로세스 관리 (Process Management)

    CPU 자원을 어떻게 효과적으로 나눠주는가 1. 프로세스 1) 프로세스의 정의 프로그램 vs 프로세스(program vs process) 프로세스(process)는 task, job으로도 불린다. 실행 중인 프로그램을 프로세스라고 한다.(program in execution : text+data+stack,pc,sp,registors...) => 무덤 속 프로그램, 살아 움직이는 프로세스 2) 프로세스 상태 프로세스 상태에는 new, ready, running, wating, terminated가 있다. New : 하드디스크에서 메인메모리로 프로그램이 올라온 상태 Ready : 프로세스가 초기화를 마치고 실행 준비 중인 상태 Running : 프로세스가 실행 중인 상태 Waiting : 프로세스가 I/O..

    운영체제 서비스

    1. 운영체제 서비스 운영체제가 하는 일은 정부와 같다. 1) 프로세스 관리 (Process management) 프로세스(process)란 메모리에서 실행중인 프로그램을 말한다. (program in execution) 주요기능 : 프로세스의 생성, 소멸(creation, deletion) 프로세스 활동 일시 중지, 활동 재개(suspend, resume) 프로세스 간 통신(interprocess communication : IPC) 프로세스 간 동기화(synchronization) 교착상태 처리(deadlock handling) 2) 주기억장치 관리 (Main memory management) 주요기능 : 프로세스에게 메모리 공간 할당(allocation) 메모리의 어느 부분이 어느 프로세스에게 할당..

    이중모드, 하드웨어 보호

    1. 이중모드 한 컴퓨터를 여러 사람이 동시에 사용하는 환경 또는, 한 사람이 여러 개의 프로그램을 동시에 사용하는 환경 위와 같은 환경에서 한 사람/프로그램의 고의/실수가 전체에 영향을 끼칠 수 있다. EX) STOP, HALT, RESET 등 그래서 사용자 프로그램의 STOP 등 치명적인 명령의 사용을 불가능하게 만든다. 이러한 맥락에서 나온 것이 바로 이중모드이다. 이중모드(dual mode) 사용자(user) 모드 vs 관리자(supervisor) 모드 관리자모드 = 시스템모드 = 모니터모드 = 특권모드 Supervisor, system, monitor, privileged mode 특권 명령(privileged instructions) STOP, HALT, RESET, SET_TIMER, SET..

    고등운영체제, 인터럽트 기반 운영체제

    1. 고등 운영체제 1) 다중 프로세서 시스템(Multiprocessor system) 병렬 시스템(parallel system) 강결합 시스템(tightly-coupled system) : 다수의 CPU가 하나의 메인메모리로 결합되어 있다. 3가지 장점 : performance(효율성), cost(비용), reliability(안정성) : 하나의 CPU가 고장나도 다른 CPU가 대신한다. 다중 프로세서 운영체제(Multiprocessor OS) 2) 분산 시스템(Distributed system) 다중 컴퓨터 시스템(multi-computer system) 소결합 시스템(loosely-coupled system) : 각각 메모리를 갖고 있어 다중 프로세서 시스템보다 결합이 약하다. 3가지 장점 : pe..

    운영체제의 역사

    1. No Operating System 1940년대말 ~ 1950년대 Card Reader > memory > processing > line printer 2. Batch Processing(일괄 처리) 최초의 운영체제 다음과 같은 일련의 과정을 컴퓨터가 대신한다. 1. 소스코드 카드를 카드리더기에 넣는다. 2. 소스코드를 메모리에 적재한다. 3. 컴파일러를 다시 카드리더기에 넣는다. 4. 컴파일러를 메모리에 적재하여 소스코드를 번역한다. 5. 라이브러리와 링크한다. 6. 로딩 그 전까지는 위 과정을 사람(Operator)가 직접 했다. 메모리 안에 들어가는 작은 프로그램을 resident monitor라고 불렀다. (resident = 상주한다) 3. Multiprogramming system (다..