10장 : 응용 SW 기초 기술 활용(4과목)
1. 운영체제 (OS, Operation System) ★★★
- 사용자와 하드웨어간의 인터페이스 역할
사용자 |
응용 프로그램 |
유틸리티 |
운영체제 |
하드웨어 |
2. 운영체제의 계층 구조
하드웨어 |
CPU 관리 |
기억장치 관리 |
프로세스 관리 |
주변장치 관리 |
파일 시스템 관리 |
사용자 프로세스 |
3. 운영체제의 목적 ★★★
- 처리 능력(Throughput) 향상 : 일정 시간 내에 시스템이 처리하는 일의 양
- 사용 가능도(Availability) 향상 : 작업 의뢰 시간부터 처리 완료까지 걸린 시간
- 신뢰도(Reliability) 향상
- 반환 시간(Turn Around Time) 단축
4. 운영체제의 주요 자원 관리
- 프로세스 관리
- 기억장치 관리
- 주변장치 관리
- 파일 관리
5. 윈도우 운영체제 (Windows)
- 마이크로소프트사가 개발한 운영체제
- GUI 사용
- 선점형 멀티태스킹(Preemptive Multi-Tasking) : OS가 각 작업의 CPU 사용 시간을 제어
- PnP (Plug and Play) : 환경을 자동으로 구성
- OLE(Object Linking and Embedding) : 작성중인 문서에 자유롭게 연결 및 삽입이 가능
- 255자의 긴 파일명
- Single-User 시스템 : 하나의 컴퓨터를 한 사람만 쓸 수 있음
6. 유닉스 운영체제 (UNIX) ★★★ 무료 버전이 리눅스
- 서버용 운영체제
- 대화식 운영체제
- 개방형 시스템
- C언어로 작성되어 있어 호환성이 높음
- 크기가 작고, 이해하기 쉬움
- Multi-User 시스템
- Multi-Tasking을 지원
- Network 관리용 운영체제로 적합
- 트리 구조의 파일 시스템
- 전문적인 프로그램 개발에 용이
7. UNIX 시스템의 구성
사용자 |
유틸리티 |
쉘 |
커널 |
하드웨어 |
8. 커널 (Kernel) ★★★
- 유닉스의 가장 핵심적인 부분
- 주기억장치(main memory)에 적재
- 프로그램과 하드웨어간의 인터페이스 역할
- 하드웨어를 캡슐화
- 프로세스 관리, 기억장치 관리 등을 담당
9. 쉘 (Shell) ★★★
- 사용자의 명령어를 인식
- 프로그램을 호출
- 명령을 수행
- 시스템과 사용자간의 인터페이스 역할
- 파이프라인 기능을 제공
10. 기억장치 ★★★
- 종류
레지스터 |
캐시 기억장치 |
주 기억장치 |
보조 기억장치 |
- CPU의 직접 액세스 가능 범위 : 레지스터, 캐시 기억장치, 주 기억장치
- 보조 기억장치에 있는 데이터의 경우, 주 기억장치에 적재된 , CPU에 의해 액세스된다.
11. 기억장치의 관리 전략 ★★★
- 반입 전략
- 요구 반입 (Demand Fetch)
- 예상 반입 (Anticipatory Fetch)
- 배치 전량
- 최초 적합 (First Fit)
- 최적 적합 (Best Fit)
- 최악 적합 (Worst Fit)
- 교체 전략 : FIFO, OPT, LRU, LFUM NUR, SCR 등
12. 가상기억장치 구현 기법
- 보조 기억장치의 일부를 주 기억장치처럼 사용하는 기법이다.
- 종류
- 연속 할당 기법
- 분산 할당 기법
13. 페이징 기법 (Paging) vs 세그멘테이션 기법 (Segmentation) ★★★ 내페 / 외세
구분 | 페이징 기법 (내부단편화 O) | 세그멘테이션 기법 (외부단편화 O) |
크기 | 동일한 크기 | 다양한 크기 |
내부 단편화 | O | X |
외부 단편화 | X | O |
15. 페이지 교체 알고리즘 ★★★
- OPT (OPTimal replacement, 최적 교체)
- FIFO (First In First Out)
- LRU (Least Recently Used)
- 최근에 가장 오랫동안 사용하지 않은 페이지를 교체
- 최근에 가장 적게 사용된 페이지를 교체
- 가장 오래 전에 사용된 페이지를 교체
- 각 페이지마다 counter 또는 stack을 두어 체크
- LFU (Least Frequenctly Used)
- 사용 빈도가 가장 적은 페이지를 교체
- 활발하게 사용되는 페이지는 사용 횟수가 많아 교체되지 않고 사용
- SCR (Second Chance Replacement, 2차 기회 교체)
- NUR (Not Used Recently)
- LRU와 비슷
- LRU에서 나타나는 시간적 오버헤드를 줄일 수 있음
- 참조 비트와 변형 비트가 필요
NUR의 교체 순서 | ||
순서 | 참조 비트 | 변형 비트 |
1 | 0 | 0 |
2 | 0 | 1 |
3 | 1 | 0 |
4 | 1 | 1 |
16. 페이지의 크기 ★★★
- 작을 경우
- 단편화가 감소
- 페이지 이동시간이 줄어듦
- 효율적인 워킹 셋(working set)을 유지
- Locality에 더 일치
- 기억장치의 효율이 증가
- 페이지 맵 테이블의 크기가 증가
- 매핑 속도가 늦어짐
- 입출력 시간은 증가
- 클 경우
- 페이지 맵 테이블의 크기가 감소
- 매핑 속도가 빨라짐
- 디스크 접근 횟수가 줄어듦(입출력 효율 증가)
- 단편화가 증가
- 페이지의 이동 시간이 증가
- 불필요한 내용이 적재
17. Locality (국부성, 지역성, 구역성, 국소성) ★★★
- 특정 페이지만 집중적으로 참조하는 성질이 있다는 이론
- 스레싱을 방지하기 위한 워킹 셋 이론의 기반
- 종류
- 시간 구역성 : 루프, 스택, 함수 등 sub program, 카운팅 등
- 공간 구역성 : 순차적인 코드 실행, 배열 순회 등
18. 워킹 셋 (Working Set) ★★★
- 일정 시간 동안 자주 참조하는 페이지들의 집합
- 시간이 지남에 따라 변한다.
19. 스레싱 (Thrashing) ★★★
- 프로세스의 처리 시간보다, 페이지 교체 시간이 더 많아지는 현상
- 성능 저하의 원인이다.
- 방지 방법
- 다중 프로그래밍의 정도를 적정 수준 유지
- 페이지 부재 빈도를 조절
- 워킹 셋을 유지
- 부족한 자원을 증설하고, 일부 프로세스를 중단
20. 프로세스 (Process)
- = 실행중인 프로그램
- = Job
- = Task
- = 비동기적 행위를 일으키는 주체
- = 운영체제가 관리하는 실행의 단위
- = PCB를 가진 프로그램
21. PCB (Process Control Block)
- 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳
- 저장되어 있는 정보
- 프로세스의 현재 상태
- 포인터
- 고유 식별자
- 스케쥴링 및 우선순위
- 레지스터 정보
- 주 기억장치 정보
- 입출력 상태 정보
- 계정 정보
22. 프로세스의 상태의 종류 (생성 - 준비/실행/대기 - 종료)
- 제출 (Submit)
- 접수 (Hold)
- 준비 (Ready)
- 실행 (Run)
- 대기 (Wait)
- 블록 (Block)
- 종료 (Terminated)

23. 스레드 (Thread) ★★★
- = 프로세스 내에서의 작업의 단위
- = 경량 프로세스
- = 독립적인 스케줄링의 최소 단위
- 분류
- 사용자 수준의 스레드 : 속도는 빠르지만, 구현이 어렵다.
- 커널 수준의 스레드 : 구현이 쉽지만, 속도가 느리다.
24. 스케쥴링 (Scheduling)
- 프로세스가 생성되어 실행될 때, 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
- 종류
- 장기 스케줄링
- 중기 스케줄링
- 단기 스케줄링
24-1. 스케줄링의 목적
- 공정성
- 처리율 증가
- CPU 이용률 증가
- 우선순위가 높은 프로세스를 먼저 실행
- 오버헤드의 최소화
- 응답 시간 최소화
- 반환 시간 최소화
- 대기 시간 최소화
- 균형 있는 자원의 사용
- 무한 연기 회피
24-2. 프로세스 스케줄링의 기법
- 비선점 스케줄링 (Non-Preemptive Scheduling)
- CPU를 강제로 빼앗을 수 없다.
- 종류 : FCFS, SJF, 우선순위, HRN
우선순위(Priority) | 프로세스별로 우선순위가 주어지고, 우선순위에 따라 CPU를 할당 |
기한부(Deadine) | 작업들이 명시된 시간이나 기한 내에 완료되도록 계획 |
FCFS(First Come First Service) | 프로세스가 대기 큐에 도착한 순서에 따라 CPU를 할당 |
SJF(Shortest Job First) | 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 기간을 갖는 프로세스가 종료까지 원 점유 |
HRN(Highest Response Ratio Next) | 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택 (대기 시간 + 서비스 시간) / 서비스 시간 |
- 선점 스케줄링 (Preemptive Scheduling)
- 강제로 빼앗을 수 있다.
- 종류 : RR, SRT, 선점 우선순위, 다단계 큐
RR(Round Robin) | 시분할 시스템에서 사용 / FCFS와 비슷하지만 제한시간이 지난 후, 다음 프로세스에게 자원을 할당 |
SRT(Shortest Remaining Time) | SJF기법을 선점형으로 바꾼 스케줄링 |
선점 우선순위 | 비선점 우선순위를 선점형으로 바꾼 것 |
다단계 큐 | 프로세스의 우선순위에 따라 시스템 프로세스, 대화형 프로세스, 일괄처리 프로세스 등으로 나누어 준비상태 큐를 상위 중위 하위단계로 배치 |
다단계 피드백 큐 | 다단계 큐의 단점을 보완함 큐마다 timeout을 설정하여 timeout초과시 우선순위가 낮은 다음단계 큐로 이동 |
(선점형이란 하나의 프로세스가 다른 프로세스 대신에 프로세서(CPU)를 차지할 수 있다 란 뜻)
25. 인터넷 (Internet) ★★★
- TCP/IP 프로토콜을 기반
- ARPANET에서 시작
- 유닉스 운영체제를 기반
- 고유한 IP 주소
26. IP 주소 (Internet Protocol)
- 컴퓨터 자원을 구분하기 위한 고유한 주소
- 숫자로 8비트씩 4부분, 총 32비트로 구성 (IPv4)
- 네트워크 부분의 길이에 따른 구분
- A Class : 0~127, 국가급 대형
- B Class : 128~191, 중대형
- C Class : 192~223, 소규모
- D Class : 224~239, 멀티태스킹을 위해 사용
- E Class : 실험용으로 사용, 공용으로 사용되지 않음
** 서브네팅(Subnetting) : 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것
27. 도메인 네임 (Domain Name)
- 숫자 형태인 IP 주소를, 사람이 이해하기 쉬운 문자 형태로 표현한 것
예) www.sinagong.co.kr | |||
www | sinagong | co | kr |
호스트 컴퓨터 이름 | 소속 기관 이름 | 소속 기관 종류 | 소속 국가 |
28. OSI 참조 모델과 PDU ★★★★★★
- 1~3 계층 : 하위 계층
- 4~7 계층 : 상위 계층
순서 | 이름 | PDU | 설명 | 관련 장비 | |
1 | 물리 계층 최하위 계층! |
비트 | 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의 물리적 전송 매체와 전송 신호 방식을 정의 물리허비 |
리피터, 허브 | |
2 | 데이터 링크 계층 노드끼리 정보 전송! |
프레임 | 두 개의 인접한 개방 시스템들 간의 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 시스템간 연결 설정과 유지 및 종료 담당 물리적으로 인접한 두 노드의 흐름 제어 흐름 제어 기능 동기화 기능 오류 제어 기능 순서 제어 기능 데랜브스프 |
랜카드, 브릿지, 스위치 | |
3 | 네트워크 계층 최적 경로 선택! |
패킷 | 네트워크 연결을 관리 데이터 교환 및 중계 경로 설정 기능 (=Routing) 트래픽 제어 기능 패킷 정보 전송 기능 네라아패 |
라우터, IP | |
4 | 전송 계층 실제 전송! |
세그먼트 | 논리적 안정과 균일한 데이터 전송 서비스를 제공 종단 시스템(End to End) 간의 투명한 데이터 전송을 가능 TCP, UDP 표준 주소 설정 기능 오류 제어 기능 흐름 제어 기능 전게티세 |
게이트웨이, TCP | |
5 | 세션 계층 동기 제어! |
메시지 | 송수신측 간의 관련성 유지 & 대화 제어 전송하는 정보 일정부분에 체크점을 두어 동기점 동기 제어 기능 세대동 |
||
6 | 표현 계층 암호화, 코드! |
메시지 | 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환하고, 반대의 경우도 마찬가지 코드 변환 기능 데이터 암호화 기능 구문 검색 기능 정보 형식(포맷) 변환 기능 문맥 관리 기능 데이터 압축 기능 표압암 |
||
7 | 응용 계층 최상위 계층! |
메시지 | 사용자(응용 프로그램)이 OSI 환경에 접근할 수 있도록 서비스를 제공함 응용프로세스간 정보 교환 기능 전자사서함 기능 파일 전송 기능 가상 터미널 기능 |

30. 네트워크 인터페이스 카드 (NIC, Network Interface Card)
- = 이더넷 카드
- = LAN 카드
- = 네트워크 어댑터
- 컴퓨터와 컴퓨터, 또는 컴퓨터와 네트워크를 연결하는 장치
- 정보 전송 시, 정보의 형태를 변경
31. 통신 장치 종류 ★★★
- 허브 (Hub)
- 가까운 거리의 컴퓨터들을 연결하는 장치
- 리피터 (Repeater)
- 왜곡된 신호를 원래 신호 형태로 재생하여 전송하는 장치
- 브리지 (Bridge)
- LAN과 LAN을 연결하는 장치
- 또는, LAN 안에서의 컴퓨터 그룹을 연결하는 장치
- 스위치 (Switch)
- LAN과 LAN을 연결하는 장치
- 하드웨어 기반
- 데이터 링크 계층에서 사용
- 라우터 (Router)
- 서로 다른 LAN이나, LAN과 WAN을 연걸하는 장치
- 브리지에, 최적의 경로를 선택할 수 있는 기능이 추가
- 네트워크 계층에서 사용
32. 프로토콜 (Protocol)
- 표준화된 통신 규약
- 기본 요소
- 구문 (Syntax) - 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등을 규정
- 의미 (Semantics) - 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정
- 시간 (Timing) - 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정
- 기능
- 단편화와 재결합
- 캡슐화
- 흐름 제어
- 오류 제어
- 동기화
- 순서 제어
- 주소 지정
- 다중화
- 경로 제어
33. TCP/IP ★★★
- 인터넷의 표준 프로토콜
- UNIX의 기본 프로토콜
- TCP
- 전송 계층에 해당한다.
- 연결형 서비스를 제공
- 스트림 전송 계층 서비스를 제공
- IP
- 네트워크 계층에 해당
- 비연결형, 비신뢰성 서비스를 제공
34. 응용 계층의 주요 프로토콜 ★★★
프로토콜 | 설명 |
HTTP (HyperTetx Transfer Protocol) |
텍스트 기반의 통신 규약 |
FTP (Transfer Protocol) |
TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜 |
SMTP (Simple Mail Transfer Protocol) |
인터넷에서 TCP 포트번호 25번을 사용하여 이메일을 보내기 위해 이용되는 프로토콜 |
POP3 (Post Office Protocol Version 3) |
응용 계층 인터넷 프로토콜 중 하나로, 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜 |
IMAP (Internet Messaging Access Protocol) |
원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용하는 프로토콜 |
Telnet | 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜 |
DNS (Domain Name System) | 도메인 네임을 IP주소로 바꿔 주는 프로토콜 |
SNMP (Simple Network Management Protocol) | TCP/IP 네트워크 관리 프로토콜 |
35. 전송 계층의 주요 프로토콜 ★★★
TCP(Transmission Control Protocol) | 양방향 연결형 서비스 제공 가상 회선 연결 형태의 서비스 제공 순서 제어, 오류 제어, 흐름 제어 기능을 함 스트림 위주의 패킷 단위 전달 |
UDP(User Datagram Protocol) |
비연결형 서비스 제공 실시간 전송에 유리하며, 신뢰성보다는 속도가 중요시되는 네트워크에서 사용 |
RTP(Real-Time Protocol) | UDP 기반 실시간 프로토콜 |
RTCP(Real-Time Control Protocol) | 패킷의 전송 품질을 제어하기 위한 제어 프로토콜 세션에 참여한 각 참여자들에게 주기적으로 제어 정보를 전송 데이터 전송을 모니터링하고 최소한의 제어와 인증 기능만을 제공 패킷은 항상 32비트의 경계로 끝남 |
36. 인터넷 계층의 주요 프로토콜 ★★★
IP(Internet Protocol) | 전송할 데이터에 주소를 지정하고 경로를 설정 |
ICMP(Internet Control Message Protocol) | IP와 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리 헤더는 8Byte로 구성 |
IGMP(Internet Group Management Protocol) | 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용 |
ARP(Address Resolution Protocol) | IP 주소를 MAC Address로 변환 (논리 주소 → 물리 주소) |
RARP(Reverse Address Resolution Protocol) | ARP의 반대로 MAC Address를 IP 주소로 변환 (물리 주소 → 논리 주소) |
IPSec | IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공 |
37. 네트워크 액세스 계층의 주요 프로토콜 ★★★
- Ethernet (IEEE 802.3)
- IEEE 802