본문 바로가기
정보처리기사 실기

11. 응용 SW 기초 기술 활용 (1)

by Killing_me__ 2021. 7. 2.
반응형

Chapter 1. 운영체제의 특징
1. 운영체제(OS; Operating System)
- 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어
- 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함으로서 사용자에게 편리성 제공
- 컴퓨터 시스템과 사용자 간의 인터페이스 기능 담당

2. 운영체제의 종류
- Windows : MS-DOS의 멀티태스킹 기능과 GUI 환경 제공, 마이크로소프트사가 개발한 운영체제
GUI 제공, 선점형 멀티태스킹 방식 제공, 자동감지 기능 제공(Plug & Play), OLE(Object Linking and Embedding) 사용
- Unix : 교육 및 연구기관에서 사용되는 범용 다중 사용자 방식의 시분할 운영체제, 다양한 시스템에 서로 이식 가능, 멀티태스킹, 다중사용자 지원
대화식 운영체제 기능 제공, 다중 작업 기능 제공, 다중 사용자 기능 제공, 이식성 제공, 계층적 트리 구조 파일 시스템 제공
1) 리눅스(Linux) 운영체제 : 유닉스 기반으로 개발, 소스코드가 공개된 오픈소스 기반의 운영체제
2) 맥(Mac) 운영체제 : 애플이 유닉스를 기반으로 개발한 그래픽 사용자 인터체이스 기반의 운영체제
3) 안드로이드(Android) 운영체제 : 휴대전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스, 표준 응용프로그램을 포함하고 있는 운영체제

3. 윈도즈 운영체제의 기본 명령어
- ATTRIB : 파일 속성을 표시하거나 바꿈
- CALL : 한 일괄 프로그램에서 다른 일괄 프로그램을 호출
- CHKDSK : 디스크를 검사하고 상태 보고서 표시
- COMP : 두 개 이상의 파일을 비교
- DISKPART : 디스크 파티션 속성을 표시하거나 구성
- ERASE : 하나 이상의 파일을 지움

4. 리눅스/유닉스 계열 기본 명령어
- uname -a : 시스템의 모든 정보를 확인하는 명령어, 시스템 이름, 사용 중인 운영체제 버전, 호스트명, 하드웨어 정보 등을 표시
- uname -r : 운영체제의 배포버전을 출력하는 명령어
- uptime : 시스템의 가동 시간과 현재 사용자 수, 평균 부하량 등 확인하는 명령어
- last : 시스템 부팅부터 현재까지의 모든 사용자의 로그인과 로그아웃에 대한 정보를 표시하는 명령어
- cp : 파일 복사 명령어
- mv : 파일 이동 명령어
- pmap : 프로세스 ID를 기준으로 메모리 맵 정보를 출력하는 명령어
- kill : 특정 PID 프로세스 종료 명령어
- chmod : 특정 파일 또는 디렉토리의 퍼미션 수정 명령어
- chown : 파일이나 디렉토리의 소유자, 소유 그룹 수정 명령어
- host : 도메인 명은 알고 있는데 ip 주소를 모르거나 혹은 그 반대의 경우 사용하는 명령어
- tar : 여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령어(압축은 불가)
- gzip : 파일을 묶거나 풀 수는 없지만 압축을 담당하는 명령어
- grep : 입력으로 전달된 파일의 내용에서 특정 문자열을 찾고자 할 때 사용하는 명령어
- find : 특정한 파일을 찾는 명령어
- rsync : 로컬 또는 원격에. 파일과 디렉토리를 복사하고 동기화하는 명령어
- df : 시스템에 마운트된 하드디스크의 남은 용량을 확인할 때 사용하는 명령어
- du : 파일 사이즈를 킬로 바이트 단위로 보여주는 명령어

5. 운영체제 핵심 기능
1) 메모리 관리
- 프로그램의 실행이 종료될 때까지 메모리를 가용한 상태로 유지 및 관리하는 기능
- 프로그램 실행 중 메모리가 꽉 차게 되면 시스템의 속도가 느려지고 때로는 시스템이 멈추는 현상이 발생
- 메모리에 있는 프로그램은 CPU로 이동하여 처리
2) 프로세스 관리
- CPU와 데이터를 송수신하는 상황에서 현재 메모리 사용 부분, 메모리 입출력 순서, 메모리 공간 확보 등 프로세스에 대한 종합적인 관리 기법
- 프로세스 관리 기법에는 ‘일시 중지 및 재실행’, ‘동기화’, ‘통신’, ‘교착상태 처리’, ‘프로세스 생성 삭제’ 가 있음

6. 메모리 관리 기법 (반배할교)
- 반입기법 : 주기억장치에 적재할 다음 프로세스의 반입 시기를 결정하는 기법, 메모리로 적재 시기 결정(When)
- 배치기법 : 디스크에 있는 프로세스를 주기억장치의 어느 위치에 저장할 것인지 결정하는 기법, 메모리 적재 위치 결정(Where)
- 할당기법 : 실행해야 할 프로세스를 주기억장치에 어떤 방법으로 할당할 것인지 결정하는 기법, 메모리 적재 방법 결정(How)
- 교체기법 : 재배치 기법으로 주기억장치에 있는 프로세스 중 어떤 프로세스를 제거할 것인지를 결정하는 기법, 메모리 교체 대상 결정(Who)

7. 프로세스 상태
- 생성상태 : 사용자에 의해 프로세스가 생성된 상태
- 준비상태 : CPU를 할당받을 수 있는 상태
준비리스트 : 각각 우선순위를 부여하여 가장 높은 우선순위를 갖는 프로세스가 다음 순서에 CPU를 할당 받음
- 실행상태 : 프로세스가 CPU를 할당받아 동작 중인 상태
- 대기상태 : 프로세스가 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료까지 대기 리스트에서 기다리는 상태
대기리스트 : 우선순위가 존재하지 않음
- 완료상태 : 프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태

8. 프로세스 상태 전이
- 디스패치 : 준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정하여 CPU를 할당 -> 문맥교환 발생, 프로세스는 준비상태에서 실행상태로 전이
- 타이머 런 아웃 : CPU를 할당받은 프로세스는 지정된 시간이 초과되면 스케줄러에 의해 PCB 저장. CPU는 반납 후 다시 준비상태로 전이됨
프로세스는 실행상태에서 준비상태로 전이, 타임슬라이스 만료, 선점 시 타임아웃 발생
- 블록 : 실행 상태에 있는 프로세스가 지정된 할당시간을 초과하기 전에 입출력이나 기타 사건이 발생하면 CPU를 스스로 반납하고 입출력이 완료될 때까지 대기상태로 전이됨
프로세스는 실행 상태에서 대기 상태로 전이, 즉시 실행 불가능한 시스템 콜, I/O 작업시작, 프로세스 간 통신 시 block발생
- 웨이크 업 : 어느 순간에 입출력이 종료되면 대기 상태의 프로세스에게 입출력 종료 사실을 wait & signal 등에 의해 알려주고 준비상태로 전이됨
프로세스는 대기상태에서 준비상태로 전이
- swap-in : 프로세스에게 다시 기억장치가 할당될 경우, 지연 준비 상태나 지연 대기 상태에서 준비상태나 대기상태로 전이
- swap-out : 프로세스가 기억장치를 잃은 경우, 준비상태나 대기상태에서 지연준비상태나 지연대기상태로 전이

9. 프로세스 스케줄링의 유형
1) 선점형 스케줄링(Preemptive Scheduling)
- 하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프롯헤스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식
- 비교적 빠른 응답, 대화식 시분할 시스템에 적합
- 높은 우선순위 프로세스들이 들어오는 경우 오버헤드 초래
- 라운드로빈, SRT, 다단계 큐, 다단계 피드백 큐
- 실시간 응답 환경, Deadline 응답 환경
2) 비선점형 스케줄링(Non Preemptive Scheduling)
- 한 프로세스가 CPU를 할당 받으면 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유가 불가능한 스케줄링
- 응답 시간 예상이 용이, 모든 프로세스에 대한 요구를 공정하게 처리
- 짧은 작업을 수행하는 프로세스가 긴 작업 종료 시까지 대기
- 우선순위, 기한부, FCFS, HRN, SJF
- 처리시간 편차가 적은 특정 프로세스 환경

10. 선점형 스케줄링 알고리즘의 유형
- RR : 프로세스는 같은 크기의 CPU 시간을 할당, 프로세스가 할당된 시간 내에 처리 완료를 못하면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기 중인 다음 프로세스로 넘어감
균등한 CPU 점유 시간, 시분할 시스템을 사용
- SRT : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점됨
짧은 수행시간 프로세스 우선 수행
- 다단계 큐 : 작업들을 여러 종류 그룹으로 분할, 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점당함, 각 큐는 자신만의 독자적인 스케줄링을 가짐
독립된 스케줄링 큐
- 다단계 피드백 큐 : 입출력 위주와 CPU 위주인 프로세스의 특성에 따라 큐마다 서로 다른 CPU 시간 할당량을 부여, FCFS와 RR 스케줄링 기법을 혼합한 것으로, 새로운 프로세스는 높은 우선순위, 프로세스의 실행시간이 길어질수록 점점 낮은 우선순위 큐로 이동하고 마짐가 단계는 RR 방식을 적용
큐마다 다른 시간 할당량, 마지막단계는 RR 방식 처리

11. 비선점형 스케줄링 알고리즘의 유형
- 우선순위 : 프로세스별로 우선순위가 주어지고, 우선순위에 따라 CPU를 할당함, 동일 순위는 FCFS
주요/긴급 프로세스에 대한 우선 처리, 설정, 자원 상황 등에 따른 우선순위 선정
- 기한부 : 작업들이 명시된 시간이나 기한 내에 완료되도록 계획
요청에 명시된 시간 내 처리를 보장
- FCFS : 프로세스가 대기 큐에 도착한 순서에 따라 CPU를 할당함, FIFO 알고리즘이라고도 함
도착한 순서대로 처리
- SJF : 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유, 준비 큐 작업 중 가장 짧은 작업부터 수행, 평균 대기 시간 최소, CPU 요구 시간이 긴 작업과 짧은 작업 간의 불평등이 심하여, CPU 요구 시간이 긴 프로세스는 기아 현상 발생
기아 현상 발생 가능성
- HRN : 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, SJF의 약점인 기아 현상을 보완한 기법으로 긴 작업과 짧은 작업 간의 불평등 완화
HRN의 우선순위 = (대기시간 + 서비스시간) / 서비스 시간
기아현상 최소화 기법

12. 반환시간 및 대기시간 계산 방법 ( 반종도 대반서 )
반환시간 = 종료시간 - 도착시간 / 대기시간 = 반환시간 - 서비스 시간

13. 가상화 기술 요소
- 컴퓨팅 가상화 : 물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용할 수 있도록 하는 기술, 서버 가상화를 통해 하나의 시스템에서 1개 이상의 운영체제를 동시에 가동시킬 수 있으므로 서버 이용률이 크게 향상 (Hypervisor)
- 스토리지 가상화 : 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술, 이기종 스토리지 시스템의 통합을 가능하게 하는 기술 (분산 파일 시스템)
- I/O 가상화 : 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적인 연결을 지원하는 기술 (가상 네트워크 인터페이스 카드)
- 컨테이너 : 컨테이너화된 애플리케이션들이 단일 운영체제 상에서 실행되도록 해주는 기술, 하이퍼바이저 없이 운영체제가 격리된 프로세스로 동작하기 때문에 오버헤드가 낮음 (Docker)
- 분산처리기술 : 여러 대의 컴퓨터 계산 및 저장능력을 이용하여 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술
- 네트워크 가상화 기술 : 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치(라우터, 스위치 등)의 가상화를 통한 가상 네트워크를 지원하는 기술 (SDN, NFV)

14. 클라우드 컴퓨팅 분류
1) 사설 클라우드
- 기업 또는 조직 내부에서 보유하고 있는 컴퓨팅 자원을 사용하여 내부에 구축되어 운영되는 클라우드
- 자체 컴퓨팅 자원으로 모든 하드웨어, 소프트웨어, 데이터를 수용
- 직접적인 통제가 가능하며 보안성을 높일 수 있음
2) 공용 클라우드
- 클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드
- 일정한 비용을 지불하고 하드웨어, 소프트웨어 등을 사용
- 확장성, 유연성 등이 뛰어남
3) 하이브리드 클라우드
- 기업 또는 조직 내부 자원을 이용한 사설 클라우드와 공용 클라우드를 모두 사용하는 클라우드
- 사설 클라우드의 약점인 구축 비용 문제와 공용 클라우드의 약점인 보안성 확보 문제를 해결
- 사용 업무의 중요도, 보안성 확보의 중요도에 따른 이용 형태 변경 가능

반응형

'정보처리기사 실기' 카테고리의 다른 글

11. 응용 SW 기초 기술 활용 (3)  (0) 2021.07.02
11. 응용 SW 기초 기술 활용 (2)  (0) 2021.07.02
10. 프로그래밍 언어 활용  (0) 2021.07.01
9. 소프트웨어 개발 보안 구축  (0) 2021.06.30
8. SQL 응용  (0) 2021.06.28

댓글