코딩뿌셔

[4과목] 프로그래밍 언어 활용 - 응용 SW 기술 본문

자격증/정보처리기사

[4과목] 프로그래밍 언어 활용 - 응용 SW 기술

He__o 2022. 7. 3. 21:56

01 운영체제 기초 활용

02 프로세스 스케줄링


01 운영체제 기초 활용

▶ 운영체제(OS; Operating System)

  : 사용자로 하여금 컴퓨터 하드웨어를 쉽게 사용할 수 있도록 인터페이스 제공해주는 소프트웨어

 

▷ 특징

특징 설명
사용자 편리성 제공 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영
인터페이스 기능을 담당 컴퓨터 시스템과 사용자를 연결
스케줄링 담당 다중 사용자/응용프로그램 환경 하에 자원의 현재 상태를 파악하고 자원 분배
자원 관리 CPU, 메모리 공간, 기억장치, 입출력 장치 등 자원 관리
제어 기능 입출력 장치와 사용자 프로그램 제어

 

▷ 기능

제어 프로그램 종류 기능
감시 프로그램
(Supervisor program)
프로그램 실행, 시스템 전체 작동 상태 감시 및 감독
작업 제어 프로그램
(Job control program)
작업의 연속처리를 위한 스케줄, 시스템 자원 할당
데이터 관리 프로그램
(Data management program)
주기억장치-보조기억장치 사이의 데이터 전송,
보조기억장치의 자료 갱신 및 유지보수 기능 수행
처리 프로그램 종류 기능
언어 번역 프로그램
(Language translator program)
원시 프로그램   기계어 형태 프로그램으로 번역
(어셈블러, 컴파일러, 인터프리터)
서비스 프로그램
(Service program)
효율성을 위해 사용빈도가 높은 프로그램으로 링커
(정렬/합병, 라이브러리, 유틸리티)
문제 프로그램
(Problem program)
특정 업무 해결을 위해 사용자가 작성한 프로그램

 

▷ 커널의 기능

프로세스 관리 기억장치 관리 주변장치 관리 파일 관리

  - 운영체제는 크게 인터페이스(쉘)와 커널의 구조

  - 쉘은 운영체제 가장 바깥부분에 위치하여 사용자 명령에 대한 처리를 담당

  - 커널은 하드웨어와 관련된 내부적인 역할 담당

 

▶ 메모리 관리

  : 중앙처리장치, 메모리, 스토리지, 주변 기기 등을 적절히 관리하는 기법(CPU가 프로그램을 읽어서 연속적으로 동작하기 위해 매우 중요한 역할)

 

▷ 기본 사항

기본사항 설명
가상메모리
(Virtual Memory)
각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소 부여 방식,
가상(Virtual) 주소 공간은 메모리 관리장치에 의해 물리(Physical) 주소로 변환
메모리 관리 장치
(MMU)
CPU가 메모리에 접근하는 것을 관리하는 하드웨어 부품,
가상 메모리 주소를 실제 메모리 주소로 변환 (메모리 보호, 캐시 관리, 버스 중재 등)
메모리 관리자 기억장치 어느부분이 사용 중인지 아닌지 조사하여 프로세스에게 필요할 때마다 기억장치 할당/회수,
실행 파일 심볼의 재배치 주소를 프로세스의 논리 주소로 연결시키는 작업 수행

 

▷ 메모리 관리 기법

기법 세부 기법 설명
반입 기법
(적재 시기 결정)
요구 반입 기법 다음 실행 프로세스가 참조 요구가 있을 경우에 적재
예상 반입 기법 시스템 요구를 예측하여 미리 메모리에 적재
배치 기법
(적재 위치 결정)
최초 적합
(First Fit)
프로세스가 적재될 수 있는 가용 공간 중 첫 번째 분할에 할당
최적 적합
(Best Fit)
가용 공간 중 가장 크기가 비슷한 공간을 선택하여 프로세스 적재,
(공백 초소화 장점)
최약 적합
(Worst Fit)
프로세스 가용 공간 중 가장 큰 공간에 할당하는 방식
할당 기법
(적재 방법 결정)

연속 할당 기법 실행 프로세스를 주기억장치 공간 내 인접되게 연속하여 할당
(단일 분할 : 오버레이, 스와핑 / 다중 분할 : 고정 분할, 동적 분할)
분석 할당 기법 하나의 프로세스를 여러 조각으로 나누어 주기억장치 공간 내 분산 배치,
주로 가상기억장치에서 사용 (페이징, 세그먼테이션, 페이징/세그먼테이션)
교체 기법
(교체 대상 결정)
FIFO, LRU, LFU, OPT, NUR, SCR

 

▷ 페이징 기법의 문제 및 해결방안

문제점 스레싱 : 어떤 프로세스가 계속적으로 페이지 부재가 발생하여 프로세스의 실제 처리 시간보다
페이지 교체 시간이 더 많아지는 현상(오류율이 클수록 스레싱 많이 발생, 전체 시스템 성능 및 처리율 저하)
해결방안 워킹세트 : 프로세스가 많이 참조하는 페이지들의 집합을 주기억장치 공간에 계속 상주하게 하여
빈번한 페이지 교체 현상을 줄이고자 하는 기법(Page Hit 증가, CPU 활용률 최적화)

 

02 프로세스 스케줄링

▶ 프로세스

  : CPU에 의해 처리되는 사용자 프로그램, 시스템 프로그램(실행 중인 프로그램 의미, 작업(Job), 태스크(Task))

 

▷ 상태

생성
(Create)
준비
(Ready)
실행
(Running)
대기
(Waiting)
완료/종료 exit
(Complete/Terminated)

 

▷ 구성요소

  : 사용자 작성 코드, 사용자 사용 데이터, 스택(Stack), 프로세스 제어 블록(PCB)

 

▷ 프로세스 제어 블록(PCB) 구성요소

PID(프로세스 식별자) 프로세스 상태 프로그램 카운트 레지스터 저장 영역,
프로세서 스케줄링 정보 계정 정보 입출력 상태 정보 메모리 관리 정보

 

▶ 프로세스 관리 - 교착상태

  : 다중 프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태

 

▷ 교착상태 발생 조건

발생 조건 설명
상호배제 프로세스가 자원을 배타적을 ㅗ점유하여 다른 프로세스가 그 자원을 사용할 수 없는 상태
점유와 대기 한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기하고 있는 상태ㅐ
비선점 한 프로세스가 점유한 자원에 대해 다른 프로세스가 선점할 수 없고,
오직 점유한 프로세스만이 해제 가능한 상태
환형 대기 두 개 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형을 구성한 상태

 

▷ 교착상태 해결방법

해결방법 설명 세부기법
예방
(Prevention)
상호배제를 제외한 나머지 교창상태 발생 조건을 위배 점유 자원 해제 후 새 자원 요청
회피
(Avoidance)
안전 상태를 유지할 수 있는 요구만 수락
(프로세스별 자원 최대 요구량 확보)
Banker's Alforithm, Wound-Wait,
Wait-Die
발견
(Detection)
시스템의 상태를 감시 알고리즘을 통해 교착상태 검사 자원할당 그래프, Wait for Graph
복구
(Recovery)
교착상태가 없어질 때까지 프로세스 순차적 제거 프로세스 Kill, 자원선점

 

Comments