운영체제
: 하드웨어와 소프트웨어 리소스관리, 공통서비스 제공, 스케쥴링 담당, 자원관리, 입출력프로그램 제어 역할
: 사용자와 시스템간 인터페이스 기능제공, 데이터공유, 주변장치 관리, 시스템오류 처리, 응답/반환시간 단축
: 처리기(processor), 기억장치, 주변장치 등 HW자원 제어역할
: 모든 HW, SW의 기능을 사용가능하도록 제어해주는 SW
: 자원 효율적 관리, 오류로부터 시스템을 보호
종류
- Windows : 유지관리 비용 적음, GUI제공, 선점형 멀티태스킹 제공, OLE사용
- UNIX : 시분할 시스템 적합, 오픈소스, 계층적 트리 구조, 다중사용자와 다중작업 지원, 안정적이고 신뢰적
( Linux : 비용적게 듬 / Android : 미들웨어와 UI가 포함된 OS / Mac : GUI기반 )
>구성요소 - 커널 : 주기억 장치에 상주, 프로세스와 하드웨어 간 인터페이스(내부적) 역할
: 입출력, 프로세스, 기억장치 관리 +) Bootstraping : 커널을 찾아 메모리에 적재하는 과정
- Shell : 시스템-사용자 간 인터페이스, Dos의 Command.com 기능수행, 명령어 해석기능
: 보조기억 장치에 상주
>프로세스간 통신 : 호출시 커널기능 사용 (명령어 -시그널/ 쌍방향통신 -소켓/ 단방향통신 -파이프)
>Utility : 응용프로그램 처리시 사용, Dos의 외부 명령어, 에디터, 컴파일러, 인터프리터, 디버거
>Unix 파일시스템의 블록구조
- 부트 / 슈퍼 / 데이터 블록
- i-node 블록: 소유자의 사용자 번호UID, 그룹번호GID, 파일에 대한 정보(크기, 타입, 생성/최종변경 시기, 링크 수)
* Unix 명령어
fork | 새 프로세스 생성 | exec | 새 프로세스 수행 | cat | 파일 내용 화면에 표시 |
dup | 열린 파일의 디스크립터 복제 |
chmod | 파일 접근 제한 / 허가 | chown | 소유자변경 | ls | 현 디렉토리의 파일 목록 확인 |
du | 해당 디렉토리 정보 확인 |
+) background 처리를 위해 명령어 끝에 붙이는 연산자 = &
시스템 구성요소
- Process : 입력 데이터 처리방법과 조건에 따라 처리함
- Feedback : 목적달성을 위해 반복적으로 처리함
- Control : 입력부터 출력까지 처리과정을 감독
운용기법
제어프로그램 : 시스템 전체 작동상태를 감지, 스케쥴링, 데이터관리, 인터럽트 처리
지시↓ 종류 - 감시 /작업제어 /자료관리 프로그램
처리프로그램 : 사용자요구 문제 해결
종류 - 서비스 /문제 /언어번역 프로그램
** 언어번역 과정 : 원시 프로그램-> 컴파일러/어셈블러-> 목적 프로그램-> 링커-> 로드모듈 ->로더 -> 실행
로더 : 보조기억장치로부터 주 기억장치에 적재하는 소프트웨어
로더의 기능 : Allocation할당(기억장치에 공간확보)/ link연결(부프로그램에 할당된 기억장소의 시작주소를 연결 ,대규모적합)
Relocation재할당(보조기억장치에 저장된 프로그램의 사용주소들을 기억장소의 실제주소로 재배치)
Loading적재
로더의 종류 - 절대로더 : 간단함, 세그먼트주소를 할당 될 주 기억장치의 주소로 변환역할
" " 역할분담 : 기억장소 할당, 연결 - 프로그래머 / 재배치 - 어셈블러 / 적재 - 로더
- 링커 : 실행가능한 로드모듈 생성, 연결기능만 수행하는 로더 (Linking역할)
- 동적 적재 로더 (Load - on -call)
- compile and go 로더 : 별도 로더없이 언어 번역 프로그램이 로더 기능까지 수행함
가상기억장치
: 보조기억장치 일부를 주기억장치처럼 사용하는 것
- 구현 방법 > 외부단편화 (세그멘테이션기법) : 페이지를 다양한 크기 논리적 단위로 나눔
: 기억공간절약, 세그먼트 고유이름/크기, 맵테이블 필요
> 내부단편화 (페이징기법) : 페이지를 동일하게 나눔 ->페이지 프레임
- 페이지 크기 ↑- 공간절약, 무관한정보는 주기억장치에, 테이블 간단
- 페이지 크기 ↓- 단편화↓, 효율/입출력시간↑, 페이지 집합 효율적
※ Page Fault : 페이지가 주기억장치에 존재하지 않을 경우 발생하는 현상
+
참조가능한 프레임X = 페이지 교체 필요 / (프로세스 처리시간 < 페이지교체시간) 경우 Threasing 발생
페이지 교체 알고리즘
전략
종류
- 상주기간 ↑ - FIFO / ↓ - LIFO / 최근 참조 안한 - LFU / 오래 사용안한 - LRU == NUR
- 참조횟수↓, 호출Reference/ 변형Modified bit 가짐 - NUR
- 주기억장치에 오래 상주 한 - SCR / 앞으로 오래 사용되지 않을 - Optimal
Thread : 다중프로그래밍 시스템에서 cpu받아 수행하는 프로그램 단위로 프로세스
: Task 보다 작은 작업 단위 (Task 개당 여러 Thread로 나뉘어 수행 가능)
: 독립적 제어흐름 가짐, 고유 레지스터/스택 사용함
프로세스 : 프로세서가 할당되는, 프로시저가 활동중인 상태의 프로그램, 비동기적 행위를 일으키는 주체
: CPU(프로세서)가 할당 받는 프로그램으로 정의 할 수 있음
: 실행중이며, PCB를 가진 프로그램, 전송 메시지=> 형식, 가변/고정 길이 메시지
PCB : 프로세스 정보(현재상태, 고유식별자PID,스케쥴링, 우선순위, cpu레지스터정보)저장한 저장소
프로세서 : 기억장치 내 정보 균일하게 접근 못하고 특정부분을 집중적 참조함, OS가 관리하는 실행단위
매크로 프로세서 기본수행작업 : 매크로 호출/정의 인식 , 정의저장 , 호출 확장/인수 치환
프로세서 상호 연결 구조 > 하이퍼 큐브 : CPU갯수 = 2^n (n= 연결점 갯수)
- Locality 지역성 : 실행중인 프로세스가 주기억장치 참조시 일부 페이지만 집중적으로 참조하는 현상
- 시간지역성 : 가까운 장래에도 참조될 가능성 ↑ ex) Loop,Stack, 집계, 서브루틴
- 공간지역성 : 프로세스 실행시 일정위치의 페이지 집중적 접근 ex) 배열순회, 순차코드의 실행
- Working Set : 프로세스가 일정시간동안 자주 참조하는 페이지의 집합
= 참조페이지 중 중복 페이지만 제외한 페이지들
> 프로세스 스케쥴러 : 준비상태의 프로세스에 실행 될 프로세스를 선정하여 CPU할당 함
> 프로세스 상태 : 시작, 준비, 실행, 대기, 종료 상태
WakeUp | Dispatch | Time run out | Spooling |
대기 → 준비상태 | 준비 → 실행상태 | 실행 → 준비상태 | 보류상태 |
+) Spooling : 입출력 장치 속도 보완법으로 디스크의 일부를 사용함
↔ 버퍼링 : 주 기억장치의 일부를 사용
'정보처리기사' 카테고리의 다른 글
정보처리기사) 네트워크 (2) - IP주소/ OSI 7계층/ 프로토콜/ 경로제어 (0) | 2022.01.14 |
---|---|
정보처리기사) 네트워크(1) - 구축 형태/ 모델 (0) | 2022.01.12 |
정보처리기사) 운영체제(3) - 분산처리/ 다중처리/ 클러스터 시스템 (0) | 2022.01.11 |
정보처리기사) 운영체제 (2) - 스케쥴링/ 성능평가 요인/ 교착상태 (0) | 2022.01.09 |
정보처리기사) 요구사항 확인 / 현행시스템 파악 (0) | 2022.01.05 |