정보처리기사 필기 준비하며 정리한 내용입니다.
기억장치
- 제일 빠른 순서대로
- 레지스터
- 캐시 메모리
- 주기억장치
- ROM 읽기전용
- RAM 휘발성 일반적 주기억장치
- 보조기억장치
시스템 소프트웨어
- 로더
- 링커 : 모아서 묶어준다 to excute file
- 유틸리티
- 번역기(컴파일러,어셈블러)
- 장치 드라이버
- 운영체제 (대표적!)
구성
- 제어 프로그램 ⭐
- 감시
- 작업관리
- 데이터 관리
- 처리 프로그램
📌운영체제
기능
- 관리
- 프로세스
- 메모리
- 파일
- 입출력
- 보조기억장치
- 네트워킹
- 정보 보안
- 명령 해석 시스템
운영체제 성능 평가 기준 ⭐
- 처리량
- 반환시간
- 신뢰도 : 결과
- 사용가능도 : 가용성
운영체제의 종류
다중 사용자, 다중 작업 지원
트리 구조 파일 시스템
- 윈도우
- 선점형 멀티태스킹
- GUI
- Plug and Play
- OLE
- 리눅스
- 이식성 유연성 확장성
- 유닉스 ⭐
- 구성
- 커널
- 핵심기능. 운영체제의 본질. 하드웨어 통제.
- 쉘
- 명령어 해석기
- 종류 다양
- 커널
- 파일 시스템
- 부트블록 : 부팅 시
- 슈퍼블록 : 전체
- I-node 블록 : 데이터블록 참조. 파일 디렉터리에 대한 정보
- 데이터 블록 : 실제 파일 데이터
- 파일 디스크립터 ⭐
- 파일 관리
- 사용자가 직접 참조 불가
- 권한
- RWX-
- umask 접근 권한 마스크 ⭐
- 초기 파일의 권한은 666, 디렉터리 권한은 777
- 구성
📌메모리 관리
전략
- 반입 Fetch 전략
- 배치 Placement 전략
- 최초 적합 (첫 번째)
- 최적 적합 (단편화 가장 적은 곳에)
- 최악 적합 (단편화 가장 많은 곳에)
- 교체 Replacement 전략
- FIFO, OPT, LRU, LFU, NUR, SCR 등
주기억장치 할당 기법
RAM 분할. 사용자 영역을 통으로 쓰겠다!
- 단일 분할 할당 기법
- 단순. 초기. 지금은 사용하지 않는다. 한순간에 한 사용자만 사용가능
- 주기억장치 < 프로그램
- 오버레이 기법 : 잘라서 순차처리
- 스와핑 기법 : 돌아가면서
- 다중 분할 할당 기법
- 고정 분할 할당 기법
- 가변 분할 할당 기법
- 아래에서 자세히 다룬다
단편화
- 종류
- 내부 단편화
- 주기억장치 공간 > 프로그램. 할당 후 사용되고 남은 공간.
- 외부 단편화
- 주기억장치 공간 < 프로그램. 할당되지 못하고 남아있는 공간
- 내부 단편화
- 해결 방법
- 통합 기법
- 인접한 빈 공간 합침
- 압축 기법
- 분산된 빈 공간 합침
- 재배치 기법
- 압축 과정에서 프로그램 주소 새롭게 지정
- 통합 기법
📌가상기억장치
- 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것
- 주기억장치 < 프로그램 크기
- 프로그램을 작은 블록 단위 여러개로 나누어서 가상기억장치에 보관해놓고 프로그램실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당
블록 분할 방법
- 페이징 기법
- 고정 크기
- 가상 메모리 나눈 단위 : 페이지
- 물리 메모리 나눈 블록 : 프레임
- 페이지 맵 테이블
- 외부 단편화 X 내부단편화 O
- 자르기 때문
- 페이지 크기가 클수록
- 기억장소 효율 감소
- 단편화 증가
- 입출력 시간 감소
- 맵 테이블 감소
- 세그먼테이션
- 가변 크기
- 세그먼트 테이블
- 내부단편화 X 외부단편화O
- S=(2, 100) 인 경우
- 세그먼트 번호가 2번
- 실제주소는 시작주소+100
페이지 교체 알고리즘
- FIFO 먼저 들어온것 먼저 교체 ⭐
- 프레임 개수를 늘리면 오히려 부재 발생이 더 늘어니는 Belady 이상현생
- SCR Second Chance Replacement
- FIFO 단점 보완
- OPT optimal replacement 최적 교체
- 앞으로 가장 안 될 페이지 예상. 이상적이고 이론적
- LRU Least Recently Used
- 최근 가장 오랫동안 사용되지 않은 페이지를 교체
- LFU Least Frequently Used
- 빈도 가장 적은 페이지를 교체
- NUR Not Used Rrecently
- 두 개의 비트 사용
- 참조 비트, 변형 비트가 둘다 1, 1인 페이지가 가장 나중에 교체된다
- 두 개의 비트 사용
페이지 부재로 인해 발생하는 스래싱 현상
- 페이지 교체 시간 > 프로세스 처리 시간
- 방지 방법 : 워킹 셋
- 워킹 셋 : 프로세스가 일정 시간 동안 자주 참조하는 페이지들 집합
- 구역성 : 워킹 셋 이론의 기반. 일부 페이지만 집중적으로 참조하는 현상
- 시간 구역성
- 루프, 스택, 서브루틴
- 일정 시간 동안 한 페이지에 집중
- 공간 구역성
- 배열 순회, 순차적 코드 실행
- 일정 위치의 페이지에 집중
- 시간 구역성
- 구역성 : 워킹 셋 이론의 기반. 일부 페이지만 집중적으로 참조하는 현상
- 워킹 셋 : 프로세스가 일정 시간 동안 자주 참조하는 페이지들 집합