운영체제
: 컴퓨터 시스템의 자원들을 효율적으로 관리하며 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 프로그램의 모임
- 컴퓨터 사용자와 하드웨어 간의 인터페이스로 동작함
- Windows, UNIX, LINUX, MacOS
- 운영체제의 목적
- 처리능력 향상
- 반환 시간 단축 : 의뢰부터 처리까지
- 사용 가능도 향상 : 필요할 때 바로 사용 가능
- op
- 신뢰도 향상 : 정확하게 해결하는 정도
- 운영체제 기능
- 프로세서, 기억장치, 입출력 장치등을 제공
- 스케줄링 기능 제공
- 인터페이스 제공
운영체제 종류
-
Windows
: 1990년대 마이크로소프트가 개발함
- GUI
- 선점형 멀티태스킹 : CPU 이용시간 제어, 문제 발생시 해당 프로그램 종료
- PnP : 하드웨어 설치시 자동으로 구성
- OLE : 자유롭게 연결하거나 삽입
- Single-User 시스템
-
UNIX
- AT&T 벨 연구소, MIT, General Electric이 공동개발
- 시분할 시스템 → 대화식 운영체제
- 개방형 시스템
- C언어로 구성
- 트리구조의 파일 시스템
- 시스템 구성
- 커널 : 핵심, 프로그램과 하드웨어간 인터페이스
- 쉘 : 사용자의 명령 인식, 시스템과 사용자간 인터페이스
- 유틸리티 프로그램 : 응용 프로그램을 처리하는 데 사용, DOS에서의 외부 명령어 해당
-
LINUX
- 리눅스 토발즈가 UNIX 기반으로 만듬
- 소스코드가 무료 공개
- UNIX 와 대부분 동일
-
MacOS
- 애플이 UNIX 기반으로 만듬
- install, uninstall 과정이 간단
-
Android
-
iOS
기억장치 관리 전략
-
반입(Fetch) 전략
: 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지
-
배치(Placement) 전략
: 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치 시킬지
- 최초 적합 : 빈 영역 중에서 첫번째 분할 영역에 배치
- 최적 적합 : 모든 빈 영역 중에서 단편화를 가장 적게 남기는 영역에 배치
- 최악 적합 : 단편화를 가장 많이 남기는 분할 영역에 배치
-
교체(Replacement) 전략
: 주 기억장치의 모든 영역이 사용중일 경우, 이미 사용되는 영역중에서 어느 영역을 교체할 것인지
- FIFO, OPT, LRU, LFU, NUR, SCR
가상기억장치 구현 기법
-
가상기억장치 (Virtual Memory)
: 보조기억장치의 일부를 주기억장치처럼 사용함
- 프로그램을 여러 작은 블록 단위로 나눠서 가상기억장치에 보관 → 요구되는 블록만 주기억장치에 불연속적으로 할당
-
페이징 기법 (Paging)
: 프로그램과 주기억장치의 영역을 동일한 크기로 나누고, 주기억장치의 영역에 적재시킴
- 일정한 크기로 나눈 단위 → 페이지
- 페이지 크기로 나뉜 주기억장치 → 페이지 프레임
- 외부 단편화는 발생하지 않으나, 내부 단편화가 발생할 수 있다.
- 주소 변환을 위해서 , 페이지 맵 테이블이 필요
-
세그먼테이션 기법 (Segmentation)
: 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행
- 논리적 크기로 나눈 단위 → 세그먼트
- 기억공간을 절약하기 위해
- 내부 단편화는 발생하지 않으나, 외부 단편화가 발생할 수 있다.
페이지 교체 알고리즘