💻CS

    [OS] 6. Process Scheduling 3

    이전의 FCFS, RR은 공평성에 초점을 두고 봤으나 이번에는 시스템적으로 효율성/성능에 초점을 둔 방법들을 보자. SPN (Shortest-Process-Next) Non-preemptive scheduling 스케줄링 기준 실행시간 (burst time 기준) Burst time이 가장 작은 프로세스를 먼저 처리해준다. (즉, 일찍 끝나는 것 부터 먼저 처리) SJF(Shortest Job First) scheduling 장점 평균 대기시간(WT: Waiting Time)을 최소화 할 수 있다. 시스템 내 프로세스 수 최소화 스케줄링 부하 감소, 메모리 절약 >> 시스템 효율 향상 많은 프로세스들에게 빠른 응답 시간 제공 단점 Starvation(무한대기) 현상 발생 BT가 긴 프로세스는 계속 자원을..

    [OS] 5. Process Scheduling 2

    기본적인 스케줄링 알고리즘 중에서 FCFS와 RR에 대해서 먼저 알아볼 것이다. FCFS (First-Come-First-Service) 말 그대로 "선착순" 알고리즘이라고 볼 수 있다. 먼저 들어오는 프로세스에 먼저 프로세서를 할당해주겠다는 것이다. Non-preemptive scheduling 스케줄링 기준 도착 시간을 기준으로 스케줄링한다 ready-queue에 먼저 도착한 프로세스를 먼저 처리 자원을 효율적으로 사용 가능 스케줄링 overhead가 적다. 프로세서(cpu)가 계속 일할 수 있다. Batch System에 적합, interactive system에 부적합 단점 Convoy effect 하나의 수행시간이 긴 프로세스에 의해 다른 프로세스들이 긴 대기시간을 갖게 되는 현상 (대기 시간 ..

    [OS] 5. Process Scheduling 1

    왜 프로세스 스케줄링을 해야할까? 하나의 프로세스가 아닌 다중 프로세스를 운영하게 될 경우, 프로세스들의 우선 순위를 조정해주는 일은 매우 중요하다. 중요한 일이라면 우선순위를 높여 자원을 할당해주어 먼저 처리해야하고, 상대적으로 우선순위가 낮은 프로세스는 후순위로 처리하여 효율적/효과적으로 업무를 수행할 필요가 있다. 즉, 프로세스 스케줄링은 다중 프로그래밍(프로세스가 여러 개) 환경에서 필요한 것이다. 스케줄링 : 자원을 할당할 프로세스를 선택하는 행위 자원을 관리하는데에는 두 가지 방법이 있다. 시간 분할(time sharing) 관리 하나의 자원을 여러 스레드들이 번갈아가며 사용 (ex. CPU(프로세서)) 프로세스 스케줄링 : 프로세서 사용시간을 프로세스들에게 분배. ex. 1 ~ 10초 까지는..

    [OS] 4. Thread Management

    이전에 프로세스에 대해 살펴보면서, Context Switch의 비용이 만만치 않기에 이를 줄이는 것이 중요하다고 했었다. 이에 등장했던 개념이 thread였는데, 이번에 한 번 살펴보자! 프로세스(Process)와 스레드(Thread) 프로세스는 자원을 할당받고, 자원을 제어하여 목적을 달성한다. 여기서 제어만 따로 떼어둔 것을 스레드라고 한다. 하나의 프로세스 안에 여러 스레드가 있을 수 있다(제어가 여러 개 있는 것) Thread란? LWP(Light Weight Process)라고도 한다 프로세서 활용의 기본 단위이다. 구성요소 Thread ID Register set (PC(program counter), SP(stack point)) Stack (지역 데이터) 프로세스의 코드, 데이터, 힙의 ..

    [OS] 3. Process Management

    프로세스란? 작업(Job) / 프로그램(Program) 실행할 프로그램 + 데이터 시스템에 실행 요청 전의 상태 (아직 디스크에 있는 상태) 프로세스(Process) 실행을 위해 시스템(커널)에 등록된 작업 (메모리를 할당 받았을 때 = 실행중인 프로그램) 시스템 성능 향상을 위해 커널에 의해 관리된다. 자원의 개념 커널의 관리 하에 프로세스에게 할당/반납되는 수동적인 객체를 의미한다. 자원은 H/W, S/W로 분류될 수 있다. H/W : 프로세서, 메모리, 디스크, 모니터 S/W : 메시지, 신호, 파일, 응용 프로그램 Process Control Block (PCB) 말 그대로 프로세스를 제어하는데 필요한 정보를 모아둔 블록을 의미한다. OS가 프로세스를 관리하기 위해 필요한 정보를 저장하는데 주 역..

    [Network] 전송계층 4

    http://www.kocw.net/home/cview.do?mty=p&kemId=1169634 컴퓨터네트워크 인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다. www.kocw.net Congestion Control이란? 이전에도 봤듯이, 모두가 함께 사용하는 네트워크를 혼잡하게 만들면 안된다. 즉, 요청(=전송량)을 나 혼자 살자고 네트워크에 쏟아부으면 안된다는 것이다. 이기적으로 행동해서 많은 양을 한 번에 전송하게 되면 결국 네트워크가 막히게 되고, 본인에게도 좋지 않은 결과를 가져다주게 된다. 결론적으로 전송량을 관리하는 것은 매우 중요한 요소 중 하나라는 것이다. 이에 등장하는 개념이 TCP Congestion Control, 말 그대로 TCP의 혼잡을 제어하는 역할을 한다. 즉 전송량을..