메모리 관리자의 역할
- 주기억장치의 유휴 공간 관리
- 페이지 풀 관리 및 페이징
- VAS(Virtual Address Space)에 의한 메모리 보호
폴링(Polling) 방식 입출력
- 운영체제의 입출력 방식 중 운영체제가 입출력 연산의 종료 시점을 결정하고 주기억장치의 장치 제어 기간 데이터 전송을 CPU가 직접 입출력을 수행하는 방법
Exception
- 운영체제는 프로그램이 실행될 때 Divide Error, Stack Fault 등이 발생하면 실행 중인 프로세스를 중단하고 관련 오류를 처리함
메모리 분석의 중요성
- 대표적인 휘발성 자료
- 사용자의 프라이버시를 보호할 수 있음
- 메모리에 바로 로드되는 악성코드를 확인 가능
가상 메모리
- RAM + pagefile.sys
디스크 스케쥴링 기법
- 다수의 사용자가 서로 다른 작업을 처리하기 위하여 디스크의 입출력을 요구할 때 좀 더 효율적으로 요청을 처리하기 위한 기법
C-SCAN (Circular-SCAN)
- 디스크 스케쥴링 기법 중 헤드가 항상 바깥쪽 실린더에서 안쪽 실린더로 이동하면서 가장 짧은 탐색 시간을 갖는 요청을 서비스하는 기법
- 디스크 헤드의 실린더 이동 거리의 합을 최소화
- 디스크 실린더 양 끝 쪽에 위치한 데이터의 과도한 읽기 시간 지연 방지
이중 연산 모드
- 시스템 자원 보호를 위하여 사용됨
요구 페이징 기법
- 물리 메모리 주소를 구하기 위하여 하드웨어 지원을 받음
- 내부 단편화 현상으로 인하여 거의 모든 프로세스에 낭비가 있음
- 페이지 크기를 크게 하면 메모리 낭비가 커질 수 있음
TLB (Translation Look-aside Buffer)
- 가상 메모리 구현에 일반적으로 사용되는 페이징 기법은 가상 메모리 주소와 물리적 메모리 주소 간의 변환에 많은 CPU 시간이 낭비 될 수 있는데, 이런 주소 변환 시간을 줄이기위하여 사용하는 하드웨어
convoy 효과를 피하는 방법
- CPU를 많이 사용하는 프로세스의 스케줄링 우선 순위를 낮춤
다중 쓰레드 간 공유되는 자원
- 오픈된 파일 자원
- 동적으로 할당딘 메모리 공간
- 동기화를 위한 Semaphore 자원
쓰레싱 현상
- 가상 메모리 시스템을 채택하고 있는 시스템에서 발생 가능
- 시스템 내의 입/출력 처리 요청이 빠르게 증가
- 할당 가능한 메모리 공간이 부족할 때 발생
자원관리 기능
- 프로세스 관리, 기억장치 관리, 파일 관리
소프트웨어 폴링 방식 인터럽트 제어
- 인터럽트 요청 신호가 들어오면 각 입/출력 장치에 해당하는 주소를 차례로 조사하여 인터럽트를 요구한 장치를 찾음
- 시간은 많이 걸리나 인터럽트 검사 주기와 우선순위를 가변시킬 수 있어 편리
메모리의 단편화 발생문제를 해결하기 위한 방법
- 외부 단편화의 해결 방법으로 제안된 압축은 메모리 할당을 변화시켜 연속적인 공간을 만들어 사용할 수 있으나 프로세서 시간을 낭비하는 결과를 가져옴
- 세그멘테이션은 메모리의 내부 단편화 문제를 해결할 수 있는 방법으로 프로그램에서 서브루틴과 같은 의미를 가짐
- 세그멘테이션은 내부 단편화는 발생하지 않으나 외부 단편화가 발생할 수 있음
주기억장치 관리에 반입 (Fetch)
- 주기억장치에 적재할 다음 프로그램이나 데이터를 언제 가져올 것인가를 결정하는 문제
- 반입 기법에는 요구 반입 기법과 예상 반입 기법이 존재
- 예상 반입 기법은 앞으로 요구될 가능성이 큰 데이터 또는 프로그램을 예상하여 주기억장치로 미리 옮기는 방법
운영체제의 커널
- 프로세스 계층으로 운영되는 운영체제의 모듈과는 달리 확장된 기계 개념으로 운영되는 모든 운영체제를 총칭
- 컴퓨터의 하드웨어와 직접 상호작용하는 모듈
- 한정된 시스템 자원을 효율적으로 관리하여 프로그램의 실행을 원활하게 함
- 단일형 커널은 입출력 기능, 네트워크 기능, 장치 지원 등 운영체제의 일반적인 기능을 커널과 동일한 메모리 공간에 적재, 실행하는 기법을 의미
- 메모리, 프로세스 등을 관리
- OS의 중심부에 해당
- 프로세스 간의 통신을 담당
커널의 역할
- 프로세서 컨트롤러
- 내부 프로세스 통신
- 서브시스템
1계층
- 프로세서 관리로서 동기화와 프로세서의 스케줄링을 위한 프로세서를 담당
3계층
- 프로세스 관리로서 프로세스의 생성, 제거, 프로세스 간의 메시지 전달, 프로세스의 시작과 정지 등의 일을 담당
최소 탐색시간 우선 (SSTF, Short-Seek-Time-First)
- 현재 헤드 위치의 가까운 곳에 있는 모든 요구를 먼 곳보다 먼저 처리하도록 하는 기법
반환시간
- 프로세스 스케줄링 기준으로 프로세스들이 시스템에 들어간 시간과 마친 시간의 차이를 말하며 출력 장치의 속도에 제한을 받는 것
페이징
- 스와핑 기법은 실행 대기 중인 프로세스가 사용 중인 메모리를 보조기억장치로 내보내고 다른 프로세스를 위해 사용
교착상태
- 프로세스가 일어날 수 없는 사건을 기다리는 상태
- 다중 프로그래밍 시스템에서 서로 다른 둘 이상의 프로세서들이 상대 프로세서가 차지하고 있는 자원을 기다리는 무한 대기 상태를 의미
교착상태가 일어나기 위한 조건
- 최소한 하나의 자원이 비공유 모드로 점유되어야 함
- 프로세스는 최소한 하나의 자원을 점유한 채 현재 다른 프로세스에 의해 점유된 자원을 추가로 얻기 위하여 반드시 대기해야 함
- 자원들은 서로 순환대기해야 함
스택
- 프로세스 스케쥴링에 사용되는 가장 적합한 자료구조
세마포 (Semaphore)
- 두 개 이상의 프로세스가 임계 영역(critical section)에 접근하여 공유 변수를 변경하면 race condition 때문에 정확한 값이 나오지 않음. 이를 해결하기 위하여 semaphore를 사용
- 임계 구역 문제를 해결하기 위한 동기화 도구
- S는 초기화를 제외하고 wait()과 signal()로만 접근 가능
- S의 값을 변경하는 연산은 반드시 분리되지 않고 수행되어야 함
인터럽트
- 입/출력 처리 장치가 해당 입/출력을 완료하였을 때 이를 운영체제에게 알리는 방법
전역 변수들
- 프로세스로부터 파생된 쓰레드들 사이에 공유되는 것
프로세스가 교착 상태에 빠지는 조건
- 대기 조건 : 적어도 하나 이상의 자원을 할당받은 채 다른 프로세스의 자원이 해제되기를 기다리는 프로세스가 존재
- 비선점 조건 : 자원은 사용이 끝날 때까지 이들을 갖고 있는 프로세스로부터 제거될 수 없음
- 환형 대기 조건 : 프로세스의 환형 사슬이 존재해서 이를 구성하는 각 프로세스는 사슬 내의 다음에 있는 프로세스가 요구하는 하나 또는 그 이상의 자원을 가지고 있는 조건
워킹 세트
- Denning에 의해서 제안된 모델
- 페이징 기법 하에서 프로그램 동작에 대한 이론을 정립한 것
- 가상기억장치 관리에 있어 페이지
- 부재 비율을 감소시키기 위한 기법
- 프로그램이 효율적으로 실행되기 위해서는 프로세스가 자주 참조하는 페이지의 집합은 주기억장치 내에서 유지되어야 한다는 사상을 가진 기법
독립적 프로세스의 특징
- 프로세스의 상태는 다른 프로세스에 의해서 공유되지 않음
- 프로세스 실행 결과는 입력 상태에 의해서만 결정
- 프로세스 실행 결과는 같은 입력에 대하여 항상 동일
메시지의 임시 저장을 위한 큐를 구현하는 방식
- 무용량
- 유한 용량
- 무한 용량
PCB에 저장되는 정보
- CPU 스케쥴링 정보 : 프로세스 우선 순위, 스케쥴 큐에 대한 포인터 매개변수를 포함
다중 쓰레드 모델 중 커널 쓰레드에 대한 설명
- 커널은 각 쓰레드를 스케쥴링 가능한 객체로 인식
- 프로세스 자원을 휙득하기 위하여 시스템 레벨에서 경쟁
- 사용자 쓰레드에 비해 더 많은 병렬성 제공
SPN (Shortest Process Next) 스케줄링
- 총 실행 시간이 가장 짧은 프로세스부터 스케줄링하는 기법
- nonpreemptive scheduling
문맥 교환 (Context Switching)
- 다중 프로그래밍 시스템에서 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용하도록 하기 위하여 이전의 프로세스 상태를 보관하고 새로운 프로세스의 상태를 적재하는 작업
- 수행중인 프로세스가 다른 프로세스에게 CPU의 사용 권한을 부여하기 위하여 현재의 프로세스 상태를 저장하고 새로운 프로세스에게 CPU의 사용 권한을 넘기는 작업
프로그램 카운터
- 프로그램 수행을 제어하는 명령어 실행 순서, 즉 인터럽트 발생 시 다음에 실행할 명령어의 주소를 저장하는 것
스풀링
- 컴퓨터 처리 속도와 프린터의 처리 속도 차이의 보완을 위하여 디스크의 일정 공간을 사용하는 보완 기법
'디지털 포렌식 (Forensic) > 디지털포렌식전문가 2급 필기' 카테고리의 다른 글
[디지털포렌식] 2-2-6. UNIX 기반 시스템 (0) | 2020.10.13 |
---|---|
[디지털포렌식] 2-2-5. Windows 기반 시스템 (1) | 2020.10.13 |
[디지털포렌식전문가 2급 필기] 2-2-3. 컴퓨터 환경별 운영체제 (0) | 2020.10.12 |
[디지털포렌식전문가 2급 필기] 2-2-2. 운영체제의 분류 (0) | 2020.10.12 |
[디지털포렌식전문가 2급 필기] 2-2-1. 운영체제의 역할 및 기능 (0) | 2020.10.12 |