[CS] 운영체제 - 프로세스 동기화
·
Computer Science/Operating System
데이터의 접근 순서는 아래와 같다. 1. 저장된 곳에 있는 Data를 연산하는 곳으로 보낸다. 2. 연산하는 부분에서 연산 후 연산 결과를 다시 원래 위치로 보낸다. ex) CPU와 Memory (프로세스가 연산의 주체이고 주소공간이 저장소임) Race condition 예를 들어 저장소를 다른곳에서 동시에 사용할 때 문제가 생길 수 있다. 이 때 이러한 문제를 해결해야 한다. OS에서 Race condition 문제가 발생하는 상황은 다음과 같다. Kernel 수행 중 인터럽트 발생 시 커널모드 실행중 interrupt가 발생하여 인터럽트 처리루틴이 수행한다. 양 쪽 다 커널 코드 이므로 kernel address space가 공유된다. Process가 system call을 해서 kernel mode..
[CS] 운영체제 - 프로세스 관리
·
Computer Science/Operating System
프로세스 생성 부모 프로세스가 자식 프로세스를 생성한다. 프로세스의 트리를 형성한다. 프로세스는 자원을 필요로 한다. 이러한 자원은 운영체제로부터 받으며, 부모와 공유한다. 자원 공유 종류는 크게 3가지가 있다. 부모와 자식의 모든 자원을 공유하는 모델, 일부를 공유하는 모델, 전혀 공유하지 않는 모델이 있다. 수행: 부모와 자식이 공존하며 수행되는 모델과 자식이 종료될 떄까지 부모가 기다리는 모델이 있다. 자식은 부모의 주소 공간을 복사하고, 그 공간에 새로운 프로그램을 올린다. Copy-on-write란 내용이 바뀔때 카피해서 새로운 내용을 만드는것을 말한다. 프로세스 종료 프로세스가 마지막 명령을 수행한 후 운영체제에게 알려준다. (exit라는 system call을 사용함) 프로세스 종료시 자식이..
[CS] 운영체제 - 프로세스
·
Computer Science/Operating System
프로세스란 컴퓨터에서 실행되고 있는 컴퓨터 프로그램을 말한다. 프로세스의 문맥(context) CPU 수행 상태를 나타내는 하드웨어 문맥이다. 프로세스의 주소 공간 (code, data, stack) 프로세스 관련 커널 자료 구조 (PCB, Kernel stack) 프로세스의 상태 프로세스는 상태가 변경되며 수행된다. Running: CPU를 잡고 instruction을 수행중인 상태이다. Ready: CPU를 기다리는 상태이다.(메모리 등 다른 조건을 모두 만족하고 있는 상태) Blocked (wait, sleep) CPU를 주어도 당장 instruction을 수행할 수 없는 상태이다. process 자신이 요청한 event가 만족하지 않아서 이를 기다리는 상태이다. ex) 디스크에서 file을 읽어와..
얼은펭귄
'프로세스' 태그의 글 목록