인생이 쓰다!인생쓰

공부/정보처리기사

정보처리기사 실기 10일차 ( 응용 SW 기초 기술 활용 )

Johnal 2021. 4. 8. 11:01
반응형

*정리는 2020시나공 문제집을 참고했습니다.*

 

 

운영체제(OS)

컴퓨터 시스템의 자원들을 횯율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임입니다.

 

목적

처리 능력 향상, 신뢰도 향상, 사용 가능도 향상, 반환 시간 단축

 

 

성능 평가 기준

처리 능력 - 일정시간 내에 시스템이 처리하는 일의 양 

반환 시간 - 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간

사용 가능도 - 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도

신뢰도 - 시스템이 주어진 문제를 정확하게 해결하는 정도

 

기능 

프로세서, 기억장치, 입ㆍ출력장치, 파일 및 정보 등의 자원 관리

자원의 효과적인 경영 스케줄링 기능 제공

사용자가 시스템 간의 편리한 인터페이스 제공

시스템의 각종 하드웨어와 네트워크 관리ㆍ제어

시스템의 오류 검사 및 복구, 데이터 관리, 데이터 및 자원 공유

 

 

Windows의 특징

그래픽 사용자 인터페이스 (GUI) - 키보드나 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식

 

선점형 멀티태스킹 - 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU이용 시간을 제어하여 응용 프로그램 실행중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식 

 

PnP(Plug and Play , 자동 감지기능) - 컴퓨터 시스템에 프린터나 사운드 카드 등의 하드웨어를 설치했을 때, 해당 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능

 

OLE - 다른 여러 응용 프로그램에서 작성된 문자나 그림등의 개체를 현재 작성중인 문서에 연결하거나 삽입하여 편집할수 있게 하는 기능

 

*CLI( Command User Interface )*

명령어를 직접 입력해서 명령을 수행하는 방식으로 DOS에서 주로 사용합니다.

 

Window의 CLI명령어

dir : 현재 디렉터리의 파일 목록 표시

copy : 파일 복사

del : 파일 삭제

type : 파일 내용 표시

ren : 파일 이름 변경

md : 디렉터리 생성

cd : 동일한 드라이브에서 디렉터리 위치 변경

cls : 화면 내용 지움

attrib : 파일 속성 변경

find : 파일에서 문자열 찾음

chkdsk : 디스크 상태 점검

format : 디스크 표면을 트랙과 섹터로 나누어 초기화

move : 파일 이동

 

 

UNIX / LINUX

 

UNIX

1960년대 AT&T 벨 연구소, MIT, General Electric이 공동 개발한 운영체제입니다.

시분할 시스템을 위해 설계된 대화식 운영체제로, 소스가 공개된 개방형 시스템입니다.

대부분 C 언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높습니다.

다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원합니다.

트리(Tree)구조의 파일 시스템을 갖는다.

 

UNIX 시스템의 구성

커널(Kernel) - UNIX의 가장 핵심적인 부분이며, 하드웨어를 보호(캡슐화)하고, 프로그램들과 하드웨어간의 인터페이스 역할을 담당함

프로세스, 기억장치, 파일, 입ㆍ출력 관리, 프로세스간 통신 데이터 전송 및 변환 등 여러 가지 기능을 수행한다.

컴퓨터 부팅 시 주기억장치에 적재되어 상주하면서 실행됩니다.

 

쉘(Shell)

사용자가 명령어를 인식하여 프로그램을 호출하고, 명령을 수행하는 명령어 해석기이며 시스템과 사용자 간의 인터페이스를 담당함

주기억장치에 상주하지 않고, 명령어가 포함된 파일형태로 존재하며 보조기억장치에서 교체 처리가 가능합니다.

 

LINUX

1991년 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제입니다.

UNIX와 완벽하게 호환되며, 대부분의 특징이 UNIX와 동일합니다.

프로그램 소스코드가 무료로 공개되어있습니다.

 

 

UNIX / LINUIX의 CL 기본 명령어

cat : 파일 내용을 화면에 표시

cd : 디렉터리 위치 변경

chmod : 파일의 보호 모드를 설정하여 파일 사용 허가 지정

chown : 파일 소유자와 그룹 변경

cp : 파일 복사

rm : 파일 삭제

find : 파일 찾음

fsck : 파일 시스템 검사 및 보수

kill : PID(프로세스 고유 번호)를 이용하여 프로세스 종료

killall : 프로세스의 이름을 이용하여 프로세스 종료

ls : 현재 디렉터리의 파일 목록 표시

mkdir : 디렉터리 생성

rmdir : 디렉터리 삭제

mv : 파일 이동

ps : 현재 실행죽인 프로세스 표시

pwd : 현재 작업중인 디렉터리 경로를 화면에 표시

top : 시스템의 프로세스와 메모리 사용 현황 표시

who : 현재 시스템에 접속해 있는 사용자 표시

 

기억장치 관리 전략

 

보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위한 것입니다..

 

반입(Fetch) 전략

보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략으로, 요구반입과 예상 반입이 있다.

 

배치(Placement)전략

새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략이다.

 

최초 적합(First Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에 첫 번째 분할 영역에 배치 시키는 방법

최적 적합(Best Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에 단편화를 가장 작게 남기는 분할영역에 배치하는 방법

최악 적합(Worst Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에 단편화를 가장 많이 남기는 분할영역에 배치하는 방법

 

교체(Replacement) 전략

주기억장치의 모든 영역이 이미 사용중인 상태에서 새로운 프로그램이나 데이터를 주기억장치에 배치하려고 할때, 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 전략으로, FIFO, OPT, LRU, LFU등이 있습니다.

 

 

가상 기억장치(Virtual Memory)

 

보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것으로, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 것으로, 현재 사용되는 운영체제에서 흔히 사용되는 기법입니다.

 

가상 기억장치 구현기법

페이징(Paging) 기법 : 가상 기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 페이지를 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법으로 외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있습니다.

 

세그먼테이션(Segmentation) 기법 : 가상 기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법으로, 내부 단편화는 발생하지 않으나 외부 단편화는 발생할 수 있습니다. 

 

 

가상 기억장치 기타 관리 사항

 

Locality(국부성)

프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론

 

시간 구역성 : 프로세스가 실행되면서 하나의 페이지를 일정시간 동안 집중적으로 액세스하는 현상

공간 구역성 : 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상

 

워킹 셋 (Working Set) : 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합

 

페이지 부재 (Page Fault) : 프로세스 실행 시 참조할 페이지가 주기억장치에 없는 현상으로, 페이지 부재가 일어나는 횟수를 페이지 부재 빈도라고 합니다.

 

스래싱(Thrashning) : 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상

 

 

페이지 교체 알고리즘

 

OPT - 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법

 

FIFO(First In First Out) - 각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법

 

LRU(Least Recently Used) - 최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법

 

LFU(Least Frequently Used) - 사용빈도가 가장 적은 페이지를 교체하는 기법

 

NUR(Not Used Recently) - 최근에 사용하지 않은 페이지를 교체하는 기법으로, 참조 비트와 변형 비트가 사용됩니다.

 

SCR(Second Chance Replacement) - 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 것으로,  FIFO 기법의 단점을 보완하는 기법입니다. 

 

 

프로세스(Process) 관리

 

프로세스는 프로세서(처리기, CPU)에 의해 처리되는 사용자 프로그램, 시스템 프로그램 즉 실행중인 프로그램을 의미하며, 작업(Job), 태스크(Task)라고도 합니다.

 

프로세스 상태 전이

 

제출(Submit) - 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태

 

접수(Hold) - 제출된 작업이 스풀 공간인 디스크의 할당위치에 저장된 상태

 

준비(Reday) - 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태

 

실행(Run) - 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태

 

대기(Wait),블록(Block) -

프로세스에 입ㆍ출력처리가 필요하면 현재 실행 중인 프로세스가 중단되고, 입출력처리가 완료될때까지 대기하고있는 상태

 

종료 - 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태

 

프로세스 상태 전이 관련용어

Dispatch - 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정

 

Wake Up - 입ㆍ출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이되는 과정

 

Spooling - 입ㆍ출력 장치의 공유 및 상대적으로 느린 입출력장치의 처리 속도를 보완하고 다중 프로그래밍 시스템의 성능을 향상시키기 위해 입출력할 데이터를 직접 입출력장치에 보내지 않고 나중에 한꺼번애 입출력하기위해 디스크에 저장하는 과정

 

비선점(Non-preemptive) 스케줄링

이미 할당된 CPU를 다른 프로세스가 강제로 뺴앗아 사용할 수 없는 스케줄링 기법입니다.

 

FCFS( First Come First Servce , 선입 선출) = FIFO (First In First Out) : 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법

SJF( Shortest Job First, 단기 작업 우선) : 준비 상태 큐에서 기다리고 있는 프로세스들 중에서 실행시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법

 

HRN(Hightest Response-radio Next)

실행시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것으로, 대기 시간과 서비스(실행) 시간을 이용하는 기법

- 우선순위 계산식 : ( 대기시간 + 서비스 시간) / 서비스 시간

 

기한부(Deadline) : 프로세스에게 일정한 시간을 주어 그 시간 안에 프로세스를 완료하도록 하는 기법

우선순위(Priority) : 준비상태 큐에서 기다리는 각 프로세스마다 우선순위를 부여하여 그 중 가장 높은 프로세스에게 먼저 CPU를 할당하는 기법

 

에이징(Aging)기법

시스템에서 특정 프로세스의 우선순위가 낮아 무한정 기다리게 되는 경우, 한번 양보하거나 기다린 시간에 비례하여 일정 시간이 지나면 우선순위를 한 단계씩 높여 가까운 시간 안에 자원을 할당받도록 하는 기법입니다.

 

 

선점(Preemptive) 스케줄링

 

하나의 프로세스가 CPU를 할당받아 실행하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를 강제로 뺴앗아 사용할 수 있는 스케줄링 기법입니다.

 

선점 우선순위 : 준비상태 큐의 프로세스들 중에서 우선 순위가 가장 높은 프로세스에게 먼저 CPU를 할당하는 기법

 

SRT(Shortest Remaining Time) : 비선점 스케줄링인 SJF기법을 선점 형태로 변경한 기법으로, 선점 SJF 기법이라고도 합니다.

 

라운드 로빈(Round Robin) : 시분할 시스템을 위해 고안된 방식으로, FCFS 기법과 같이 준비상태 큐에 먼저 들어온 프로세스가 먼저 CPU를 할당받지만 각 프로세스는 시간 할당량 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에게 CPU를 넘겨주고 준비상태큐의 가장 뒤로 배치됨

 

다단계 큐 ( Multil-level Queue) : 프로세스를 특정 그룹으로 분류할 수 있을 경우 그룹에 따라 각기 다른 준비상태 큐를 사용하는 기법

다단계 피드백 큐(Multi-level Feedback Queue)

특정 그룹의 준비상태 큐에 들어간 프로세스가 다른 준비 상태 큐

 

728x90
반응형