Computer Science/Operating System
-
입출력 시스템Computer Science/Operating System 2021. 1. 15. 13:53
질문 12.2 입출력 하드웨어 포트와 버스는 무엇인가? 포트 : 하드웨어와 컴퓨터 시스템을 연결하는 지점 버스 : 하나 이상의 장치들이 공동으로 연결되어 있는 선 컨트롤러란 무엇인가? 포트, 버스 또는 장치를 작동할 수 잇는 전자장치 집합체체 입출력 장치 컨트롤러는 어떻게 구성되어 있는가? 입력 레지스터 출력 레지스터 상태 레지스터 제어 레지스터 폴링 방식이란 무엇인가? 명령 준비 완료 비트가 설정된 것을 알아차릴 때까지, 호스트가 계속 검사 바쁜 대기 인터럽트 방식이란? CPU 하드웨어는 인터럽트 요청 라인이라고 불리는 선을 하나 갖는데, CPU는 매 명령어를 끝낸 다음 늘 이 선을 검사한다. 입출력 컨트롤러가 이 요청 라인에 신호를 보내면 CPU가 알아차리고 인터럽트 핸들러를 수행한다 트랩이란 무엇인..
-
대용량 저장장치 구조Computer Science/Operating System 2021. 1. 14. 23:20
질문 11.2 디스크 스케줄링 FCFS 스케줄링이란? 요청이 들어오는 순서대로 탐색합니다 매우 비효율적 SCAN 스케줄링이란? 디스크 암이 디스크의 한끝에서 시작하여 다른 끝으로 이동하며, 가는 길에 있는 요청을 모두 처리합니다. 다른 한쪽 끝에 도달하면 역방향으로 이동하면서 오는 길에 잇는 요청을 모두 처리합니다 C-SCAN 스케줄링이란? 헤드가 한쪽 끝에 도달했을 때 헤드 근처에 있는 요청들은 다 처리하면서 왔기 때문에 반대쪽에 가장 많은 요청이 몰려있을 것입니다 그렇기 때문에 헤드가 한쪽 끝에 도달했을 때 반대 방향으로 이동하는 것이 아닌 반대쪽 끝에서부터 다시 탐색합니다 11.5 저장장치 관리 드라이브를 사용하여 파일을 보유하려면 어떻게 하나요? 장치를 하나 이상의 블록 또는 페이지 그룹으로 파티..
-
가상 메모리Computer Science/Operating System 2021. 1. 14. 17:44
가상 메모리 질문 10.1 배경 가상 메모리란 무엇인가요? 가상 메모리란 프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하도록 하는 기법입 프로그램을 일부분만 메모리에 올려놓고 사용할 수 있다면 어떤 이점이 있나요? 프로그램은 물리 메모리 크기에 의해 더는 제약을 받지 않습니다. 각 프로그램이 더 작은 메모리를 차지하므로 더 많은 프로그램을 동시에 수행할 수 있습니다 프로그램을 메모리에 올리고 스왑하는 데 필요한 i/o횟수가 줄어들기 때문에 프로그램들이 빨리 실행됩니다 10.2 요구 페이징 요구 페이징이란? 보조저장장치에서 메모리로 프로그램을 적재할 때 필요한 페이지만 적재하는 기법 페이지가 메모리에 있는지 보조 저장 장치에 있는지 구분하는 방법은? 페이지 테이블에 유효-무효 비트를 만들어서 ..
-
메모리 관리Computer Science/Operating System 2021. 1. 14. 01:26
질문 9.1 배경 심볼릭 주소를 실제 물리 주소로 바인딩 하는 작업은 어느 시점에 일어나나요? 컴파일 시간 적재 시간 실행 시간 논리 주소와 물리 주소, 가상 주소는 무엇인가요? 논리 주소 : CPU가 생성하는 주소 물리 주소 : 메모리가 취급하게 되는 주소 가상 주소 : 논리 주소와 물리 주소가 다를 때 논리 주소 MMU(Memory Management Unit)이 하는 역할은 무엇인가요? 가상 주소를 물리 주소로 변환시켜 줍니다 재배치 레지스터란 무엇인가요? 가상 주소를 물리 주소로 변환시킬 때 기준이 되는 레지스터입니다 일반적으로 논리 주소 + 재배치 레지스터의 값이 물리 주소가 됩니다 9.2 연속 메모리 할당 운영체제와 다른 사용자 프로그램을 현재 수행중인 사용자 프로그램의 접근으로부터 보호하는 ..
-
교착 상태Computer Science/Operating System 2021. 1. 14. 00:56
질문 8.3 교착 상태 특성 교착 상태가 일어나는 필요조건들에는 어떤 것이 있나요? 상호 배제 : 최소한 하나의 자원이 비공유 모드로 점유되어야 합니다. 다른 스레드가 그 자원을 요청하면, 요청 스레드는 자원이 방출될 때까지 반드시 지연되어야 합니다. 점유하며 대기 : 스레드는 최소한 하나의 자원을 점유한 채, 현재 다른 스레드에 의해 점유된 자원을 추가로 얻기 위해 반드시 대기해야 합니다. 비선점 : 자원들은 강제적으로 방출될 수 없고, 점유하고 있는 스레드가 태스크를 종료한 후 그 스레드에 의해 자발적으로만 방출될 수 있습니다. 순환 대기 : 대기하고 있는 스레드들이 서로 연쇄적으로 서로의 자원을 대기합니다. 8.4 교착 상태 처리 방법 교착 상태를 처리하는 방법은 어떤 것이 있나요? 문제를 무시합니..
-
동기화 도구들Computer Science/Operating System 2021. 1. 10. 23:56
질문 6.1 배경 경쟁 상황이란 무엇인가? 동시에 여러 개의 프로세스가 동일한 자료를 접근하여 조작하고, 그 실행 결과가 접근이 발생한 특정 순서에 의존하는 상황을 경쟁 상황이라고 합니다. 6.2 임계 구역 문제 임계 구역이란 무엇인가요? 적어도 하나 이상의 다른 프로세스가 공유하는 데이터에 접근하고 갱신하는 구역 임계 구역 문제를 해결하기 위한 해결책의 3가지 요구 조건은 무엇인가요? 상호 배제 진행 한정된 대기 6.5 Mutex Locks 뮤텍스 락의 동작 원리는? acquire() 함수가 락을 획득하고, release() 함수가 락을 반환합니다. Mutex 락은 available이라고 불리는 불린 변수를 가지는데 이 변수 값이 락의 가용 여부를 표시합니다. 락이 가용하면 acquire() 호출은 성..
-
CPU 스케줄링Computer Science/Operating System 2021. 1. 10. 00:38
질문 5.1 기본 개념 CPU 스케줄러가 하는 역할은 무엇인가요? CPU가 유휴 상태가 될 때마다, 운영체제는 준 비 큐에 잇는 프로세스 중에서 하나를 선택해 실행해야 합니다. 이러한 선택 절차를 수행하는 역할을 합니다. 선점 스케줄링과 비선점 스케줄링의 차이는 무엇인가요? 비선점 스케줄링에서는 CPU가 한 프로세스에 할당되면 프로세스가 종료하든지, 또는 대기 상태로 전환해 CPU를 방출할 때까지 점유합니다. 선점 스케줄링에서는 CPU가 어떤 프로세스가 종료되기 전 다른 프로세스에 할당할 수 있습니다. 디스패처란 무엇인가요? 디스패처란 CPU 코어의 제어를 CPU 스케줄러가 선택한 프로세스에 주는 모듈이며, 문맥 교환, 사용자 모드 전환 등의 역할을 수행합니다. 5.2 스케줄링 기준 CPU 스케줄링 알고..
-
스레드와 병행성Computer Science/Operating System 2021. 1. 10. 00:08
질문 4.1 개요 스레드는 어떻게 구성되어 있는가? 스레드 id, 프로그램 카운터, 레지스터 집합, 스택으로 구성됨 단일 스레드 프로세스와 다중 스레드 프로세스의 차이? 다중 스레드 프로세스는 동시에 하나 이상의 작업을 수행할 수 있음 다중 스레드 프로그래밍의 장점은 무엇이 있는가? 응답성 : 동시에 많은 일을 처리할 수 있기 때문에 다른 작업을 하면서도 사용자의 요청에 응답할 수 있다. 자원 공유 : 프로세스는 공유 메모리와 메시지 전달 기법을 통해야만 자원을 공유할 수 있음. 반면에 스레드는 자신이 속한 프로세스의 자원들과 메모리를 공유할 수 있다. 경제성 : 스레드 생성은 프로세스 생성보다 시간과 메모리를 덜 소비한다 규모 적응성 : 병렬 수행이 가능하기 때문에 빠르다 4.2 다중 코어 프로그래밍 ..