본문 바로가기

study-knou/운영체제

(5)
병행 프로세스 2 어떠한 작업을 병행 프로세스로 구현할 경우 각각의 프로세스들이 완전히 독립적으로 동작함으로써 단지 실행 성능을 높이고자 하는 경우도 가능하겠지만, 일반적으로는 병행 실행되는 프로세스들이 상호협력하며 진행된다. 생산자/소비자 문제, 판독기/기록기 문제의 예를 통해 상호협력 프로세스의 일반적 구현 방법을 살펴보고, 병행 프로세스 사이의 통신을 위한 방법에 대하여 논리적 측면에서 살펴본다. 목표 세마포어를 이용하여 생산자/소비자 문제를 해결할 수 있다. 세마포어를 이용하여 판독기/기록기 문제를 해결할 수 있다. 프로세스 사이의 통신을 위한 논리적 구조에 대해 설명할 수 있다. 프로세스의 상호 협력 병행 프로세스들의 상호 협력 공통작업을 수행하기 위해 서로 협동하는 경우 생산자/소비자 문제 생산자 -> 버퍼 -..
병행 프로세스 1 병행 프로세스는 여러 개의 프로세스가 동시에 병행하여 실행되는 것을 의미한다. 최근 많은 응용에서 단순한 순차 처리가 아닌 병행 처리를 필요로 하고 있다. 일례로 멀티미디어 응용에서는 여러 종류의 미디어가 동시에 재생되어야 하며, 이를 위한 처리가 병행하여 이루어져야 한다. 특히 이처럼 병행 처리되는 프로세스가 서로 유기적으로 상호작용하며 동작하기 위해서는 해결해야 할 많은 문제가 발생한다. 병행 프로세스의 기본 개념과 함께, 병행 프로세스의 처리과정에서 이슈가 되는 자원의 공유, 동기화 등을 위해 제공되는 장치들에 대하여 살펴본다. 학습목표 병행성의 개념을 설명할 수 있다. 병행 프로세스의 실행으로 인해 발생할 수 있는 자원의 공유, 동기화 등의 문제를 설명할 수 있다. Test-and-Set과 세마포..
스케줄링 알고리즘 개요 운영체제는 실행할 준비가 된 프로세스들이 적절히 CPU를 배정받아 효율적으로 작업을 처리할 수 있도록 관리해야 하고, 이를 위해서 다양한 스케줄링 알고리즘을 활용한다. 스케줄링 알고리즘의 성능 평가 기준과 함께 여러 가지 스케줄링 기법에 대하여 살펴본다. 스케줄링 성능 평가 기준 평균 대기 시간 평균 반환 시간 - 스케줄링 알고리즘 FCFS 스케줄링 (first-come first-served) 비선점 스케줄링 알고리즘 준비 큐에 도착한 순서에 따라 디스패치 장점 가장 간단한 스케줄링 기법 단점 짧은 프로세스가 긴 프로세스를 기다리거나, 중요한 프로세스가 나중에 수행될 수 있음 프로세스들의 도착 순서에 따라 평균 반환시간이 크게 변함 SJF 스케줄링 (Shortestd Job First) 비선점 스..
2. 프로세스 개요 프로세스 - 프로세스 : 실행중인 프로그램- 프로그램 : 동작을 하지 않는 정적/수동적 개체- 프로세스 : 동작을 하는 능동적 개체 - 운영체제로부터 자원을 할당받아 동작- 자원 : cpu, 메모리, 입출력장치, 파일 등- 동작 : cpu가 프로세스의 명령을 실행 - 사용자 및 시스템 프로세스 존재- 프로세스 관리자의 역할- 프로세스를 생성 및 삭제- 프로세스 실행(CPU 할당)을 위한 스케줄 결정- 프로세스의 상태를 관리하며 상태 전이를 처리 - 프로세스의 상태5-상태 모델 (생성,준비,실행,종료,대기)- 생성 : 처음 작업이 시스템에 주어진 상태- 준비 : 실행 준비가 되어 cpu 할당을 기다리는 상태- 실행 : 프로세스가 처리되는 상태- 대기 : 프로세스가 특정 자원을 할당받을 때까지 또는 I/O ..
1강 운영체제의 개요 CPU의 동작 모드 - 보호 모드 -> *시스템 호출 -> 슈퍼바이저 모드 (운영체제) -> 커널 동작 -> 하드웨어 제어 - 슈퍼바이저 모드로 바뀌어야지만 운영체제로 하드웨어 컨트롤 가능 - *시스템 호출 : 응용 프로그램이 운영체제에게 서비스를 요청 - 운영체제 -> 하드웨어 컨트롤 커널? - 운영체제의 핵심 요소, 응용 프로그램과 하드웨어 수준의 처리 사이의 가교 역할- 일체형 커널, 마이크로 커널 - 일체형 커널(monolithic kernel) : 운영체제 의 모든 서비스가 커널 내에 포함, 커널 내 부 요소들이 서로 효율적으로 상호작용, 한 요소 오류 -> 시스템 전체 장애 발생 가능 (Unix, Linux) - 마이크로 커널(microkernel) 운영체제의 대부분 요소들을 커널 외부로 분 ..

728x90