정보처리기사 실기 11. 응용 SW 기초 기술 활용
운영체제의 특징
* 운영체제(OS: Operating System) : 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어
* 운영체제 목적
- 처리능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
- 반환시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도(Reliability) : 시스템이 주어진 문제를 정확하게 해결하는 정도
* 운영체제 종류
- 윈도우즈(Windows)
+ 그래픽 사용자 인터페이스
+ 선점형 멀티태스킹
+ PnP(자동감지 기능)
+ OLE
+ 225자의 긴 파일명
+ Single-User 시스템
- 유닉스(Unix) : Bell연구소, MIT, GeneralEletric이 공동 개발
+ 크기가 작고 이해하기 쉽다
+ 다중 사용자, 다중 작업을 지원
+ 트리 구조의 파일 시스템
+ 커널(Kerner) : 핵심적인 부분
+ 쉘(Shell) : 명령을 수행하는 명령어 해석기
+ 유틸리티 프로그램(UtilityProgram) : 응용프로그램을 처리하는 데 사용
- 리눅스(Linux) : 리누스 토발즈가 Unix를 기반으로 개발
+ Unix와 완벽 호환
+ 대부분 특징이 Unix와 동일
- 그 외
+ 맥(Mac) : Apple에서 Unix기반으로 개발한 운영체제
+ 안드로이드(Android) : 리눅스 기반의 안드로이드 운영체제
* 기본 명령어
* Windows기본 명령어
명령어 | 기능 |
DIR | 현재 디렉터리의 파일 목록 표시 |
COPY | 파일 복사 ex) copy a b -> a를 b로 복사 |
DEL | 파일을 삭제 |
TYPE | 내용 표시 |
REN | 이름 변경 ex)ren a b -> a를 b로 변경 |
MD | 디렉터리 생성 |
CD | 동일한 드라이브에서 디렉터리의 위치 변경 |
CLS | 화면의 내용 지움 |
ATTRIB | 파일의 속성 변경 ex) attrib +r a ->a를 읽기전용으로 변경 |
FIND | 파일에서 문자열을 찾는다. ex) find "123" a -> a에서 "123"이 포함된 문자열을 찾는다. |
CHKDSK | 디스크 상태 점검 |
FORMAT | 디스크 표면을 트랙과 섹터로 나누어 초기화 |
MOVE | 파일 이동 |
* Unix/Linux 기본 명령어
cat | 파일 내용을 화면에 표시 |
cd | 디렉터리의 위치를 변경 |
cmod | 파일의 보호모드를 설정하여 파일의 사용허가를 지정 ex) chmod u=rwx A -> u에게 A파일의 읽기(r), 쓰기(w), 실행(x)권한 부여(=) |
chown | 파일 소유자와 그룹을 변경 ex) chown M A -> A파일 소유자를 M으로 변경 |
cp | 파일을 복사 |
rm | 파일 삭제 |
find | 파일 찾기 |
fsck | 파일 시스템을 검사 및 보수 |
kill | PID(프로세스 고유번호)를 이용하여 프로세스를 종료 |
kilall | 프로세스의 이름을 이용하여 프로세스 종료 |
ls | 현재 디렉터리의 파일 목록 표시 |
mkdir | 디렉터리 생성 |
r,dor | 디렉터리 삭제 |
mv | 파일을 이동 |
ps | 현재 실행중인 프로세스 표시 |
pwd | 현재 작업중인 디렉터리 경로를 화면에 표시 |
top | 시스템의 프로세스와 메모리 사용 현황을 표시 |
who | 현재 시스템에 접속해 있는 사용자를 표시 |
* 메모리 관리 기법
- 반입 기법 : 메모리 적재 시기 결정
- 배치 기법 : 메모리 적재 위치 결정
- 할당 기법 : 메모리 적재 방법 결정
- 교체 기법 : 메모리 교체 대상 결정
* 메모리 배치 기법
- 최초 적합(First-fit) : 프로세스가 적재될 수 있는 가용 공간 중에서 첫 번째 분할에 할당하는 방식
- 최적 적합(Best-fit) : 가용 공간 중에서 가장 크기가 비슷한 공간을 선택하여 프로세스를 적재하는 방식
- 최악 적합(Worst-fit) : 프로세스의 가용 공간들 중에서 가장 큰 공간에 할당하는 방식
* 프로세스 상태
- 생성(Create) : 사용자에 의해 프로세스가 생성된 상태
- 준비(Ready) : CPU를 할당받을 수 있는 상태
- 실행(Run) : 프로세스가 CPU를 할당받아 동작 중인 상태
- 대기(Wait) : 프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료까지 대기 리스트에서 기다리는 상태
- 완료(complete) : 프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태
* 프로세스 상태 전이
- 제출(Submit) : 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
- 접수(Hold) : 제출된 작업이 스풀 공간이 디스크의 할당 위치에 저장된 상태
+ Spooling은 입출력 장치의 공유 및 상대적으로 느린 입출력 장치의 처리속도를 보완하고 향상시키기 위해 디스크에 저장하는 과정
- 준비(Ready) : 프로세스삭 프로세서를 할당받기 위해 기다리고 있는 상태
- 실행(Run) : 준비 상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
- 대기(Wait), 보류, 블록(Block) : 프로세스에 입출력 처리가 필요하면 현재 실행 중인 프로세스가 중단되고, 입출력 처리가 완료될 때까지 대기하고 있는 상태
- 종료(Terminated, Exit) : 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태
* 프로세스 스케줄링의 유형
- 선점형 스케줄링 : 우선순위가 높은 프로세스가 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) : 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술
- 플랫폼 가상화 : 플랫폼 위에 독립된 환경을 만드는 기술
- 리소스 가상화 : 독립된 하드웨어에서 소프트웨어가 실행되는 것처럼 활용하는 기법
- 컴퓨터 가상화(Hyper V) : 물리적인 리소스를 논리적인 리소스로 사용
- 분산처리 기술 : 여러 대 컴퓨터를 이용하여 대용량 처리
* 클라우드 컴퓨팅(Cloud Computing) : 인터넷을 통해 가상화된 컴퓨터 시스템 리소스 제공
* 클라우드 컴퓨팅 유형
- 인프라형 서비스(IaaS: Infrastructure as a Service) : 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
- 플랫폼형 서비스(Paas: Platform as a Service) : 애플리케이션 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스
- 소프트웨어형 서비스(SaaS: Software as a Service) : 클라이언트 통해 접속하여 소프트웨어 서비스 형태로 이용하는 서비스
네트워크 계층 구조 파악
* 네트워크(Network) : 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라
- 광대역 네트워크(WAN) : LAN에 비해 전송거리가 넓음
- 근거리 네트워크(LAN) : 한 건물 또는 작은 지역 커버
* OSI(Open System Interconnection) 7 계층
- 물리 계층(Physical Layer) : 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환,
+ 10 BASE-T,10 BASE-TX, DSL, X.21
+ 데이터 단위 : 비트
+ 관련 장비 : 리피터, 허브
- 데이터링크 계층(Data Link Layer) : 인접 시스템 간 데이터 전송, 전송 오류 제어
+ 이더넷 : LAN을 위해 개발된 기술, 고유한 MAC 주소 CSMA/CD방식 이용, 토큰 링 : IEEE 802.5, FDDI : 광섬유,
+ 데이터 단위 : 프레임
+ 관련 장비 : 랜카드, 브리지, 스위치
- 네트워크 계층(Network Layer) : 단말기 간 데이터 전송을 위한 최적화된 경로 제공
+ IP : 데이터 세그먼트를 패킷으로 만듦, ICMP : ping, ARP : IP주소를 물리적 하드웨어로 변경, RARP, IGMP, BGP
+ 데이터 단위 : 패킷
+ 관련 장비 : 라우터
- 전송 계층(Transport Layer) : 송수신 프로세스 간의 연결
+ TCP, UDP : TCP에 비해 빠름
+ 데이터 단위 : 세그먼트
+ 관련 장비 : 게이트웨이
- 세션 계층(Session Layer) : 송수신 간의 논리적인 연결
+ SSL, TLS, NetBIOS
+ 데이터 단위 : 메시지
+ 관련 장비 : 데이터
- 표현 계층(Presentation Layer) : 데이터 형식 설정, 부호 교환, 암/복호화
+ SMB(SAMBA) : 다른 시스템(리눅스)의 디스크나 프린터 등의 지원을 공유할 수 있도록 함, 현재는 SMB가 확장된 CIFS라 부른다.
+ 데이터 단위 : 메시지
+ 관련 장비 : 데이터
- 응용 계층(Application Layer) : 사용자와 네트워크 간 응용서비스 연결, 데이터 생성
+ HTTP(80), HTTPS(443), SMTP(25), POP3(110), IMAP(143), DNS(53), NFS : RPC 프로토콜 기반으로 작동, 보안에 취약
+ 데이터 단위 : 메시지
+ 관련 장비 : 데이터
* 허브(Hub)
- 더미 허브(Dummy Hub) : 네트워크에 흐르는 모든 데이터를 단순히 연결하는 기능만을 제공한다.
- 스위칭 허브(Switching Hub) : 네트워크상에 흐르는 데이터의 유무 및 흐름을 제어하여 각각의 노드가 허브의 최대 대역폭을 사용할 수 있는 지능형 허브
* 리피터(Repeater)
- 전송되는 신호가 전송 선로의 특성 및 외부 충격 등의 요인으로 인해 원래의 형태와 다르게 왜곡되거나 약해질 경우 원래의 신호 형태로 재생하여 다시 전송하는 역할을 수행한다.
* 브리지(Bridge)
- 브리지는 LAN과 LAN을 연결하거나 LAN안에서의 컴퓨터 그룹(세그먼트)을 연결하는 기능을 수행한다.
* 스위치(Switch)
- 브리지와 같이 LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치이다.
- 전송속도가 빠름
+ L2 스위치 : OSI의 2 계층에 속하는 장비, MAC 주소를 기반으로 프레임을 전송
+ L3 스위치 : OSI의 3 계층에 속하는 장비, IP주소를 기반으로 패킷을 전송
+ L4 스위치 : OSI의 4 계층에 속하는 장비, IP주소 및 TCP/UDP를 기반으로 사용자들의 요구를 서버 부하가 적은 곳에 배분하는 로드밸런싱 기능을 제공
+ L7 스위치 : OSI 7 계층에 속하는 장비, IP주소, TCP/UDP 포트 정보에 패킷 내용까지 참조하여 세밀하게 로드밸런싱
* 라우터
- LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택할 수 있는 기능이 추가된 것.
* 게이트웨이
- 전 계층의 프로토콜 구조가 다른 네트워크의 연결을 수행한다.
* 프로토콜(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바이트 셀 단위로 전달하는 비동기식 시분할 다중화 방식의 패킷형 전송 기술
* 표현 계층 프로토콜
- JPEG : 이미지를 위해 만들어진 표준 규격
- MPEG : 멀티미디어(비디오, 오디오)를 위해 만들어진 표준 규격
* 응용계층 프로토콜
- FTP(File Transfer Protocol)
+ TCP/IP를 갖고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
+ 컴퓨터와 컴퓨터 또는 컴퓨터와 인터넷 사이에서 파일을 주고받을 수 있도록 하는 원격 파일 전송 프로토콜
- SMTP(Simple Mail Transfer Protocol)
+ 인터넷에서 TCP 포트 25번을 사용하여 이메일을 보내기 위해 이용되는 프로토콜
+ 전자 우편을 교환하는 서비스
- TELNET
+ 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
+ 프로그램을 실행하는 등 시스템 관리 작업을 할 수 있는 가상 터미널 기능을 수행한다.
- SNMP(Simple Network Managemnet Protocol)
+ 라우터나 허브 등 네트워크 장치로부터 정보를 수집 및 관리 사용되는 표준 통신 규약
+ TCP/IP의 네트워크 관리 프로토콜
- DNS(Domain Name System)
+ 도메인 네임을 IP주소로 매핑(Mapping)하는 시스템이다.
- HTTP(Hyper Text Transfer Protocol)
+ 텍스트 기반의 통신 구약, 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜
+ 월드 와이드 웹(WWW)에서 HTML 문서를 송수신하기 위한 표준 프로토콜
- POP3(Post Office Protocol Version 3) : 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜
- IMAP(Internet Messaging Access Protocol) : 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜
- SSH(Secure Shell) : 서로 연결되어 있는 컴퓨터 간 원격 명령 실행이나 쉘 서비스 등을 수행, Telent보다 강력한 보안 제공
* 네트워크 계층 프로토콜
- IP(Internet Protocol) : 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용
- ICMP(Internet Control Message Protocol) : IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜
- IGMP(Internet Group Managemnet Protocol) : 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜
- ARP(Adress Resolution Protocol) : IP 네트워크상에서 IP주소를 MAC 주소(물리 주소)로 변환하는 프로토콜
- RARP(Reverse Address Resolution Protocol) : 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜
- 라우팅 프로토콜(Routing Protocol) : 데이터 전송을 위해 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜
* 네트워크 액세스 계층 프로토콜
- Ethernet(IEEE 802.3) : CSMA/CD방식의 LAN이다.
- IEEE 802 : LAN을 위한 표준 프로토콜
- HDLC : 비트 위주의 데이터 링크 제어 프로토콜
- X.25 : 패킷 교환망을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜
- RS-232C : 공중전화 교환망(PSTN)을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜
* IPv4 (Internet Protocol version 4) : 인터넷에서 사용되는 패킷 교환 네트워크상에서 데이터를 교환하기 위한 32bit 주소체계를 갖는 네트워크 계층 프로토콜
- 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진수
+ 유니캐스트 : 단일 송신자와 단일 수신자 간의 통신(1:1 통신에 사용)
+ 멀티캐스트 : 단일 송신자와 다중 수신자 간의 통신(1:N 통신에 사용)
+ 애니캐스트 : 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신(1:1 통신에 사용)
* IPv4에서 IPv6으로 전환 방법 : 듀얼 스택, 터널링, 주소 변환 방식
* 라우팅 프로토콜
- 내부 라우팅 프로토콜(IGP)
+ RIP(Routing Information Protocol) : AS(자율시스템) 내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜
= IGRP : RIP의 문제 접을 개선하기 위해 개발된 통신규약 거리 벡터 알고리즘,
+ OSPF(Oepn Shortest Path First) : 자신을 기준으로 링크 상태 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜
- 외부 라우팅 프로토콜(EGP)
+ BGP(Border Gateway Protocol) : AS상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜 (링크 상태 알고리즘)
* TCP(Transmission Control Protocol)
- 근거리 통신망이나 인터넷에서 신뢰성 있는 전송을 수행하는 프로토콜
- TCP 특징 : 신뢰성 보장, 연결 지향적 특징, 흐름 제어, 혼잡 제어
* UDP(User Datagram Protocol)
- 비연결성이고 신뢰성이 없으며 순서화되지 않는 데이터그램 서비스를 제공하는 통신 프로토콜
- UDP 특징 : 비신뢰성, 순서화되지 않은 데이터그램 서비스 제공, 실시간 응용 및 멀티캐스트 가능, 단순 헤더
* RTCP(Real-Time-Control Protocol)
- RIP 패킷의 전송 품질을 제어하기 위한 제어 프로토콜
- 하위 프로토콜은 데이터 패킷과 제어 패킷의 다중화를 제공한다.
* 패킷 교환 방식(Packet Switching) : 작은 블록의 패킷으로 데이터를 전송하여 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 통신 방식
- 활용 : 이메일, 메시지
* 패킷 교환 방식 기술
- X.25 : 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜
- 프레임 릴레이 : ISDN을 사용하기 위한 프로토콜로서 ITU-T에 의해 표준으로 작성
- ATM(Asynchronous Transfer Mode) : 비동기 전송 모드, 광대역 전송에 쓰이는 스위칭 기법
* 서킷 교환 방식(Circuit Switching) : 네트워크 리소스를 특정 사용층이 독점하도록 하는 통신 방식
- 활용 : 영상, 비디오
* 애드 혹 네트워크(Ad-hoc Network) : 노드들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크
기본 개발환경 구축하기
* 개발환경 인프라 구성 방식
- 온프레미스(On-Premise) 방식 : 외부 인터넷망이 차단된 상태에서 인트라넷망만을 활용하여 개발환경을 구축하는 방식
- 클라우드(Cloud) 방식 : 클라우드 공습 서비스를 제공하는 회사들(아마존, 구글, MS 등)의 서비스를 임대하여 개발 환경을 구축하는 방식
- 하이브리드(Hybrid) 방식 : 온프레미스와 클라우드 방식을 혼용한 방식
'기타 > 정보처리기사실기' 카테고리의 다른 글
[정보처리기사 실기 / 문제 풀어보기] 정보처리기사 실기 기출문제 풀어보기 (0) | 2022.04.30 |
---|---|
[정보처리기사 실기 / 내용정리] 12. 제품 소프트웨어 패키징 (0) | 2022.04.21 |
[정보처리기사 실기 / 내용정리] 10. 애플리케이션 테스트 관리 (0) | 2022.04.20 |
[정보처리기사 실기 / 내용정리] 09. 소프트웨어 개발 보안 구축 (0) | 2022.04.20 |
[정보처리기사 실기 / 내용정리 ] 08. 서버 프로그램 구현 (0) | 2022.04.18 |