▶ 운영체제
사용자가 컴퓨터 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어
=> 컴퓨터 사용자와 하드웨어 간의 인터페이스 제공 역할
▶ 운영체제의 종류
- 윈도우(마이크로소프트) => 지선자 오
- GUI(그래픽 사용자 인터페이스) 제공
- 선점형 멀티태스킹 방식 제공
- 자동감지 기능(Plug and Play) 제공
- OLE(Object Linking and Embedding) 사용
- 유닉스: 90% 이상 C언어로 구현 => 대다 사이계
- 대화식 운영체제 기능
- 다중 작업 기능
- 다중 사용자 기능
- 이식성 제공
- 계층적 트리 구조 파일 시스템
- 리눅스: 유닉스를 기반으로 개발, 소스코드가 공개된 오픈 소스 기반의 운영체제
- 맥
- 안드로이드: 리눅스 기반, 자바
▶ 리눅스/유닉스 계열의 기본 명령어
리눅스와 유닉스 명령어는 쉘에서 입력 가능
- chomod: 특정 파일 또는 디렉토리의 퍼미션 수정 명령어
- chown: 파일이나 디렉토리의 소유자, 소유 그룹 명령어
User Group Other
RWX RWX RWX => 파일을 읽거나, 쓰거나, 실행할 수 있는 3가지 모드로 구분
421 421 421
ex) chmod o-w a.txt
chmod 664 a.txt
▶ 메모리 관리 기법의 종류
=> 반배할교
- 반입(When): 메모리 적재 시기 결정
- 배치(Where): 메모리 적재 위치 결정
- 할당(How): 메모리 적재 방법 결정
- 교체(Who): 메모리 교체 대상 결정
▶ 메모리 배치 기법
=> 초적악
- 최초 적합(First-fit): 가용 공간 중 첫 번째 분할에 할당
- 최적 적합(Best-fit): 가장 크기가 비슷한 공간에 할당
- 최악 적합(Worst-fit): 가장 큰 공간에 할당
▶ 프로세스 상태
=> 생준실대완
▶ 프로세스 상태 전이
=> 디타 블웨
- 디스패치: 준비 상태에 있는 여러 프로세스(Ready List) 중 실행될 프로세스를 선정(Scheduling)하여 CPU를 할당(Dispatching) -> 문맥교환 발생/프로세스는 준비 상태에서 실행 상태로 전이
- 타이머 런 아웃=할당 시간 초과
- 블록=입출력 방생
- 웨이크 업=깨움
▶ 프로세스 스케줄링 유형
- 선점형 => SMMR(Show Me the Money 다음 Round 진출!)
- SRT(Shortest Remaining Time First): 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점됨
- MLQ(Multi Level Queue; 다단계 큐): 작업들을 여러 종류 그룹 분할
- MLFQ(Multi Level Feedback Queue; 다단계 피드백 큐): 큐마다 서로 다른 CPU 시간 할당량 부여, FIFO와 라운드 로빈 스케줄링 기법을 혼합한 것
- Round Robin
- 비선점형 => 우기 FSH(우리 기업은 홈 패밀리 서비스(HFS)를 제공한다.)
- 우선순위(Priority): 프로세스별 우선순위가 주어지고, 우선순위에 따라 CPU 할당
- 기한부(Deadline): 작업들이 명시된 시간이나 기한 내에 완료되도록 계획
- FCFS(First Come First Service): 프로세스가 대기 큐에 도착한 순서에 따라 CPU 할당
- SJF(Shortest Job First): 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유, 기아 현상 발생
- HRN(Highest Response Ratio Next): 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, 기아 현상 최소화 기법
▶ 반환시간 및 대기시간 계산 방법
=> 반종도 대반서
반환시간 = 종료시간 - 도착시간/대기시간 = 반환시간 - 서비스 시간
▶ 교착상태 발생 조건
*교탁상태 => 다중 프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태
=>상점비환
- 상호 배제/점유와 대기/비선점/환형 대기
▶ 교착상태 해결 방법
=> 예회발복
예방/회복/발견/복구
▶ 가상화(Virtualizaition)
(가상화 개념 단답형, 약술형 용이)
물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 여러 개로 보이게 하는 기술
이를 통해 서버의 가동률을 60~70% 이상으로 올릴 수 있다.
▶ 가상화 기술요소
- 컴퓨팅 가상화: 물리적으로 컴퓨터 리소스를 가상화해 논리적 단위로 리소스를 활용할 수 있도록 하는 기술
- 스토리지 가상화: 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가, 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술
- I/O 가상화: 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화해 효율적인 연결 지원
- 컨테이너: 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술
- 분산처리 기술: 여러 대의 컴퓨터 계산 및 저장능력을 이용해 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술
- 네트워크 가상화 기술: 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단
▶ 클라우드 컴퓨팅(Cloud Computing)
인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공, 정보를 자신의 컴퓨터가 아닌 클라우드(인터넷)에 연결된 다른 컴퓨터로 처리하는 기술
▶ 클라우드 컴퓨팅 분류
=> 사공하
- 사설 클라우드: 기업 또는 조직 내부에서 보유하고 있는 컴퓨팅 자원을 사용하여 내부에 구축되어 운영되는 클라우드/자체 컴퓨팅 자원으로 모든 하드웨어, 소프트웨어, 데이터를 수용/직접 통제 가능-> 보안성 높임
- 공용 클라우드: 클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드/일정한 비용을 지불하고 하드웨어, 소프트웨어 등을 사용/확장성, 유연성 등이 뛰어남
- 하이브리드 클라우드: 기업 또는 조직 내부 자원을 이용한 사설 클라우드와 공용 클라우드를 모두 사용하는 클라우드/사설 클라우드의 약점인 구축 비용 문제와 공용 클라우드의 약점인 보안성 확보
▶ 클라우드 컴퓨팅 유형
=> 인플소
- 인프라형 서비스(IaaS; Infrastructure as a Service): 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
- 플랫폼형 서비스(PaaS; Platform as a Service): 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스
- 소프트웨어형 서비스(SaaS; Software as a Service): 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스
02 네트워크 기초 활용하기
▶ 프로토콜(Protocol)
서로 다른 시스템에 있는 두 개체 간의 데이터 교환을 원활히 하기 위한 일련의 통신규약
▶ 프로토콜의 기본 3요소
=> 구의타
- 구문(Syntax): 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호레벨 등의 규정
- 의미(Semantic): 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정
- 타이밍(Timing): 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정
▶ 네트워크 프로토콜
컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙 체계
▶ OSI 7계층
- 물리 계층(Physical Layer)
- 0과 1 비트 정보를 회선에 보내기 위한 전기적 신호 변환
- 전송 단위: 비트(Bit)
- 장비: 허브, 리피터
- 허브: 여러 대의 컴퓨터를 연결해 네트워크로 보내거나, 여러 대의 컴퓨터로 송신하기 위한 장비
- 리피터: 디지털 신호를 증폭시켜 주는 역할
- 데이터 링크 계층(Data Link Layer)
- 링크의 설정과 유지 및 종료 담당, 노드 간의 오류제어, 흐름제어, 회선제어
- 전송단위: 프레임(Frame)
- 장비: 브리지, 스위치
- 브리지: 두 개의 근거리 통신망(LAN)을 서로 연결해 주는 통신망 연결 자치
- L2 스위치: 느린 전송속도의 브리지, 허브의 단점 개선, MAC 주소 기반으로 빠르게 전송
- 프로토콜: HDLC, PPP, 프레임 릴레이, ATM
- HDLC(High-Level Data Link Control): 점대점 방식이나 다중방식의 통신에 사용, 동기식 비트 중심
- PPP(Point-to-Point Protocol): 두 통신 노드 간의 직접적인 연결
- 프레임 릴레이: 프로토콜 처리를 간략화해 데이터 처리속도의 향상 및 전송 지연을 감소시킨 고속 데이터 전송 기술
- ATM: 53바이트 셀 단위로 전달, 비동기식 시분할 다중화 방식의 패킷형 전송 기술
- 네트워크 계층(Network Layer)
- 다양한 길이의 패킷 전송, 단말기 간 데이터 전송을 위한 최적화된 경로 제공
- 전송단위: 패킷(Packet)
- 프로토콜: IP, ARP, RARP, ICMP, IGMP, 라우팅 프로토콜
- IP(Internet Protocol): 송수신 간의 패킷 단위로 데이터 교환, 네트워크에서 정보를 주고받는데 사용
- ARP(Address Resolution Protocol): IP 네트워크 상에서 IP주소를 MAC주소(물리 주소)로 변환
- RARP(Reverse Address Resolution Protocol): 호스트가 자신의 MAC주소는 알지만 IP 주소를 모르는 경우, 서버로부터 IP주소를 요청하기 위해 사용
- ICMP(Internet Contorl Message Protocol): IP 패킷을 처리할 때 발생되는 문제를 알려주는 메시지 형식 프로토콜
- IGMP(Internet Group Management Protocol): 인터넷 그룹 관리, 호스트 컴퓨터와 인접 라우터가 멀티 캐스트 그룹 멤버십을 구성하는데 사용
- 라우팅 프로토콜: 데이터 전송을 위해 목적지까지 갈 수 있는 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜
- 라우팅 프로토콜의 구성
- RIP(Routing Information Protocol): AS 내에서 사용하는 거리 벡터 알고리즘에 기초해 개발된 내부 라우팅 프로토콜, 벨만-포드 알고리즘, 15홉 제한, IGRP
- OSPF(Open Shortes Path First): 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점 개선 위한 링크 상태 알고리즘을 적용해 최단 경로를 찾는 프로토콜, 다익스트라 알고리즘, 홉 제한 없음, ELGRP
- BGP: AS 상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜
- 라우팅 알고리즘의 유형
- 거리 벡터(Distance Vector) 알고리즘: 인접 라우터와 정보를 공유해 목적지까지의 거리와 방향을 결정하는 알고리즘, 벨만-포드 알고리즘 사용
- 링크 상태 알고리즘: 링크 상태 정보를 모든 라우터에게 전달해 최단 경로 트리 구성, 다익스트라(Dijkstra) 알고리즘 사용
- 전송 계층(Transport Layer)
- 종단 간의 사용자들에게 신뢰성 있는 데이터 전달, 송수신 프로세스 간의 연결, 오류제어, 흐름제어, 혼잡제어
- 전송단위: 세그먼트(Segement)
- 프로토콜: TCP, UDP
- TCP(Transmission Control Protocol): 신연흐혼 => 신뢰성 보장, 연결 지향적 특징, 흐름제어, 혼잡제어
- UDP(User Datagram Protocol): 비신뢰성, 비연결성, 순서화되지 않은 데이터그램 서비스 제공, 단순 헤더, 실시간 응용 및 멀티캐스팅 가능
- UDP 헤더 구조 => 소데 랭체다(Source Port Number/Destination Port Number/UDP Length/UDP Checksum/Data
- 세션 계층(Session Layer)
- 프로세스들의 논리적인 연결, 응용 프로그램 간의 대화를 유지하기 위한 구조 제공
- 전송단위: 데이터(Data)
- 프로토콜: PRC, NetBIOS
- RPC(Remote Procedure Call): 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있는 프로세스 간 통신에 사용, 원격 프로시저 호출
- NetBIOS: 응용 계층의 애플리케이션 프로그램에게 API 제공해 상호 통신 가능
- 표현 계층(Presentation Layer)
- 통신에 알맞은 형태로 만듦, 사용자가 이해할 수 있는 형태로 만듦. 부효교환, 암복호화
- 전송단위: 데이터(Data)
- 프로토콜: JPEG, MPEG
- JPEG: 이미지를 위해 만들어진 표준 규격
- MPEG: 멀티미디어를 위해 만들어진 표준 규격
- 응용 계층(Application Layer)
- 사용자와 네트워크 간 응용서비스 연결
- 전송단위: 데이터(Data)
- 프로토콜: HTTP, FTP, SMTP, Telnet, POP3/IMAP
- HTTP: 텍스트 기반의 통신규약, 인터넷에서 데이터를 주고받을 수 있는 프로토콜
- FTP(File Transfer Protocol): TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
- SMTP(Simple Mail Transfer Protocol): 인터넷에서 TCP 포트 번호 25번, 이메일을 보내기 위해 이용
- Telnet: 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
▶ 서킷 스위칭
네트워크 리소스를 특정 사용 층이 독점하도록 하는 통신 방식
▶ 패킷 스위칭
작은 블록의 패킷으로 데이터를 전송하며, 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 통신 방식
▶ 패킹 스위칭 관련 기술
- X.25: 통신을 원하는 두 단말 장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜
- 프레임 릴레이: ISDN을 사용하기 위한 프로토콜, ITU-T에 의해 표준으로 작성된
- ATM(Asynchronous Transfer Mode): 비동기 전송모드, 광대역 전송에 쓰이는 스위칭 기법
▶ IPv4 전송방식
=> 유멀브
유니캐스트, 멀티캐스트, 브로드 캐스트
- IPv4: 32bit
▶ IPv6 전송방식
=> 유멀애
유니캐스트, 멀티캐스트, 애니캐스트
- IPv6: 128bit, 주소 확장, 이동성, 인증 및 보안 개선
유니캐스트: 1 대 1
멀티캐스트: 1 대 다
브로드캐스트: 다 대 다
애니캐스트: 가장 가까운 노드로 1 대 1
▶ IPv4에서 IPv6로 전환방법
- 듀얼 스택(Dual Stack)
- 터널링(Tuneling)
- 주소 변환
▶ 애드 혹 네트워크(Ad-hoc Network)
에드 혹 네트워크는 노드들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크
03 기본 개발 환경 구축하기
▶ 개발환경 인프라 구성 방식
- 온프레미스(On-Pramise)방식: 외부 인터넷망이 차단된 상태에서 인트라넷 망만을 활용하여 개발환경을 구축하는 방식
- 클라우드(Cloud) 방식: 아마존, 구글, 마이크로소프트 등 클라우드 공급 서비스를 하는 회사들의 서비스를 임대하여 개발환경을 구축하는 방식
- 하이브리드 방식: 온프레미스 + 클라우드
'알아두면쓸데있는신기한잡학사전 > 정보처리기사' 카테고리의 다른 글
[정보보안개론] 07 암호의 이해 (0) | 2022.06.10 |
---|---|
2022 정보처리기사 실기 Chapter 12 제품 소프트웨어 패키징 (0) | 2022.05.07 |
2022 정보처리기사 실기 Chapter 10 애플리케이션 테스트 관리 (0) | 2022.05.06 |
2022 정보처리기사 실기 Chapter 09 소프트웨어 개발 보안 구축 (0) | 2022.05.06 |
2022 정보처리기사 실기 Chapter 08 서버 프로그램 구현 (0) | 2022.05.06 |