1. 순차접근 저장장치데이터를 순차적으로 읽거나 쓸 수 있는 저장장치예 : 테이프 장치특징초기 접근시간이 굉장히 오래 걸림대량의 데이터 백업용으로 사용2. 직접접근 저장장치지정한 위치를 직접 찾아 데이터를 읽거나 쓸 수 있는 저장장치임의접근 저장장치예 : 자기 디스크, 광디스크, SSD자기 디스크자성을 띤 디스크의 표면에 데이터를 쓰거나 읽음광디스크디스크 표면에 레이저를 쏘아 반사되는 빛의 차이를 이용하여 데이터를 읽거나 씀예 : CD-ROM, CD-RW, DVD, 블루레이 디스크 등나선형인 하나의 트랙으로 구성SSD읽고 쓰기가 가능하면서 전력공급이 없어도 데이터가 지워지지 않는 메모리 이용자기 디스크보다 속도가 빠르고 전력 소모가 적음용량 대비 가격이 비싸며 수명이 짧음3. 디스크 스케줄링디스크 접근 ..
1. 컴퓨터 시스템의 구성다양한 장치들CPU, 메모리 : 프로세스 실행에 필수적인 장치나머지 장치들 : 프로세스 실행 시 데이터 입력이나 출력에 사용되는 입출력 장치2. 입출력장치의 구분세 가지 범주전용장치, 공용장치, 가상장치구분 기준장치의 기능적 특징장치관리자의 관리 방법3. 입출력장치의 구분전용장치한 번에 단지 하나의 프로세스에만 할당예 : 테이프 드라이브, 프린터, 플로터 등단점 : 대기시간이 길어질 수 있음공용장치여러 프로세스에 동시에 할당예 : 디스크 같은 직접접근 저장장치스케줄링 기법 필요가상장치전용장치를 공용장치처럼 보이게 함디스크 같은 공용장치를 이용예 : 스풀링을 적용한 플로터 등4. 논리적 구성장치 제어기장치를 직접적으로 다루는 전자장치( 하드웨어 범주에 포함 )장치에서 발생하는 각종..
1. 페이징 기법모든 페이지 프레임이 사용되고 있을 때 새로운 적재되어야 할 페이지를 위해 적절한 교체 대상을 결정모든 페이지 프레임( 메모리 공간 )이 꽉 찬 상태에서 새로운 페이지가 필요하게 되면,운영체제는 기존 페이지 중 하나를 교체 대상으로 선택하여 보조기억장치에 저장한 뒤,새롭게 필요한 페이지를 메모리에 적재2. 교체 대상 선택최적화의 원칙앞으로 가장 오랫동안 사용되지 않을 페이지를 교체 대상으로 선택이론적으로 최적이나 미래를 예측할 수 없어 실현 불가능선택을 위한 기본 정책대체로 좋은 결론은 내리면서 선택을 위한 시간 및 공간 오버헤드가 적은 방법교체 제외 페이지페이징을 위한 커널 코드 영역보조기억장치 드라이버 영역시간을 맞춰 동작해야 하는 코드 영역입출력장치를 위한 데이터 버퍼 영역 등3. ..
1. 연속 메모리 할당메모리 크기보다 더 큰 기억공간이 필요한 프로세스는 실행 불가2. 가상 메모리메모리 크기보다 더 큰 기억공간이 필요한 프로세스도 실행할 수 있게 하는 방법실행 중인 프로세스에 의해 참조되는 주소( 가상주소 )를 메모리에서 사용하는 주소( 실주소 )와 분리전체 프로세스 중에서 현재 필요한 일부만 메모리에 적재보조기억장치에 전체 프로세스를 두고 일부만 메모리에 적재하는 방법3. 사상( mapping )프로세스 실행을 위해 가상주소를 실주소로 변환하는 과정주소 변환 기법동적 주소변환( DAT )프로세스가 실행되는 동안 사상특징인위적 연속성가상주소 공간에서 연속적인 주소가 실주소 공간에서도 연속적일 필요는 없음4. 주소변환주소변환 사상표동적 주소변환을 위한 정보를 가진 표가상 메모리의 주소..
1. 프로세스의 동작프로그램 카운터(PC)를 참조하여 수행될 명령을 메모리에서 읽어 CPU로 수행하는 것2. 기억장치 계층구조적절한 비용으로 높은 성능을 냄보조 기억장치 ↔ 메모리 ↔ 캐시 메모리 ↔ CPU ( 레지스터 )보조 기억장치 → CPU( 레지스터 )로 갈 수록 접근속도가 빠르고 비트당 기억장치 비용이 높음보조 기억장치 ← CPU( 레지스터 )로 갈 수록 대용량3. 메모리 관리메모리 호출언제 새로운 프로세스를 메모리에 둘 것인가?메모리 배치다음에 실행될 프로세스를 메모리 내의 어느 곳에 둘 것인가?메모리 교체메모리가 꽉 찬 상태에서 새로운 프로세스를 메모리에 적재해야 한다면 어떤 프로세스를 제거할 것인가?그 외고정/동적 분할, 고정/유동 적재영역 등4. 단일 프로그래밍하나의 프로세스만 메모리를 ..
1. 교착상태 회피프로세스의 자원 사용에 대한 사전 정보를 활용하여 교착상태가 발생하지 않는 상태에 머물도록 하는 방법사전정보현재 할당된 자원가용상태의 자원프로세스들의 최대 요구량2. 안전상태와 안전 순서열안전 상태 → 교착상태가 발생하지 않음교착상태를 회피하면서 각 프로세스에 그들의 최대 요구량까지 빠짐없이 자원을 할당할 수 있는 상태안전순서열이 존재하는 경우불안전 상태안전순서열이 존재하지 않는 경우교착상태가 발생할 수 있음3. 안전 순서열순서가 있는 프로세스의 집합 각 pi에 대해, pi가 추가로 요구할 수 있는 자원의 양이 현재 가용상태의 자원으로 충당되거나, 혹은 여기에 pj( 단, j 4. 교착상태 회피교착상태는 불안전 상태에서만 발생 가능항상 안전상태를 유지해야 함프로세스가 가용상태의 자원을 ..
1. 프로세스의 자원 사용 절차요구 → 사용 → 해제요구과정에서 가용한 자원이 없으면 자원을 획득할 때까지 대기2. 교착상태 ( Deadlock )여러 개의 프로세스가 서로 상대방의 작업이 끝나기만 기다리고 있어 어느 쪽도 영원히 진행하지 못하는 상태3. 교착상태와 기아상태의 차이교착상태 : 누구도 어느쪽으로도 진행하지 못하는 상태기아상태 : 현재는 진행하지 못하지만, 언젠가는 진행할 수 있는 가능성이 있는 상태4. 교착상태의 필요조건아래의 네 가지 조건이 동시에 만족될 때 교착상태 발생 가능 ( 무조건 발생하는건 X )상호배제점유대기비선점환형대기5. 상호배제( Mutual Exclusion ) 조건프로세스가 자원에 대한 배타적인 통제권을 요구적어도 하나 이상의 자원은 여러 프로세스에 의해 동시에 사용될..
1. 생산자 - 소비자 문제 정의두 협력 프로세스 사이에 버퍼를 두고 생산자와 소비자의 상황을 다루는 문제생산자 : 버퍼에 데이터를 넣는 프로세스소비자 : 버퍼에서 데이터를 꺼내는 프로세스2. 생산자 - 소비자 문제 조건버퍼에 여러 프로세스가 동시에 접근할 수 없음버퍼에 데이터를 넣는 동안에는 데이터를 꺼낼 수 없음버퍼에서 데이터를 꺼내는 동안에는 데이터를 넣을 수 없음→ 상호배제 필요버퍼의 크기가 유한 ( 유한 버퍼 문제 )버퍼가 가득 찬 경우 생산자는 대기해야 함버퍼가 빈 경우 소비자는 대기해야 함→ 동기화 필요3. 세마포어를 이용한 해결 ( 생산자 - 소비자 문제 )상호배제 : 세마포어 mutex ( 초기값 : 1 )버퍼에 데이터를 넣는 부분과 버퍼에서 데이터를 꺼내는 부분은 임계영역에 해당생산자 ..
1. 병행성과 병행 프로세스병행성 ( Concurrency )여러 개의 프로세스 또는 쓰레드가 동시 수행되는 시스템의 특성병행 프로세스동시 수행되는 여러 개의 프로세스 또는 쓰레드2. 병행 프로세스의 실행 형태1개의 CPU : 인터리빙 형식복수의 프로세스를 번걸아가면서 처리사실 한 시점에는 하나의 프로세스만 처리여러 개의 CPU : 병렬처리 형식하나의 프로세스를 하나의 CPU가 담당하여 처리3. 병행 프로세스의 실행 형태멀티 프로세스 시스템에서의 메모리 구조에 따라 강결합 시스템과 약결합 시스템으로 구분강결합 시스템 ( 공유 메모리 구조 )여러 CPU가 하나의 메모리를 공유하여 사용약결합 시스템 ( 분산 메모리 구조 )여러 컴퓨터 시스템이 존재하나의 컴퓨터 시스템 속에는 하나의 CPU와 하나의 메모리가 ..
1. 프로세스 스케줄링스케줄링여러 가지 작업의 처리순서를 결정하는 것ex ) 프로세스 스케줄링, 디스크 스케줄링 등프로세스 스케줄링주어진 프로세스가 여러 개인 경우, 프로세스 처리순서를 결정하는 것2. 스케줄링 단계시스템에 들어오는 작업들 대상으로 상위 단계 스케줄링 →시스템의 자원을 효율적으로 이용할 수 있도록 함활성화된 작업들 내에서 하위단계 스케줄링 →준비 큐에 있는 프로세스를 선택하여 사용가능한 CPU를 할당( 디스패치 )하는 역할수행 주체 : 디스패처( dispatcher )작업이 너무 많을 때는 중간단계 스케줄링 실행중간단계 스케줄링은 일시 중지된 작업과 활성화된 작업들 사이에서 시스템에 대한 단기적인 부하를 조절3. 스케줄링의 목표기본 목표공정성 : 모든 프로세스가 적정 수준에서 CPU 작업..