
[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 디스크의 구조 - 보조기억장치로는 자기디스크를 사용하게 되었으며, 자기디스크는 컴퓨터 시스템에서 대용량 보조기억장치뿐만 아니라 온라인 기억장치로도 사용함 (참고) 보조기억장치의 목적 : 방대한 데이터를 영구히 저장하는 것 - 디스크 시스템은 디스크 드라이버, 프로세서, 디스크 제어기로 나눌 수 있음 1) 디스크 드라이버 : 구동 모터, 액세스 암 이동장치, 입출력 헤드 부분의 기계적인 부분 담당하며, 탐색/기록/판독 등 명령 수행 2) 프로세서 : 원하는 컴퓨터의 논리적인 상호작용, 즉 원하는 데이터의 위치(디스크 주소)와 버퍼, 판독, 기록 등을 관리 3) 디스크 제어기 : 디스크 드라이버의 인터페이스 역할로, 프로세서에서 명령을 받아..

[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 입출력 시스템과 입출력 모듈 - 입출력 시스템(I/O System) : 모니터나 프린터 같은 하드웨어 장치와 같은 물리적 장치 뿐만 아니라 입출력 모듈까지 포함하는 개념 - 물리적 입출력장치가 실제로 입출력을 수행하고, 입출력 모듈은 메모리나 프로세서, 레지스터 등 내부 저장장치와 물리적 입출력장치 사이의 이진 정보를 전송하는 방법을 제공함 - 입출력 채널(I/O Channel) / 입출력 프로세서(I/O Processor) : 입출력 모듈이 프로세서를 대신하여 입출력과 관련된 복잡한 일을 처리 - 입출력 제어기(I/O Controller) / 장치 제어기(Device Controller) : 프로세서의 입출려과 관련된 일을 담당 [컴퓨..

[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 가상 메모리(Virtual Memory) - 메모리 관리 방법을 토대로 제공하는 기술 - 다중 프로그래밍 환경에서 흔히 사용하며 메인 메모리보다 더 큰 저장 공간을 제공하는 방법 - 사용자와 논리적 주소를 물리적으로 분리하여 사용자가 메인 메모리 용량을 초과한 프로세스에 주소를 지정해서 메모리를 제한 없이 사용할 수 있도록 하는 것 * 동적 주소 변환(DAT, Dynamic Address Translation) - 가상 주소와 물리적 주소를 매핑하는 방법 - 인위적으로 연속적이며, 가상 주소에서 연속적이라고 메인 메모리에서도 연속적일 필요는 없음 * 요구 페이징 - 가상 메모리에서 많이 사용하는 메모리 관리 방법으로, 프로그램을 실행하려..

[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 메모리 할당 방법 - 연속 메모리 적재 방법 : 연속적으로 적재 - 비연속(분산) 메모리 적재 방법 : 페이지나 세그먼트 단위로 나눠 여러 곳에 적재 * 연속 메모리 할당 - 고정 분할 방법 : 메모리를 여러 개의 고정된 크기로 분할함 - 가변 분할 방법 : 필요한 만큼 메모리를 할당함 * 고정 분할 방법(Fixed Partition Allocation) - 메모리를 여러 개의 고정된 크기로 분할하고, 분할한 각 메모리는 프로세스, 즉 작업 하나를 실행 할 수 있음 - 논리적 주소가 분할된 메모리보다 크면 오류 발생하고, 작으면 내부 단편화 발생함 - 프로그래밍의 성능이 분할 수에 제한을 받음 * 내부 단편화(Internal Fragme..

[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 메모리 관리 - 프로세스들을 위해 메모리를 할당하고 제거하며 보호하는 활동 - 디스크에 있는 프로그램을 실행하기 위해 먼저 메모리에 적재한 후 메모리 관리자가 예약된 메모리를 할당해 주는 것도 해당됨 - 다중 프로그래밍 시스템에서는 여러 프로세스가 메모리에 상주할 수 있도록 운영체제가 동적으로 메모리를 세분화 하는 것도 해당됨 - 메모리 관리자는 메모리에 관련된 여러 정책을 수립하고, 정책에 따라 메모리를 관리함(주요 정책 : 적재 정책, 배치 정책, 대치 정책) * 적재 정책(Fetch Policy) - 디스크에서 메모리로 프로세스를 반입할 시기를 결정하는 것 - 요구 적재 : 운영체제나 시스템 프로그램, 사용자 프로그램 등 참조 요청..
[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 선입선처리 스케줄링(FCFS, First Come First Served) - 선입선출 스케줄링(FIFO, First In First Out)이라고도 함 - 프로세서를 요청하는 순서대로 프로세서를 할당하며, 선입선출 큐로 구현함 - 비선점 스케줄링 장점 - 스케줄링의 이해와 구현이 단순함 - 준비 큐에 있는 모든 프로세스가 결국 실행되므로 기아 없는 공정한 정책임 - 프로세서가 지속적으로 유용한 프로세스를 수행하여 처리율이 높음 단점 - 비선점식이므로 대화식 프로세스(작업)에는 부적합함 - 장기 실행 프로세스가 뒤의 프로세스(작업)를 모두 지연시켜 평균 대기시간이 길어져 최악의 대기시간이 됨 - 긴 프로세스(작업)가 실행되는 동안 짧은 ..

[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 스케줄링(Scheduling) - 여러 프로세스가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정하는 것 - 좋은 스케줄링은 프로세서의 효율성을 높이고, 작업(프로세스)의 응답 시간을 최소화하여 시스템의 작업 처리 능력을 향상 시킴 - 스케줄링이 필요한 프로세스 : 사용자 프로세스, 시스템 호출로 발생하는 시스템 프로세스 - 스케줄링이 필요 없는 프로세스 : 인터럽트 처리, 오류 처리, 사용자의 시스템 호출 등의 사전 처리가 대표적임 * 스케줄링의 목적 - 자원 할당의 공정성 보장 - 단위시간당 처리량 최대화 - 적절한 반환시간 보장 - 예측 가능성 보장 - 오버헤드 최소화 - 자원 사용의 균형 유지 - 반환시간과 자원..

[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다. * 교착 상태(Deadlock) - 시스템 자원에 요구가 뒤엉킨 상태로, 두 프로세스가 사용하는 자원(비공유)을 서로 기다리고 있을 때 발생함 - 다른 하나를 완료하지 않으면 프로세스를 더 이상 진행할 수 없고, 진행하지 않으면 프로세스를 완료할 수 없음 -> 따라서 둘 이상의 작업이 중단되고 프로세스들은 서로 사용할 자원을 기다리고만 있게 됨 * 프로세스 자원 사용 순서 - 자원 요청 : 프로세스가 필요한 자원을 요청하는데, 해당 자원을 사용할 수 있으면 요청을 즉시 수락하지만 해당 자원을 다른 프로세스가 사용 중이면 요청을 수락할 때까지 기다려야 함 - 자원 사용 : 프로세스가 요청한 자원을 획득하여 사용함. 예를 들어, 요청한 자원이 ..