728x90
응용 SW 기초기술(운영체제)
운영체제 종류
- 윈도우: MS에서 개발한 운영체제
- 유닉스(Unix): 미국 At&t 벨연구소에서 개발한 운영체제 - 커널(Kernel), 쉘(Shell)로 구성
- 커널(Kernel)
- 하드웨어 보호, 프로그램 및 하드웨어간 인터페이스 역할
- 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리, 데이터 전송 및 변환, 쉘 프로그램 실행을 위한 프로세스 및 메모리 관리
- 쉘(Shell)
- 사용자의 명령 인식, 해석 후 커널로 전달, 명령을 수행(반복적인 명령 프로그램을 만드는 프로그래밍 기능 제공)
- 시스템과 사용자 간 인터페이스 역할
- 초기화 파일을 이용해 사용자 환경 설정
- 커널(Kernel)
- 리눅스(Linux): 유닉스 기반 운영체제, 리누스 토발즈
- MacOS / iOS: 유닉스 기반 운영체제, 애플
- Android: 리눅스 커널 기반 개발, 구글
유닉스 파일 시스템
- 파일 시스템 구조
- 부트 블록
- 슈퍼 블록
- I-node 블록
- 데이터 블록
- 파일 디스크립터(FD, File Descriptor)
- 유닉스 시스템에서 프로세스가 파일에 접근할 때 사용
주기억장치
- RAM(Random Access Memory)
- 휘발성, 실행 중인 프로그램 저장
- SRAM(정적) - 속도 빠름, 집적도 낮음, 전력소모 많음, 재충전 불필요, 용도 캐시
- DRAM(동적) - 속도 느림, 집적도 높음, 전력소모 적음, 재충전 필요, 용도 주기억
- ROM(Read Only Memory)
- 전력공급 없어도 내용이 사라지지 않음(비휘발성)
- CMOS SETUP으로값 수정 가능
- H/W와 S/W의 중간인 일종의 펌웨어(Firmware)
- 업데이트만으로 시스템 성능 향상
- 부팅 시 가장 먼저 동작하여자체 진단(POST) 실행
- BIOS에는 날짜, 전원관리, 부팅순서, 기본글꼴, 칩셋, 시스템 암호(Window 암호 X), PnP(Plug and Play), 하드디스크 타입, 안티바ㅇ러스 등의 정보포함
- Mask ROM: 제조 과정에서 저장된 ROM, 임의 수정 불가
- PROM: 한번만 기록 가능, 이후는 읽기만 가능
- EPROM: 자외선 신호를 이용한 ROM
- EEPROM: 전기 신호를 이용한 ROM(플래쉬 메모리) - BIOS ROM으로 활용 및 업데이트 가능
기타 메모리
- 레지스터(Register): CPU(중앙처리자치) 내부에서 처리할 명령어나 연산의 중간 값 등을 일시적으로 저장하는 휘발성 메모리(메모리 중 가장 빠른 속도)
- 캐시 메모리: SRAM을 이용하여 CPU(빠름)와 주기억장치(느림) 사이의 속도 차이 해결(버퍼 메모리 일종)
- 캐시 적중률이 높을 수록 시스템 처리 속도 증가
- 가상 메모리: 보조기억장치를 주기억장치처럼 사용하는 메모리(기억용량 확대) 큰 프로그램 실행 가능, 매핑(Mapping) 방식 필요
- 플래시 메모리: MP3나 디지털카메라 등에서 사용되는 일종의 EEPROM(비휘발성)
- ex) USB, SD card, NAND Flash, SATA Memory
- 버퍼 메모리: 데이터를 일시적으로 저장해 두 장치 간 데이터 전송 속도 차이 해결
- 연상(연관)메모리: 저장된 데이터의 일부를 이용하여 기억장치에 접근 후 데이터 확인 내용 참조, 매핑(Mapping) 방식, 주소가 아닌 내용 참조
- H/W 처리 속도: 레지스터 > 캐시메모리 > 주기억장치 > 보조기억장치
기억장치 관리 전략
- 반입 전략(Fetch)
- 요구 반입: 특정 프로그램, 데이터의 참조를 요구할 때 적재
- 예상 반입: 미래의 참조가 예상되는 데이터를 미리 적재
- 배치 전략(Placement)
- 최초 적합(First Fit): 사용 가능한 첫 번째 분할 영역에 데이터 배치
- 최적 적합(Best Fit): 단편화를 최소화하는 분할 영역에 데이터 배치
- 최악 적합(Worst Fit): 단편화를 최대화하는 분할 영역에 데이터 배치
- 교체 전략(Replacement): 새로운 데이터를배치하고자 할 때 기존 사용 중 데이터를 교체
- ex) FIFO, OPT, LRU, LFU, NUR
페이지 분할 기법
1. 페이징 기법(Paging)
- 가상기억장치에 보관된 프로그램과 주기억장치의 영역을 동일 크기로 분할 후 나눠진 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역(페이지 프레임)에 배치하여 실행하는 기법 (내부 단편화 발생 가능성존재)
- 작은 페이지 크기: 페이지 단편화 감소 / 페이지 이동시간 감소 / 워킹 셋 유지 / 맵 테이블 크기 커지며 매핑 속도 감소 / 입출력 시간 증가
- 큰 페이지 크기: 페이지 단편화 증가 / 페이지 이동시간 증가 / 불필요 데이터 적재 / 맵 테이블 크기 작아지며 매핑 속도 증가 / 입출력 시간 감소
2. 세그먼테이션 기법(Segmentation)
- 가상기억장치에 보관된 프로그램을 다양한 크기의 논리적 단위로 분할 후 주기억 장치에 배치 및 실행(외부 단편화 발생 가능성 존재)
페이지 교체 알고리즘
- OPT
- 앞으로 가장 오랫동안 사용하지 않을 페이지 교체
- 페이지 부재 횟수가 가장 적게 발생 / 효율적 교체 알고리즘
- FIFO
- First-in-First-out
- 가장 먼저 들어와 가장 오래 있었던 페이지 교체
- LRU
- Least Recently Used
- 최근에 가장 오랫동안 사용하지 않은(오래 전에 사용된) 페이지 교체
- LFU
- Least Frequently Used
- 사용 빈도가 가장 적은 페이지를교체 / 활발한 페이지는 교체 x
단편화
- 주기억장치에 프로그램 할당과 반납 과정에서 발생하는 빈 공간
- 단편화 종류
- 내부 단편화
- 외부 단편화
- 단편화 해결 방법
- 통합 기법: 인접한 분할 공간
- 압축 기법: 분산된 여러 단편화 공간
- 재배치 기법: 프로그램의 주소를 새롭게 지정해주는 기법
프로세스(Process)
- 프로세서(CPU)에 의해 처리되는 사용자/시스템 프로그램
- 프로세스 제어 블록(PCB, Process Control Block)에 프로세스 식별자, 상태 등의 중요 정보를 저장 / 각 프로세스 실행 시 고유 PCB 생성, 작업 완료 후 PCB 제거
- Dispatch: 준비 상태에서 대기 중인 프로세스가 실행 상태로 전이되는 과정
- Wake up: 입출력 작업이 완료되어프로세스가 대기 상태에서 준비 상태로 전이
- Context Switching(문맥 교환): 이전 프로세스의 상태 레지스터 내용 보관하고 다음 프로세스의 레지스터를 적재하는 과정
스레드(Thread)
- 프로세스 내 작업 단위 / 프로그램단위
- 단일: 하나의 프로세스에 하나의 스레드
- 다중: 하나의 프로세스에 복수의 스레드
- 동일 프로세스환경 내 서로 다른 독립적 다중 스레드 수행가능
프로세스 스케줄링
- 메모리에 올라온 프로레스들의 처리 순서를 정하는 것
- 선전형 스케줄링
- 운영체제가 실행 중인 프로세스로부터 CPU를 강제로 빼앗을 수 있는 방식
- Round Robin: 먼저 들어온 순서대로 일정 시간만큼만 처리
- SRT: 비선점형 SJF 기법을 선점형으로 변경, 남은 시간이 짧은 프로세스부터 처리
- 다단계 큐: 큐마다 규칙이 다름, 작업의 큐 간 이동 불가 (ex. 사용자와 직접 상호작용하는 프로세스 큐에는 응답 시간을 줄이기 위해 Round Robin, 백그라운드 프로세스 큐에는 응답 시간이 의미없기 때문에 FCFS)
- 다단계 피드백 큐: 다단계 큐 + Aging 기법, 우선순위 변동 시 작업의 큐 간 이동 가능
- 비선점형 스케줄링
- 프로세스가 CPU를 점유하고 있다면 이를 빼앗을 수 없는 방법
- FCFS: 먼저 온 순서대로
- SJF: 실행 시간이 가장 짧은 것부터 처리
- HRN: 짧은 작업시간이면서 대기시간이 긴 프로세스부터 처리, 우선 순위 = (대기시간 + 서비스 시간) / 서비스 시간
- 우선순위, 기한부 등
교착상태
- 프로세스가 자원을 점유한 상태에서 다른 프로세스의 자원을 요구하며 무한정 기다리는 현상
- 교착상태 발생 조건
- 상호배제
- 점유와 대기
- 비선점
- 환형대기
- 교착상태 해결 방법
- 예방
- 회피(은행원 알고리즘 (Banker’s Algorithm): 은행에서 모든 고객의 요구가 충족되도록 현금을 할당하는 데서 유래)
- 발견
- 회복
기억장치 관련 용어
- 페이지 부재: 필요한 페이지가 주기억 장치에 없는 상황
- 지역성: 프로세스가 실행되는 동안 일부 페이지만 집중 참조
- 워킹 셋: 일정시간 동안 자주 참조되는 페이지들의 집합
- 스레싱: 프로세스 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
728x90
'자격증' 카테고리의 다른 글
[자격증] 경영정보시각화능력(BIS) 필기 정리 3과목 경영정보시각화 디자인(시각화디자인 기본원리 이해) (1) | 2024.05.14 |
---|---|
[정보처리기사] 실기 용어 정리 응용 SW 기초기술(네트워크) (1) | 2024.04.26 |
[정보처리기사] 실기 용어 정리 애플리케이션 테스트 관리 (0) | 2024.04.24 |
[정보처리기사] 실기 용어 정리 데이터 입출력 구현 (1) | 2024.04.24 |
[정보처리기사] 실기 기출문제(2023) 풀이 C언어 (4) | 2024.04.22 |