방송통신대학교 - 컴퓨터과학과/운영체제
-
운영체제 9강. 가상 메모리 1방송통신대학교 - 컴퓨터과학과/운영체제 2022. 5. 3. 00:36
가상 메모리의 개념 가상 메모리 메모리 크기보다 더 큰 기억공간이 필요한 프로세스를 실행할 수 있게 하는 방법 프로세스에 의해 참조되는 주소를 메모리에서 사용하는 주소와 분리 (가상주소와 실주소를 분리) 현재 필요한 일부만 메모리에 적재 사상 프로세스 실행을 위해 가상주소를 실주소로 변환 동적 주소 변환 (DAT): 프로세스가 실행되는 동안 사상 인위적 연속성: 가상 주소 공간에서는 연속이지만 실주소 공간에서도 연속일 필요는 없음 블록 단위 주소 변환 블록 단위 주소 변환 블록 단위로 분류하여 각 블록이 메모리의 어디에 위치하는지를 관리 블록의 크기 작으면 사상정보가 많아지고, 크면 블록 전송시간이 길어짐, 적재할 프로세스 수도 적어짐 블록 구성 방식에 따른 분류 페이징 기법: 블록의 크기가 동일한 페이..
-
운영체제 8강. 메모리 관리방송통신대학교 - 컴퓨터과학과/운영체제 2022. 4. 28. 17:02
프로세스와 메모리 프로세스의 동작 프로그램 카운터를 참조하여 메모리로부터 수행될 명령을 읽어 CPU의 해당 명령을 수행 기억장치 계층 구조 적절한 비용으로 높은 성능을 낼 수 있도록 계층적으로 구성 CPU로 올라갈 수록 접근속도가 빠르고, 비트당 기억장치 비용이 높다. 보조기억장치로 내려갈 수록 용량이 커진다. CPU (레지스터) 캐시 기억장치 메모리 보조기억장치 메모리 관리 언제 새로운 프로세스를 메모리에 둘 것인가? 메모리 배치 실행될 프로세스를 메모리 내의 어느 곳에 둘 것인가? 메모리 교체 메모리가 꽉 찬 상태에서 새로운 프로세스를 적재해야 한다면 어떤 프로세스를 제거할 것인가? 그 외 메모리를 고정 분할할 것인가 동적 분할할 것인가? 프로세스의 적재 영역이 고정적인가 유동적인가? 단일 프로그래밍..
-
운영체제 6강. 교착상태 1방송통신대학교 - 컴퓨터과학과/운영체제 2022. 4. 26. 01:04
교착 상태의 개념 교착상태 (deadlock) 2개 이상의 프로세스가 서로 상대방의 작업이 끝나기만을 기다리고 있는 상태 결과적으로 아무도 완료되지 못함 교착상태와 기아 상태의 차이 교착상태: 아무리 기다려도 어떻게든지 해결되지 못함 기아상태: 기다리다보면 해소될 가능성이 있음 교착 상태의 특성 교착상태의 필요조건 네 가지 조건이 동시에 만족될 경우 교착상태가 발생할 수 있음 상호배제 조건 프로세스들이 자원에 대한 배타적인 통제권을 요구 적어도 하나 이상의 자원은 공동 사용될 수 없음 즉, 필요로 하는 자원을 다른 프로세스가 점유하고 있으면 반드시 대기해야 함 점유 대기 조건 프로세스가 이미 다른 자원을 할당받아 배타적으로 점유하고 있는 상황에서 다른 프로세스가 점유하고 있는 자원이 해제되기를 기다리는 ..
-
운영체제 5강. 병행 프로세스 2방송통신대학교 - 컴퓨터과학과/운영체제 2022. 4. 24. 23:50
프로세스의 상호협력 공통작업을 수행하기 위해 서로 협동하는 경우 예. 생산자/소비자 문제, 판독기/기록기 문제 프로세스 간의 통신 병행 프로세스 사이의 통신을 위한 방법 공유 기억장치 기법 프로세스 간에 공유 변수를 이용하여 정보를 교환 고속 통신 가능 통신기능 제공의 책임: 응용 프로그래머 메시지 시스템 기법 메시지 교환방식으로 정보를 교환 send/receive 연산자 소량의 데이터 교환에 유용 통신기능 제공의 책임: 운영체제 통신 링크: 프로세스들 사이에 메시지를 주고 받기 위한 연결통로 두 방법은 상호배타적이 아님 단일 운영체제 내에서 동시에 사용 가능 5강 정리. 생산자/소비자 문제는 상호배제와 동기화가 필요한 문제로 세마포어를 이용하여 구현할 수 있다. 판독기/기록기 문제에서 판독기는 동시에 ..
-
운영체제 4강. 병행 프로세스 1방송통신대학교 - 컴퓨터과학과/운영체제 2022. 4. 21. 15:08
병행 프로세스의 개념 병행성 여러 개의 프로세스 또는 쓰레드가 동시에 실행되는 시스템의 특성 병행 프로세스 동시에 실행되는 여러 개의 프로세스 또는 쓰레드 병행 프로세스의 실행 형태 CPU의 개수에 따른 병행 프로세스의 실행 형태 하나의 CPU에서 인터리빙 형식으로 실행 여러 개의 CPU에서 병렬 처리 형식으로 실행 여러 개의 CPU가 있을 경우 메모리 구조에 따른 병행 프로세스의 실행 형태 강결합 멀티프로세서 시스템: 공유 메모리 구조 약결합 멀티프로세서 시스템: 분산 메모리 구조 병행성 문제 병행 프로세스들이 상호작용 하는 경우 발생 공유자원 점유 문제 동기화 문제 통신 문제 상황에 따른 구분 단일 프로세스 내의 병행성 우선순위 그래프 (DAG) Fork / Join 구조 병행문 프로세스 간의 병행성..
-
운영체제 3강. 스케줄링 알고리즘방송통신대학교 - 컴퓨터과학과/운영체제 2022. 4. 20. 14:02
스케줄링 성능 평가 기준 평균 대기시간 각 프로세스가 수행이 완료될 때까지 준비 큐에서 기다리는 시간의 합의 평균 값 평균 반환시간 각 프로세스가 생성된 시점부터 수행이 완료된 시점까지의 소요시간의 평균값 다양한 스케줄링 알고리즘 FCFS 스케줄링 First-Come First-Served 비선점 스케줄링 알고리즘 준비 큐에 도착한 순서에 따라 디스패치 장점 가장 간단한 스케줄링 기법 단점 짧은 프로세스가 긴 프로세스를 기다리거나, 중요한 프로세스가 나중에 수행될 수 있음 프로세스들의 도착 순서에 따라 평균 반환시간이 크게 변함 SJF 스케줄링 Shortest Job First 비선점 스케줄링 알고리즘 준비 큐에서 기다리는 프로레스 중 실행시간이 가장 짧다고 예상된 것을 먼저 디스패치 장점 일괄처리 환경..
-
운영체제 2강. 프로세스 개요방송통신대학교 - 컴퓨터과학과/운영체제 2022. 4. 18. 22:59
1. 프로세스 실행 중인 프로그램 윈도우의 작업 관리자를 열어보면 떠 있는 프로그램들 프로그램을 실행하면 프로세스가 되는데 프로세스가 되면서 PID (프로세스 아이디) 라는 것이 생성된다. 프로그램: 동작을 하지 않는 정적, 수동적 개체 프로세스: 동작을 하는 능동적 개체 프로세스는 운영체제로부터 자원을 할당 받아서 동작하게 된다. 자원: CPU, 메모리, 입출력장치, 파일 등 동작: CPU가 프로세스의 명령을 실행 프로세스 관리자의 역할 프로세스를 생성 및 삭제 프로세스 실행 (CPU 할당)을 위한 스케줄 결정 프로세스의 상태를 관리하며 상태 전이를 처리 프로세스의 상태 5-상태 모델 생성: 처음 작업이 시스템에 주어진 상태 (메모리가 얼마나 필요한지, 요청이 얼마나 필요한지 사전에 미리 파악) 준비:..