Chapter 1. 운영체제의 특징
1. 운영체제의 종류
1) 운영체제(OS:Operating System)의 특징★
사용자 편리성 제공(관리 및 운영) / 인터페이스 기능 담당(컴퓨터 시스템과 사용자 연결)
/ 스케쥴링 담당 / 자원관리(CPU, 메모리 공간, 기억장치 등 관리) / 제어기능(입출력장치와 사용자 프로그램 제어)
* 쉘(Shell) : 운영체계 바깥부분 -> 사용자 명령에 대한 처리 담당 (커널에 전달, 명령어 해석기)
커널(Kernel) : 하드웨어 관련 내부적인 역할 담당 (운영체제 핵심 기능)
* 유닉스 운영체제 : 1960년 AT&Bell연구소, MIT 및 ~사가 공동 연구, 개발
초기 운영체제는 Multics이고 C언어로 재이식되어 대중화 기반 마련
2) 유닉스 운영체제 특징★ ---> 대다 사이계
대화식 운영체제 기능 / 다중 작업 기능 / 다중 사용자 기능 / 이식성 / 계층적 트리구조 파일 시스템
3) 리눅스 기반 운영체제 : 유닉스의 호환 커널, 1991년 리누스 토발즈는 프리 소프트웨어 정책을 가지고,
자유롭고 재배포가 가능한 운영체제인 리눅스 개발
* 유닉스와 리눅스 차이점
서버 pc
상용 무료
사업자 배포 오픈 소스 개발
4) 맥 운영체제 / 안드로이드 운영체제
리눅스/유닉스 파일 접근제어 메커니즘
* 접근 권한 유형 (설정 명령어 : chwon, chgrp)
--> 유그아 : user, group, other
* 접근 권한 변경 (chmod)
유그아에 따라 read 4 , writer 2, x(실행) 1
2. 운영체제 기본 명령어 활용
1) 리눅스/유닉스 기본 명령어
cat , last, who, pwd, ps, kill pid, fork, chmod, chowm, host, grep, find, du
2) 리눅스/유닉스 파일 접근제어 메커니즘
- 접근 권한 유형 (설정 명령어 : chown, chgrp)
유저 / 그룹 / 아더
- 파일 접근 모드 (설정 명령어 : chmod)
R : 4 / W : 2 / X : 1
3. 운영체제 핵심 기능 파악(1)
* 운영체제 핵심 기능
: 중앙처리장치(CPU), 메모리, 스토리지, 주변 기기 등을 적절히 관리,
초기에는 메모리 용량 제한 많아 메모리 관리 중요했으나 최근엔 운영체제에서 자동관리로 사용 편리
: 메모리 관리 / 프로세스 관리
* 메모리(기억장치, 주기억장치) 관리 - 하드디스크/메모리(DRAM)/캐시(SRAM)/레지스터(CPU)
: 기억장치를 관리하는 운영체제의 일부,
프로세스에게 필요할 때마다 기억장치 할당하고 사용 끝나면 회수,
디스크와 주기억장치간에 프로세스 교체 작업 관리
* 메모리 관리 기법 --> 반배할교
: 반입기법 : 적재될때 어느시기를 택할것인가 결정 (When) - 요구 반입 / 예상 반입 기법
배치기법 : 어느 위치에 저장할것인지(Where) --> 초적악 : 최초/최적/최악 적합
할당기법 : 메모리 적재 방법 결정(How) --> 연단다 분페세
- 연속할당 기법(단일 분할 할당 / 다중 분할 할당)
- 분산 할당 기법(페이징 기법(동일크기)/ 세그먼테이션 기법(가변크기)/ 페이징-세그멘테이션 기법)
교체비법 : 메모리 교체 대상 결정 (Who) - FIFO, LRU, LFU, OPT, NUR, SCR 등
* 논리 주소 : CPU에 의해 생성, 가상 주소
물리 주소 : 실제 메모리 유닛(HW)에서 사용되는 주소
* 가상메모리, 물리 메모리
* 주소 사상 기법(=주소 변환 기법) : 가상 주소(논리 주소)로부터 물리 주소 찾는 방법
* 내부 단편화 : 분할된 공간에 프로세스를 적재한 후 남은 공간,
페이징 기법 사용 시 발생하는 메모리 단편화
- 해결 방안 : Slab Allocator(사전에 작게 분할 해놓고 요청시 할당), 통합, 압축
* 외부 단편화 : 할당된 크기가 프로세스 크기보다 작아서 사용하지 못하는 공간,
세그멘테이션 기법 사용 시 발생하는 메모리 단편화
- 해결 방안 : 버디 메모리 할당(1/2씩 줄여가면서 할당), 통합, 압축
* 페이징 기법의 문제점 -스레싱(Thrashing)
: 프로세스의 실제 처리 시간 보다 페이지 교체 시간이 더 많아지는 현상,
페이지 부재가 계속 증가하여 기억장치 접근 시간이 증가
=> 프로세스들 간의 메모리 경쟁으로 지나치게 페이지 폴트 발생, 전체 시스템 성능 저하
* 페이징 기법의 문제점 해결 방안
- 워킹 세트 : 많이 참조하는 페이지를 주기억장치에 계속 상주시켜 빈번한 페이지 교체 줄인다
- 페이지 부재 빈도(PFF) : 페이지 부재율의 상한과 하한을 정해서 직접적으로 페이지 부재율 예측하고 조절
* 지역성(Locality) : 주기억장치 참조할 때 일부 페이지만 집중적으로 참조하는 특성
지역성의 유형 --> 시 공 순
: 시간 지역성 / 공간 지역성 / 순차 지역성
3. 운영체제 핵심 기능 파악(2)
*프로세스(Process) : CPU에 의해 처리되는 사용자 프로그램, 시스템 프로그램,
즉 실행중인 프로그램을 의미, 작업(job) 또는 태스크(Task)라고 함
1) 프로세스 상태★ ---> 생,준,실,대,완
생성 상태 / 준비 상태 / 실행 상태 / 대기 상태 / 완료 상태
Create Ready Running Waiting Exit, Complete
* 프로세스 상태 전이 --> 디 타 블 웨
디스패치(Dispatch) / 할당 시간 초과(Timeout) / 입출력 발생(Block) / 깨움(Wake -up)
* 프로세스 구성 : 사용자 작성 코드 / 사용자 사용 데이터 / 스택 / 프로세스 제어 블록(PCB)
ㄴPCB 구성 요소 --> 프상카레 스계입메
: PID(프로세스 식별자) / 프로세스 상태 / 프로그램 카운트 / 레지스터 저장 영역
/프로세서 스케줄링 정보 / 계정 정보 / 입출력 상태 정보 / 메모리 관리 정보
* 스레드(Thread) : 제어의 흐름이며, 실행 단위,
한개의 프로세스는 여러개의 스레드 가질 수 있음
< 프로세스 스케줄링 >
: 서비스 시간 / 응답 시간 / 평균 응답 시간 / 대기 시간 / 평균 대기 시간 / 종료 시간 / 시간 할당량
/ 응답률 : (대기시간 + 서비스 시간) / 서비스 시간
* 프로세스 스케줄링 유형 : 선점형 스케줄링 / 비선점형 스케줄링
2) 선점 스케줄링 알고리즘★ ---> S M M R
SRT / MLQ(다단계 큐) / MLFQ(다단계 피드백 큐) / Round Robin(라운드 로빈)
3) 비선점 스케줄링 알고리즘★ ---> 우 기 H F S
우선 순위(Priority) / 기한부 스케줄링(Deadline) / HRN / FCFS / SJF
4) 스케줄링 계산 공식★ ---> 반종도 대반서
반환시간 = 종료시간 - 도착시간
대기시간 = 반환시간 - 서비스시간
*응답시간 = 반환시간
3. 운영체제 핵심 기능 파악(3)
< 교착 상태(Deadlock) >
: 다중 프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태
1) 교착상태 발생 조건★ ---> 상,점,비,환
상호배제 / 점유와 대기 / 비선점 / 환형대기
2) 교착상태 해결 방법★ ---> 예,회,발,복
예방(Prevention) / 회피(Avoidance) / 발견(Detection) / 복구(Recovery)
* 은행가 알고리즘 : 교착상태 회피 기법에서 사용, 안정상태일때만 자원 할당함
* Wound-Wait : 오래된 프로세스는 기다리지 않음 , 회피기법 사용
Wait-Die : 오래된 트랜잭션 기다리고 새로운 트랜잭션 rollback 후 다시 계획, 회피 기법 사용
* 자원 할당 그래프 : 프로세스와 자원간의 관계를 나타내는 그래프로 교착상태 발견 가능,
교착상태의 발견 기법에서 사용
* 가상화
: 플랫폼 가상화(HW플랫폼 위에서) / 리소스 가상화
* 가상화 기술 요소
: 컴퓨팅 가상화(하이퍼바이저) / 스토리지 가상화(분산 파일 시스템) / I/O가상화(가상 네트워크 인터페이스 카드 NIC)
/ 컨테이너(하이퍼바이저 없음-도커 Docker) / 분산 처리 기술(클러스터) / 네트워크 가상화 기술(SDN, NFV)
3) 클라우드 컴퓨팅
: 인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공하고, 컴퓨터가 아닌 클라우드(인터넷)에
연결된 다른 컴퓨터로 처리하는 기술
* 클라우드 컴퓨팅 분류 ---> 사, 공, 하
사설 클라우드 / 공용 클라우드 / 하이브리드 클라우드
* 클라우스 컴퓨팅 유형 ---> 인, 플, 소
인프라형 (IaaS) 서비스 / 플랫폼형 (PaaS) 서비스 / 소프트웨어형(SaaS) 서비스
'정보처리기사' 카테고리의 다른 글
11. 응용 SW 기초 기술 활용 - Chap 3. 네트워크 기초 활용하기 (0) | 2021.06.30 |
---|---|
11. 응용 SW 기초 기술 활용 - Chap 2. 네트워크 기초 활용하기 (0) | 2021.06.30 |
12. 제품 소프트웨어 패키징 (0) | 2021.06.29 |
6. 프로그래밍 언어 활용 - Chap 1. 기본 문법 활용하기 (0) | 2021.06.18 |
5. 인터페이스 구현 - Chap 3. 인터페이스 구현 검증 (0) | 2021.06.18 |