본문 바로가기

Operating System4

[운영체제] Deadlocks 1. 데드락이란? = 교착 상태. 일련의 프로세스들이 서로가 가진 자원을 기다리며 블락된 상태 리소스(자원): 하드웨어, 소프트웨어 등 프로세스가 실행되기 위해 필요한 말 그대로의 자원 I/O 디바이스, CPU, memory space, semaphore 등 프로세스 자원 사용 절차: Request - Allocate - Use - Release 발생 예시) 프로세스들이 자원을 갖고 있는 상태로 다른 프로세스(교착 상태로)의 프로세스를 요청한 상황 2. 데드락 발생 조건 1) Mutual exclusion: 매 순간 하나의 프로세스만이 자원을 사용할 수 있는데, 동시에 여러 프로세스가 자원에 접근 할 때 발생 // CPU 독점 2) No preemption: 프로세스는 자원을 스스로 내어놓을 뿐 강제로 .. 2022. 5. 9.
[운영체제] Process Management 1. 프로세스 생성(Process Creation) COW(Copy-on-Write) 한 프로세스가 있으면, 그 프로세스가 다른 프로세스를 생성한다. 부모 프로세스가 자식 프로세스를 생성한다는 것과 같다. 그 자식은 또 다른 자식 프로세스를 생성하고, 반복되다 보면 프로세스의 트리(계층구조)가 형성된다. 프로세스는 자원을 필요로 하는데, (1)운영체제로부터 (직접) 받거나, (2)부모와 자원을 공유하는 두 종류가 있다. 더 자세하게는 (1)부모와 자식이 모든 자원을 공유, (2)부모와 자식이 일부를 공유, (3)전혀 공유하지 않는 경우 세 가지가 있다. 보통은 (3)공유하지 않는 경우가 많다. 왜냐하면 프로세스가 생성된 순간, 부모-자식은 원칙적으로 독립적인 프로세스가 되어 CPU 할당을 위해 경쟁하기 .. 2022. 4. 11.
[운영체제] System Structure & Program Execution 해당 글은 이화여대 권진욱 교수님 운영체제 강의, KOCW에 등록된 반효경 교수님 운영체제 강의, 운영체제 10판을 참고하여 작성하였습니다 아연 언니랑 운체 스터디 ☺️ 1. 컴퓨터 시스템 구조 1) CPU - Interrupts(끼어들기) 가장 헷갈린 부분이 '왜 발생하는가?' 였다 ➡️ 프로그램을 실행하는 도중 예기치 않은 오류가 발생했을 때 인터럽트가 호출된다 인터럽트 벡터는 인터럽트의 처리 루틴 주소를, 인터럽트 처리 루틴(=핸들러)은 해당 인터럽트를 처리하는 커널 함수를 의미 컨트롤러가 드라이버에게 작업완료사실을 인터럽트를 통해 전달한다 하드웨어는 어느 순간이든 시스템을 통해 CPU에 신호를 보내서 인터럽트를 발생시킬 수 있다 CPU가 인터럽트되면, 하던 일을 중단하고 즉시 고정된 위치로 실행을.. 2022. 4. 4.
[운영체제] Introduction to Operating System 해당 글은 이화여대 권진욱 교수님 운영체제 강의, KOCW에 등록된 반효경 교수님 운영체제 강의, 운영체제 10판을 참고하여 작성하였습니다. 운영체제란? 하드웨어를 관리하는 소프트웨어로, 응용프로그램을 위한 기반을 제공 + user-HW 사이의 중재자 (CPU, 메모리, I/O, 저장장치 등의) 자원을 프로그램에 할당 운영체제의 역할 (1) 사용자 관점(User View) 사용자의 용이성 - 사용자가 수행하는 작업을 최대화 이 경우, 자원을 어떻게 할당하는지는 거의 고려하지 않음 (2) 시스템 관점(System View) 자원할당자이자 제어 프로그램 운영체제의 목적 (1) 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공(사용자 관점) - 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행한다 - 운.. 2022. 4. 4.