[정보처리기사] 실기 용어 정리 응용 SW 기초기술(운영체제)

728x90

응용 SW 기초기술(운영체제)

응용 SW 기초기술(운영체제)

운영체제 종류

  • 윈도우: MS에서 개발한 운영체제
  • 유닉스(Unix): 미국 At&t 벨연구소에서 개발한 운영체제 - 커널(Kernel), 쉘(Shell)로 구성
    • 커널(Kernel)
      • 하드웨어 보호, 프로그램 및 하드웨어간 인터페이스 역할
      • 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리, 데이터 전송 및 변환, 쉘 프로그램 실행을 위한 프로세스 및 메모리 관리 
    • 쉘(Shell)
      • 사용자의 명령 인식, 해석 후 커널로 전달, 명령을 수행(반복적인 명령 프로그램을 만드는 프로그래밍 기능 제공)
      • 시스템과 사용자 간 인터페이스 역할
      •  초기화 파일을 이용해 사용자 환경 설정
  • 리눅스(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