[Computer Science] [운영체제] 동기화와 교착상태
·
Computer Science/Operating System
동기화와 교착상태동기화동시다발적으로 실행되는 프로세스와 스레드의 실행 순서와 자원의 일관성을 보장해야 한다.운영체제가 제공하는 동기화의 의미실행 순서 제어: 프로세스를 올바른 순서로 실행하기 (실행 순서 제어를 위한 동기화)Book.txt가 없다면 파일을 만들고 값을 쓰고 저장하는 프로세스Book.txt를 읽어들이는 프로세스여기서 2번은 Book.txt가 있다는 조건이 만족되어야만 실행 가능즉, 1 → 2 순으로 실행해야만 올바르게 실행된다.상호 배제: 동시에 접근해서는 안되는 자원에 하나만 접근하기2만원 입금 프로세스잔액을 읽어들인다잔액에 2만원을 더한다더한 값을 저장한다  5만원 입금 프로세스잔액을 읽어들인다잔액에 5만원을 더한다더한 값을 저장한다  문제의 근본적인 발생 원인동시에 접근해서는 안되는 ..
[Computer Science] [운영체제] CPU 스케줄링
·
Computer Science/Operating System
프로세스 우선순위와 스케줄링 큐스케줄링여러개의 프로세스가 동시다발적으로 실행된다.모든 프로세스는 실행하기 위해 자원이 필요하다.운영체제가 공정하고 합리적으로 자원을 배분하는 방법이 스케줄링이다.모든 프로세스(및 스레드)는 실행되기 위해 CPU를 필요로 한다여러 프로세스들이 CPU를 나눠 사용하는 방법?정해진 시간 동안 돌아가면서 CPU를 사용하는 것이 가장 좋지 않을까?아니다. 프로세스마다 우선 순위가 다르다프로세스 우선순위는 PCB에 명시 된다.CPU 우선순위가 높은 프로세스는 더 많이 할당받아 실행이 자중하다.PRI, NI : 낮을수록 높은 우선순위, PRI는 운영체제, NI는 사용자우선순위의 차이를 보이는 대표적인 프로세스 유형I/O bound process, CPU bound processI/O ..
[Computer Science] [운영체제] 프로세스와 스레드
·
Computer Science/Operating System
프로세스와 스레드프로세스란 실행중인 프로그램을 뜻한다.같은 프로그램도 별도의 프로세스가 될 수 있다.포그라운드 프로세스 & 백그라운드 포로세스많은 종류의 프로세스가 있지만 대표적인 프로세스가 포그라운드 프로세스 & 백그라운드 포로세스가 있다.백그라운드 프로세스들 중에서는 지금 당장 사용자와 상호작용이 없지만 대기중에 있는 애들이 서비스에 있다.프로세스 제어 블록(PCB)동시다발적으로 실행되는 프로세스를 효율적으로 관리하기 위해서 PCB가 있다.프로세스의 꼬리표라고 생각하면 좋다. 모든 프로세스마다 갖고 있다.같은 프로그램도 별도의 프로세스가 있으면 각각의 PCB를 갖고 있다.PID: Process ID, 프로세스에 할당되어 있는 고유한 번호, 식별자레지스터스케줄링 정보메모리 정보사용한 파일 정보입출력장치..