UNIX 이론 정리
UNIX 시스템의 특징, UNIX 가상 메모리 관리
2sjin
2022. 10. 3. 17:54
1. UNIX 시스템의 특징
1) 대화형(interactive) 시스템: Shell을 이용한 대화식(인터프리터) 작업 처리
2) 높은 이식성
- 운영체제의 모듈화 → UNIX 버전이 바뀌더라도 S/W 전환에 시간과 노력을 최소화
- 임베디드 시스템부터 슈퍼 컴퓨터까지 탑재를 하여 사용 가능하도록 설계
3) 다중 사용자(multi-user) 시스템: 여러 사용자가 동시에 시스템 사용 가능
4) 다중 처리기(multi-processor) 지원: 여러 개의 CPU가 존재함
5) 가상 메모리 지원
6) 파일 시스템 지원
- 다양한 종류의 파일 시스템(S5FS, UFS 등) 지원
- 계층적인 파일 시스템(tree 구조) 지원
- 디렉토리, 파일, 주변장치, 저장장치, 백업 장치 등을 하나의 파일로서 관리
- 파일 시스템에서 파일 위치에 대한 정보를 가지게 되어 파일의 효율적인 관리가 가능
7) 특수 파일(Special File) 지원: 입출력 장치를 파일처럼 사용할 수 있음
8) 다양한 네트워크 환경 지원
- 프로세스 간 통신을 위해 단방향 자료 채널인 파이프, 양방향 자료 채널인 소켓 메커니즘을 제공하여 클라이언트/서버 시스템 구현 가능
- TCP/IP, IPv6 등 다양한 프로토콜 지원
2. UNIX 가상 메모리 관리
1) 가상 메모리 관리
- 프로그램은 순차적으로 실행되는 특성이 있음
- 프로그램 코드 및 데이터 전부가 주기억장치에 적재될 필요 없음
- 실행 중인 프로그램 코드 부분만 주기억장치에 적재되면 프로그램 수행에 이상 없음
- 즉, 제한된 메모리를 가지고 수행 프로세스 이미지 전체를 적재하는 것이 아니라, 페이지 단위로 나누어 필요한 부분만 메모리에 적재
2) 가상 메모리 관리를 통한 공간 절약
- 수행 프로그램들이 실제적인 메모리 공간보다 클 수 있다.
- 가상 메모리를 실제 메모리와 분리 → 무한대의 메모리 공간이 있는 것처럼 해줌
- 사용자는 주기억장치 공간 크기와 상관없이 프로그램 실행이 가능함
3) 요구 페이징(Demand Paging)
- 각 페이지는 실행중인 프로세스에 의해서 명백히 참조될 때만 메모리에 적재함
- 어느 페이지를 메모리에 적재할 것인지를 결정하는 데 있어서의 오버헤드를 최소화
- 주기억장치 공간 낭비를 줄여줌 → 효율적인 메모리 사용 (장점)
- 프로세스가 실행 시 필요한 프로그램 및 데이터는 주기억장치에 탑재되어 있지 않음 → 주기억장치 탑재를 위해서 보조기억장치로부터 프로그램 및 데이터 읽기(I/O연산)을 수행해야 하므로 성능이 저하됨 (단점)