728x90

Computer Science/Operating System 4

[운영체제-혼공] 교착상태(Deadlock)

▣ 교착상태란? : 두개이상의 프로세스가 서로가 가진 자원을 대기하고 있어 아무것도 진행되지 못하는 상태를 말한다. 즉, 각 프로세스가 다음에 필요한 자원을 다른 프로세스가 가지고 있어서 발생한다. 교착상태를 표현할 수 있는 자원 할당 그래프를 통해 알아보자. P1 : 프로세스R1: 자원의 종류● : 자원의 개수(ex : CPU)  교착상태의 발생 ○ 교착상태의 발생조건1. 상호 배제: 해당 자원을 한 번에 하나의 프로세스만 이용가능했기 때문에. 2. 점유와 대기 : 어떤 자원을 보유한채 다른 자원을 할당받기를 기다렸기 때문에.3. 비선점 : 다른 프로세스의 자원을 강제로 뺏지 못하기 때문에.4. 원형 대기 : 프로세스들과 프로세스가 요청 및 할당 받은 자원이 원의 형태(순환형태)를 이루었기 때문에.  ..

[운영체제 - 혼공] 동기화

프로세스의 동기화란? 프로세스들의 수행시기를 맞추는 것이다. 프로세스를 올바른 순서대로 실행하고, 동시에 접근해선 안될 자원을 관리한다. ■ 공유 자원과 임계구역프로세스들이 공동으로 사용하는것이 공유자원이며, 동시에 접근하면 발생하는 자원에 접근하는 코드영역을임계구역이라 한다. ● 레이스 컨디션 : 임계구역의 코드를 동시다발적으로 실핸하여 문제가 발생하는 것.● 임계구역 문제의 3가지 원칙   1. 상호 배제 : 한 프로세스가 임계구역에 진입하면 접근 금지.   2. 진행 : 임계구역에 어떤 프로세스도 진입하지 않았다면, 프로세스의 접근 허가.   3. 유한 대기 : 프로세스가 임계구역에 진입하고 싶다면 언젠가는 들어올 수 있다. (??) ■ 동기화 기법● 뮤텍스 락 : 상호 배제를 위하여 뮤텍스 락을 ..

[운영체제] CPU스케줄링

◈ CPU 스케줄링    : 운영체제가 프로세스들에게 공정하고 합리적으로 CPU자원을 배분하는 것을 말한다. ■ CPU우선순위  ● 프로세스 중 입출력이 많은 프로세스를 입출력 집중 프로세스, 연산 및 컴파일, 그래픽 처리작업등 CPU작업이 많은   프로세스를 CPU집중 프로세스라고 한다.    → 이를 바탕으로 각 프로세스의 PCB에 우선순위를 명시하고 먼저 처리할 프로세스를 결정한다.   □ 스케줄링 큐  ○ 운영체제가 일일이 모든 PCB를 검사하여 이용할 프로세스를 결정하는것은 시간이 오래걸리고 비효율적이다.    ○ 이를 위해 메모리에 적재되는 프로세스들을 큐에 줄을 세우고, CPU이용 프로세스들을 큐에 줄을 세워 관리한다.    ○ 대표적인 큐      - 준비 큐(re..

[운영체제] 프로세스 & 스레드

▣ 운영체제(OS, Operating System) - 하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하여 사용자가 컴퓨터를 편리하고 효과적으로 사용 할 수 있는 환경을 제공하는 시스템 소프트웨어. 메모리 커널 영역 운영체제 사용자 영역 응용프로그램1 메이플스토리(2000번지) 응용프로그램2 메모장(1500번지) 응용프로그램3 인터넷(1000번지) 운영체제는 항상 메모리의 커널 영역에 적재되어 실행되며, 응용프로그램을 메모리 주소가 겹치지 않게 적당한 공간에 적재(+삭제)시켜준다. 또한, 응용 프로그램 실행시 사용되는 CPU의 자원을 공정하게 할당한다. ※ 운영체제는 커널 영역에 포함되지만 운영체제가 제공하는 서비스인 사용자 인터페이스(User Interface)와 같은 바탕화면은 커널에 ..

728x90