기초 CS 정리36 데드락 DeadLock 두 개이상의 프로세스나 스레드가 서로 자원을 얻지 못하여 다음 처리를 하지 못하여, 무한히 다음 자원을 기다리게 되는 교착 상태 현재 서로 원하는 자원이 상대방에 할당되어 있어서 두 프로세스는 무한정 wait 상태에 빠진다. ex. 멀티 프로그래밍 환경에서 한정된 자원을 얻기 위해 서로 경쟁하는 상황 데드락 발생 조건 상호 배제 (Mutual Exclusion) : 자원은 한번에 한 프로세스만 사용할 수 있음 점유 대기 (Hold and wait) : 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용하고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 존재해야 함 비선점 (No preemption) : 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없음 순환.. 2023. 1. 31. CPU Scheduling 조건 : 오버헤드 🔽 사용률 🔼 기아현상 🔽 목표 Batch System : 가능하면 많은 일을 수행, 시간보단 처리량이 중요 Interactive System : 빠른 응답 시간, 적은 대기 시간 Real-time System : deadline 맞추기 선점/ 비선점 스케쥴링 선점(preemptive) : OS가 CPU의 사용권을 선점할 수 있는 경우, 강제 회수하는 경우 → 처리 시간 예측이 어려움 비선점(non-preemptive) : 프로세스 종료 혹은 I/O 등의 이벤트가 있을 때까지 실행 보장 → 처리 시간 예측이 용이 프로세스 상태 선점 스케줄링 : Interrupt, I/O or Event Completion, I/O or Event Wait, Exit 비선점 스케줄링 : I/O or Ev.. 2023. 1. 31. IPC(Inter Process Communication) IPC (Inter Process Communication) 프로세스는 독립적으로 실행되어 다른 프로세스에 영향을 받지 않는다. 다만 스레드는 프로세스 안에서 자원을 공유하므로 영향을 받는다. 프로세스 간의 통신을 해야하는 상황이 있는데 이때 필요한 것이 IPC통신이다. 프로세스는 커널이 제공하는 IPC 설비를 이용하여 프로세스간 통신을 할 수 있게 된다. 커널 : 운영체제의 핵심, 다른 모든 부분에 여러 기본적인 서비스를 제공 IPC 종류 익명 PIPE 파이프는 2개의 프로세스를 연결하는데 하나의 프로세스는 데이터를 쓰기만 하고 다른 하나는 데이터를 읽기만 할 수 있다. 한쪽 방향으로만 통신이 가능한 반이중 통신 통신할 프로세스를 명확히 알 수 있는 경우 사용 (부모-자식 간 통신) 간단하게 사용할 수.. 2023. 1. 30. Process Control Block(PCB)와 Context Switching Process Management : CPU의 프로세스가 여러 개 일 때, CPU 스케줄링을 통해 관리하는 것을 말한다. Process Metadata : 프로세스들의 특징을 가지고 있는 것 Process ID Process State Process Priority CPU Registers Owner CPU Usage Memory Usage 해당 메타데이터는 프로세스가 생성되면 PCB(Process Control Block)에 저장된다. PCB(Process Control Block) 프로세스 메타데이터들을 저장하는 곳 PCB 안에는 한 프로세스의 정보가 담긴다. 프로그램 실행 → 프로세스 생성 → 프로세스 주소 공간에 {코드, 스택, 데이터} 생성 → 이 프로세스의 메타데이터들이 PCB에 저장 PCB이.. 2023. 1. 29. 이전 1 ··· 4 5 6 7 8 9 다음