정보처리기사 실기 정리 - 11. 응용 SW 기초 기술 활용
Chapter01 운영체제의 특징 (중요도: ★★★)
◆ 운영체제(OS: Operating System): 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어
◆ 운영체제 종류: 윈도즈(Windows), 유닉스(Unix), 리눅스(Linux), 맥(Mac), 안드로이드(Android)
◆ 메모리 관리 기법
- 반입 기법: 메모리 적재 시기 결정(When)
- 배치 기법: 메모리 적재 위치 결정(Where)
- 할당 기법: 메모리 적재 방법 결정(How)
- 교체 기법: 메모리 교체 대상 결정(Who)
◆ 메모리 배치 기법
- 최초 적합(First-fit): 프로세스가 적재될 수 있는 가용 공간 중에서 첫 번째 분할에 할당하는 방식
- 최적 적합(Best fit): 가용 공간 중에서 가장 크기가 비슷한 공간을 선택하여 프로세스를 적재하는 방식
- 최악 접합(Worst-fit): 프로세스의 가용 공간들 중에서 가장 큰 공간에 할당하는 방식
◆ 프로세스 상태
- 생성(Create) 상태: 사용자에 의해 프로세스가 생성된 상태
- 준비(Ready) 상태: CPU를 할당받을 수 있는 상태
- 실행(Running) 상태: 프로세스가 CPU를 할당받아 동작 중인 상태
- 대기(Waiting) 상태: 프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료까지 대기 리스트에서 기다리는 상태
- 완료(Complete) 상태: 프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태
◆ 프로세스 상태 전이
◆ 프로세스 스케줄링의 유형
- 선점형 스케줄링: 우선순위가 높은 프로세스가 CPU를 점유하는 스케줄링
- 라운드 로빈(Round Robbin): 프로세스는 같은 크기의 CPU 시간 할당
- SRT(Shortest Remaining Time First): 가장 짧은 시간이 소요되는 프로세스를 먼저 수행
- 다단계 큐(Multi Level Queue): 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점
- 다단계 피드백 큐(Multi Level Feedback Queue): 큐마다 서로 다른 CPU시간 할당량을 부여, FIFO+라운드 로빈 스케줄링 기법 혼합
- 비선점형 스케줄링: 한 프로세스가 CPU를 할당 받으면 작업 종료 전까지 다른 프로세스는 CPU점유 불가능한 스케줄링
- 우선순위(Priority): 프로세스별 우선순위에 따라 CPU 할당
- 기한부(Deadline): 작업들이 명시된 기한 내에 완료되도록 계획
- FCFS(First Come First Service): 프로세스가 대기 큐에 도착한 순서에 따라 CPU할당=FIFO
- SJF(Shortest Job First): 가장 짧은 작업부터 수행, 평균 대시 시간 최소화. 기아현상 발생
- HRN(Highest Response Ratio Next): 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, 기아현상 최소화 기법
◆ 가상화(Virtualization): 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술
◆ 클라우드 컴퓨팅(Cloud Computing): 인터넷을 통해 가상화된 컴퓨터 시스템 리소스 제공
◆ 클라우드 컴퓨팅 유형
- 인프라형 서비스(IaaS: Infrastructure as a Service): 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
- 플랫폼형 서비스(Paas: Platform as a Service): 애플리케이션 개발, 실행, 관리할 수 있게하는 플랫폼을 제공하는 서비스
- 소프트웨어형 서비스(SaaS: Software as a Service): 클라이언트 통해 접속하여 소프트웨어 서비스 형태로 이용하는 서비스
Chapter02 네트워크 계층 구조 파악 (중요도: ★★★)
◆ 네트워크(Network): 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라
- 광대역 네트워크(WAN): LAN에 비해 전송거리가 넓음
- 근거리 네트워크(LAN): 한 건물 또는 작은 지역 커버
◆ OSI(Open System Interconnection) 7계층
- 응용 계층(Application Layer): 사용자와 네트워크 간 응용서비스 연결, 데이터 생성
- 표현 계층(Presentation Layer): 데이터 형식 설정, 부호교환, 암/복호화
- 세션 계층(Session Layer): 송수신 간의 논리적인 연결
- 전송 계층(Transport Layer): 송수신 프로세스 간의 연결
- 네트워크 계층(Network Layer): 단말기 간 데이터 전송을 위한 최적화된 경로 제공
- 데이터링크 계층(Data Link Layer): 인접 시스템 간 데이터 전송, 전송 오류 제어
- 물리 계층(Physical Layer): 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환
◆ 프로토콜(Protocol): 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약
◆ 프로토콜 기본 3요소
- 구문(Syntax): 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등의 규적
- 의미(Semantic): 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정
- 타이밍(Timing): 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정
◆ 네트워크 프로토콜(Network Protocol): 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙의 체계
◆ 데이터 링크 계층 프로토콜
- HDLC(High-level Data Link Control): 점대점 방식이나 다중방식 통신에 사용되며, 동기식 비트 중심
- PPP(Point-to-Point Protocol): 네트워크 분야에서 두 통신 노드 간의 직접적인 연결
- 프레임 릴레이(Frame Relay): 프로토콜 처리를 간략화하여 데이터 처리속도의 향상 및 전송 지연을 감소시킨 고속데이터 전송 기술
- ATM(Asynchronous Transport Mode): 53바이트 셀 단위로 전달하는 비동기식 시분할 다중화 방식의 패킷형 전송 기술
◆ 네트워크 계층 프로토콜
- IP(Internet Protocol): 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용
- ARP(Adress Resolution Protocol): IP네트워크상에서 IP주소를 MAC주소(물리주소)로 변환하는 프로토콜
- RARP(Reverse Address Resolution Protocol): 서버로부터 IP 주소를 요청하기위해 사용하는 프로토콜
- ICMP(Internet Control Message Protocol): IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜
- IGMP(Internet Group Managemnet Protocol): 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜
- 라우팅 프로토콜(Routing Protocol): 데이터 전송을 위해 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜
◆ IPv4 (Internet Protocol version 4): 인터넷에서 사용되는 패킷 교환 네트워크상에서 데이터를 교환하기 위한 32비트 주소체계를 갖는 네트워크 계층 프로토콜
- 8비트씩 4부분으로 나뉜 10진수
- 0~255까지 3자리수 표현
- 유니캐스트, 멀티캐스트, 브로드캐스트
◆ IPv4 클래스 분류
- A클래스: 국가나 대형 통신망에 사용(1~127), 네트워크 사용자에게 부여가 가능한 IP
- B클래스: 중대형 통신망에 사용(128~191)
- C클래스: 소규모 통신망에 사용(192~223)
- D클래스: 멀티캐스트 용도로 예약된 주소(224~239)
- E클래스: 연구를 위해 예약된 주소(공용 사용 불가)
◆ IPv6 (Internet Protocol version 6): IPv4의 주소 부족 문제를 해결하기 위해 개발
- IPv4에 비해 자료 전송속도가 빠름
- 128비트 주소체계
- 16비트씩 8개 부분으로 나눈 16진수
- 유니캐스트, 멀티캐스트, 애니캐스트
◆ IPv4에서 IPv6으로 전환 방법: 듀얼 스택, 터널링, 주소 변환 방식
◆ 라우팅 프로토콜
- 내부 라우팅 프로토콜(IGP)
- RIP(Routing Information Protocol): AS(자율시스템)내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜
- OSPF(Oepn Shortest Path First): 자신을 기준으로 링크 상태 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜
- 외부 라우팅 프로토콜(EGP)
- BGP(Border Gateway Protocol): AS상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜
◆ TCP(Transmission Control Protocol):
- TCP 특징: 신뢰성 보장, 연결 지향적 특징, 흐름 제어, 혼잡 제어
◆ UDP(User Datagram Protocol):
- UDP 특징: 비신뢰성, 순서화되지 않은 데이터그램 서비스 제공, 실시간 응용 및 멀티캐스트 가능, 단순 헤어
◆ 표현계층 프로토콜
- JPEG: 이미지를 위해 만들어진 표준 규격
- MPEG: 멀티미디어(비디오, 오디오)를 위해 만들어진 표준 규격
◆ 응용계층 프로토콜
- HTTP(Hyper Text Transfer Protocol): 텍스트 기반의 통신구약, 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜
- FTP(File 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: 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
- SSH(Secure Shell): 서로 연결되어 있는 컴퓨터 간 원격 명령 실행이나 쉘 서비스 등을 수행, Telent보다 강력한 보안 제공
- SNMP(Simple Network Managemnet Protocol): 라우터나 허브 등 네트워크 장치로부터 정보를 수집 및 관리
◆ 패킷 교환 방식(Packet Switching): 작은 블록의 패킷으로 데이터를 전송하여 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 통신 방식
- 활용: 이메일, 메시지
◆ 패킷 교환 방식 기술
- X.25: 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜
- 프레임 릴레이: ISDN을 사용하기 위한 프로토콜로서 ITU-T에 의해 표준으로 작성
- ATM(Asynchronous Transfer Mode): 비동기 전송모드, 광대역 전송에 쓰이는 스위칭 기법
◆ 서킷 교환 방식(Circuit Switching): 네트워크 리스소를 특정 사용층이 독접하도록 하는 통신 방식
- 활용: 영상, 비디오
◆ 애드 혹 네트워크(Ad-hoc Network): 노드들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크
Chapter03 기본 개발환경 구축하기 (중요도: ★)
◆ 개발환경 인프라 구성 방식
- 온프레미스(On-Premise) 방식: 외부 인터넷망이 차단된 상태에서 인트라넷망만을 활용하여 개발환경을 구축하는 방식
- 클라우드(Cloud) 방식: 클라우드 공습 서비스를 제공하는 회사들(아마존, 구글, MS 등)의 서비스를 임대하여 개발 환경을 구축하는 방식
- 하이브리드(Hybrid) 방식: 온프레미스와 클라우드 방식을 혼용한 방식
정리는 아래 두권의 책을 참고하여 정리하였다. 아래 링크를 통해 구매 가능하다.
'Work & Study > 정보처리기사 실기' 카테고리의 다른 글
정보처리기사 실기 정리 - 10. 애플리케이션 테스트 관리 (2) | 2022.02.06 |
---|---|
정보처리기사 실기 정리 - 9. 소프트웨어 개발 보안 구축 (2) | 2022.02.06 |
정보처리기사 실기 정리 - 12. 제품 소프트웨어 패키징 (2) | 2022.02.05 |
정보처리기사 실기 정리 - 8. 서버 프로그램 구현 (0) | 2022.02.02 |
정보처리기사 실기 정리 - 7. SQL 응용 (0) | 2022.02.02 |