정보처리기사 4과목 프로그래밍 언어 활용
3장. 응용 SW 기초 기술 활용
148 프로세스의 개요 Ⓐ
프로세스란
- PCB를 가진 프로그램
- 프로시저가 활동중인 것
- 비동기적 행위 를 일으키는 주체
- 현재 실행중인 프로그램
PCB(Process Control Block)
- 운영체제가 프로세스에 대한 정보를 저장해 놓는 곳
- 프로세스의 현재 상태, 포인터, 프로세스 고유 식별자, 프로세스의 우선순위, CPU 레지스터 정보, 주기억장치 관리 정보, 할당된 자원의 정보
프로세스의 사용 빈도, 프로세스 생성 정보
프로세스 상태 전이
- Submit
- Hold
- Ready
- Run
- Wait
- Exit
프로세스 상태 전이 관련 용어
- Dispatch : Ready 상태의 프로세스 중 하나가 프로세서를 할당받아 Run으로 전이되는 과정
- Wake Up : 입출력 작업이 완료되어 프로세스가 Wait에서 Ready로 전이되는 과정
- Spooling : 다중 프로그래밍 시스템의 성능을 향상시키기 위해 입출력할 데이터를 디스크에 저장하는 과정
- Traffic Controller : 프로세스의 상태에 대한 조사와 통보 담당
스레드(Thread)
- 프로세스 내에서의 작업 단위로 시스템의 여러 자원을 할당받아 실행하는 프로그램 단위
- 하나의 프로세스에 여러 스레드 존재 가능
- 동일 프로세스에서 독립적인 다중 수행 가능
- 각각의 스레드는 별도의 레지스터와 스택을 가짐
- 운영체제는 커널에 의해 스레드를 운용함
- 프로세스들 간의 통신 향상
149 스케줄링 Ⓑ
스케줄링
- 장기 스케줄링/작업 스케줄링/상위 스케줄링 : 프로세스를 준비상태 큐로 보내는 작업
- 중기 스케줄링 : 어떤 프로세스들이 CPU를 할당받을 것인지 결정하는 작업
- 단기 스케줄링/프로세서 스케줄링 : 프로세스가 실행되기 위해 CPU를 할당받는 시기와 대상을 지정
- 목적 : 공정성, 처리량 증가, CPU 이용률 증가, 오버헤드 최소화, 응답 시간 최소화, 반환 시간 최소화, 대기 시간 최소화, 무한 연기 회피, 균형있는 자원 사용
선점 스케줄링 / 비선점 스케줄링
-
선점 스케줄링(Preemptive Scheduling)
- 프로세스 실행 중 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용하는 기법
- 많은 오버헤드 초래
- 대화식 시분할 시스템에 사용
- ex) Round Robin, SRT, 선점 우선순위, 다단계 쿠, 다단계 피드백 큐
-
비선점 스케줄링(Non-Preemptive Scheduling)
- 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 기법
- 모든 프로세스에 대한 요구를 공정하게 처리
- 응답 시간 예측 용이
- 중요한 작업이 중요하지 않은 작업을 기다리는 경우 발생
- ex) FCFS, SJF, 우선순위, HRN, 기한부
152 인터넷 Ⓐ
IP 주소
- 총 32비트
- A class ~ E class까지 존재
- D class : 멀티캐스트 용
- E class : 실험적 주소이며 공용되지 않음
Subnetting
- 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용
- 서브넷 마스크 : 네트워크 주소와 호스트 주소를 구분하기 위한 비크
IPv6
- 128비트의 주소 사용
- 인증성, 기밀성, 데이터 무결성 지원
- Unicast, Multicast, Anycast
153 OSI 참조 모델 Ⓐ
OSI 참조 모델
- 시스템 간의 원활한 통신을 위해 ISO에서 제안한 프로토콜
- 하위 계층 : 물리 계층 -> 데이터 링크 계층 -> 네트워크 계층
- 상위 계층 : 전송 계층 -> 세션 계층 -> 표현 계층 -> 응용 계층
OSI 참조 모델 : 물 데 네 전 세 표 응
데이터 단위 : 비 트(물리) -> 프 레임(데이터 링크) -> 패 킷(네트워크) -> 세 그먼트(전송) -> 메 시지(세션,표현,응용)
물리 계층(Physical Layer)
- 기계적, 전기적, 기능적, 절차적 특성 정의
- 프로토콜 : RS-232C
데이터 링크 계층(Data Link Layer)
- 인접한 두 개의 시스템 간에 신뢰성 있는 효율적인 정보 전송
- 순서 제어, 흐름 제어, 오류 제어
- 프로토콜 : HDLC, LLC, MAC, PPP
네트워크 계층(Network Layer)
- 네트워크 연결 설정, 유지, 해제
- 경로 설정, 트래픽 제어
- 프로토콜 : X.25, IP
전송 계층(Transport Layer)
- 종단 시스템 간의 데이터 전송
- 주소 설정, 다중화, 오류 제어, 흐름 제어
- 프로토콜 : TCP, UDP
세션 계층(Session Layer)
- 관련성 유지, 대화 제어
- 동기점 이용하여 오류 복구
표현 계층(Presentation Layer)
- 코드 변환, 구문 검색, 형식 변환, 데이터 암호화, 데이터 압축
응용 계층(Application Layer)
- 사용자가 OSI 환경에 접근할 수 있도록 서비스 제공
154 네트워크 관련 장비 Ⓑ
네트워크 관련 장비
- 브리지(Bridge) : LAN과 LAN을 연결, 데이터 링크 계층 중 MAC 계층에서 사용, 브리지 n개 -> 전송 가능한 회선수 n(n-1)/2개
- 스위치(Switch) : LAN과 LAN을 연결해 더 큰 LAN을 만드는 장치, 데이터 링크 계층
- 라우터(Router) : LAN과 LAN의 연결 기능에 최적 경로 선택 기능 추가, 네트워크 계층
- 게이트웨이(Gateway) : 데이터 형식 변환, 주소 변환, 프로토콜 변환 수행
155 프로토콜의 개념 Ⓑ
프로토콜의 기본 요소
- 구문(Syntax) : 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 규정
- 의미(Semantics) : 협조 사항과 오류 관리를 위한 제어 정보 규정
- 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 규정
프로토콜의 기능
- 흐름 제어 : 송신하는 데이터의 전송량이나 전송 속도 조절
- 오류 제어 : 전송 중 발생하는 오류 검출, 정정
- 동기화 : 송·수신 측의 타이밍을 맞춤
- 순서 제어 : 전송되는 데이터 블록에 전송 순서 부여
- 다중화 : 한 개의 통신 회선을 여러 가입자들이 동시에 사용되도록 함
- 경로 제어 : 송신 경로 중 최적의 패킷 교환 경로 설정
156 TCP/IP ⒶⒷⒸ
TCP/IP 개요
- TCP(Transmission Control Protocol) : 전송 계층에 해당, 신뢰성 있는 연결형 서비스
- IP(Internet Protocol) : 네트워크 계층에 해당, 비연결형 서비스
응용 계층 프로토콜
- FTP(File Transfer Protocol)
- SMTP(Simple Mail Transfer Protocol)
- TELNET : 가상 터미널 서비스
- SNMP(Simple Network Management Protocol)
- DNS(Domain Name System)
- HTTP(HyperText Transfer Protocol)
전송 계층 프로토콜
- TCP(Transmission Control Protocol) : 양방향 연결 서비스, 스트림 위주 전달, 신뢰성, 순서 제어, 에러 제어
- UDP(User Datagram Protocol) : 비연결형 서비스, 신뢰성이 떨어짐, 실시간 전송에 유리
- RTCP(Real-Time Control Protocol)
인터넷 계층 프로토콜
- IP(Internet Protocol) : 비연결형 데이터그램 사용
- ICMP(Internet Control Message Protocol) : IP 보완, IP와 조합하여 제어 메시지 관리, 헤더 8Byte
- IGMP(Internet Group Management Protocol)
- ARP(Address Resoulution Protocol) : IP주소를 MAC주소로 변환
- RARP(Reverse Address Resoulution Protocol)
네트워크 액세스 계층 프로토콜
- Ethernet
- IEEE 802
- HDLC
- X.25
- RS-232C
REFERENCE
2020 시나공 정보처리기사 필기 : NCS 기반 전면 개편[개정판]