1. 운영체제의 개념 : 사용자가 컴퓨터를 편리, 효과적 사용하도록 환경 제공
1) 운영체제 종류
- Windows, UNIX, LINUX, MacOS, MS-DOS 등
2) 운영체제의 목적
- 처리능력
- 반환시간
- 사용 가능도
- 신뢰도
2. 운영체제의 종류 및 특징
1) Windows
- GUI
- 선점형 멀티태스킹 : 동시에 여러 프로그램 실행
- PnP(Plug and Play) : 프린터, 사운드 카드 등 하드웨어 설치 시 자동 환경 구성
- OLE(Object Linking and Embedding) : 개체(Object)를 문서에 자유롭게 연결(Linking)
, 삽입(Embedding)해 편집
- Single-User 시스템 : 컴퓨터 한 대 - 사람 한 명 독점
2) UNIX
- AT&T 벨 연구소, MIT, Generral Electric 공동개발
- 대화식 운영체제
- 소스 공개, 개방형 시스템
- C언어로 작성, 이식성 높음, 프로세스 호환 높음
- 다중 사용자, 다중 작업 지원
- 트리 구조의 파일 시스템
# UNIX 시스템 구성
- 커널(Kernel) : UNIX의 핵심, 프로세스 관리, 기억장치 관리, 파일 관리 등 여러 기능 수행
- 쉘(Shell) : 명령어 해석기, 인터페이스 담당 (Bourne Shell, C Shell, Korn Shell, ...)
- 유틸리티 프로그램 : DOS에서 외부 명령어 해당 (에디터, 컴파일러, 인터프리터, 디버거, ...)
3) LINUX
- UNIX와 비슷, UNIX와 완벽 호환
4) MacOS
- 애플에서 UNIX 기반 개발
- install, uninstall 과정 간단
5) Android
- 구글에서 개발, 리눅스 커널 기반 개방형 모바일 운영체제
- 자바와 코틀린으로 애플리케이션 작성
6) iOS
- 애플에서 UNIX 기반 모바일 운영체제
3. 기억장치 관리
1) 기억장치 관리 전략
- 반입 : 보조기억장치의 프로그램, 데이터를 언제 주기억장치로 적재할 것 인지 결정 전략
# 요구 반입 : 특정 프로그램, 데이터 참조를 요구할 때
# 예상 반입 : 참조될 프로그램, 데이터를 미리 예상하여 적재
- 배치 : 새로 반입되는 프로그램, 데이터를 주기억장치 어디에 위치시킬 것 인지 결정 전략
** 예제 확인이 제일 이해 잘 됨 **
예) 각 방법에 대해 10K의 프로그램이 할당받게 되는 영역 번호는?

최초(First) : 빈 영역 중 10K 들어갈 수 있는 2번
최적(Best) : 빈 영역 중 10K 들어가고 가장 작게 남기는 4번
최악(Worst) : 빈 영역 중 10K 들어가고 가장 많이 남기는 5번
- 교체 : 이미 사용 중 영역, 어느 영역 교체할지 결정 전략
# FIFO
# OPT
# LRU
# NUR
# SCR
3. 주기억장치 할당 기법
1) 주기억장치 할당
- 연속 할당 기법 : 단일/다중 분할 할당 기법
- 분산 할당 기법 : 페이징 기법, 세그먼테이션 기법
2) 단일 분할 할당 기법 : 한 순간에는 오직 한 명의 사용자만이 주기억장치 사용
- 오버레이 기법 : 주기억장치보다 큰 프로그램 실행
- 스와핑 기법 : 필요에 따라 다른 프로그램과 교체
3) 다중 분할 할당 기법
- 정적/동적 할당 기법
4. 가상기억장치 구현 기법
1) 페이징 기법
- 프로그램과 주기억장치 영역을 동일한 크기로 나눈 후 주기억장치에 적재
- 프로그램을 일정한 크기로 나눈 단위 : 페이지(Page)
- 일정하게 나뉜 주기억장치의 단위 : 페이지 프레임(Page Frame)
- 주소 변환을 위해 페이지 맵 테이블 필요
* 페이지 맵 테이블(Page Map Table) : 페이지의 위치 정보를 가지고 있는 페이지
- 페이지 맵 테이블 사용 -> 비용 증가, 처리속도 감소
2) 세그먼테이션(Segmentation) 기법
- 프로그램을 논리적인 단위로 나눈 후 주기억장치에 적재
- 논리적 크기로 나눈 단위 : 세그먼트(Segment)
- 세그먼트는 고유한 이름과 크기를 가짐
- 세그먼테이션 이용하는 궁극적 이유 : 기억공간의 절약
- 주소 변환을 위해 세그먼트 맵 테이블(Segment Map Table) 필요
5. 페이지 교체 알고리즘
1) OPT(OPTimal replacement, 최적 교체)
- 앞으로 가장 오랫동안 사용하지 않을 페이지 교체
- 페이지 부재 횟수가 가장 적음, 효율적 알고리즘
2) FIFO(First In First Out)
- 가장 먼저 들어와 가장 오래 있던 페이지를 교체
- 이해 쉬움, 프로그래밍 간단
3) LRU(Least Recently Used)
- 최근 가장 오랫동안 사용하지 않은 페이지 교체
- 각 페이지마다 계수기, 스택 둠
4) LFU(Leasst Frequently Used)
- 사용 빈도가 가장 적은 페이지 교체
5) NUR(Not Used Recently)
- 최근 사용하지 않은 페이지 교체
- 사용 여부 확인을 위해 각 페이지 마다 피트, 변형 비트 사용
6) SCR(Second Chance Replacement, 2차 기회 교체)
- 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지 교체 방지
- FIFO 기법 단점 보완
6. 가상기억장치 기타 관리사항
1) Locality
- 프로세스 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적 참조
- 스래싱 방지 위해 워킹 셋 이론의 기반
# Locality 종류
- 시간 구역성 : 프로세스 실행 시 하나의 페이지를 일정 시간 동안 집중 엑세스
- 공간 구역성 : 프로세스 실행 시 일정 위치의 페이지 집중 엑세스
2) 워킹 셋
- 프로세스 일정 시간 동안 자주 참조하는 페이지들의 집합
- 페이지 부재 및 페이지 교체 현상이 줄어듬, 프로세스의 주기억장치 사용 안정
3) 스래싱
- 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많은 현상
- 페이지 부재 자주 발생, 전체 시스템 성능 저하
7. 프로세스의 개요
1) 프로세스 : 실행중인 프로그램
2) PCB(Process Control Block, 프로세스 제어 블록)
- 운영체제가 프로세스에 대한 정보 저장하는 곳, 프로세스 완료되면 삭제
3) 프로세스 상태 전이
- 상태 전이도

* Dispatch : 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정
* Wake Up : 입/출력 완료, 프로세스 준비 상태로 전이 과정
* Spooling : 나중에 한꺼번에 입/출력하기 위해 디스크에 저장 과정
* 교통량 제어기 : 프로세스 상태 조사와 통보
4) 스레드(Thread) : 시스템의 여러 자원 할당받아 실행하는 프로그램 단위
- 프로세스의 일부 특성을 갖고 있어 경량(Light Weigth) 프로세스라고 불림
8. 스케줄링 : 시스템의 여러 자원 해당 프로세스에게 할당
1) 비선점 스케줄링 : 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용 못 하는 스케줄링
- FCFS, SJF, HRN, 기한부, 우선순위 등
2) 선점 스케줄링 : 우선순위가 높은 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링
- Round Robin, STR, 다단계 큐, 선점 우선순위 등
9. 주요 스케줄링 알고리즘
1) FCFS(First Come First Service, 선입선출) : 준비상태 큐에 도착한 순서에 따라 CPU 할당
2) SJF(Shortest Job First, 단기 작업 우선) : 실행 시간 가장 짧은 프로세스 CPU먼저 할당
3) HRN(Hightest Response-ratio Next) : 대기 시간과 서비스 시간을 이용
- 우선순위 계산식
(대기시간 + 서비스 시간) / 서비스 시간
10. 환경변수 : 시스템 소프트웨어의 동작에 영향을 미치는 동적 값들의 모임
11. 운영체제 기본 명령어
1) Windows 기본 명령어
- DIR, COPY, DEL, TYPE, 등등
2) UNIX/LINUX 기본 명령어
- chown : 파일 소유자, 그룹 변경
- cp : 파일 복사
- rm : 파일 사제
- fsck : 파일 시스템 검사, 보수
- kill : PID(프로세스 고유번호) 사용 프로세스 종료
- fork : 새로운 프로세스 생성
3) HRN(Hightest Response-ratio Next) : 대기 시간과 서비스 시간을 이용
- 우선순위 계산식
(대기시간 + 서비스 시간) / 서비스 시간
12. 인터넷
1) 서브네팅(Subnetting) : 네트워크 주소를 여러 개의 작은 네트워크로 나눠 사용
- 서브넷 마스크 : 4바이트 IP 주소 중 네트워크, 호스트 주소를 구분하기 위한 비트
2) IPv6(Internet Protocol version6) : IPv4의 주소 부족 문제 해결하기 위해 개발
- 128비트의 주소 사용, 16비트 8부분
- 각 부분 16진수, 콜론(:)으로 구분
# 유니캐스트 : 단일 송신자 - 단일 수신자 통신
# 멀티캐스트 : 단일 송신자 - 다중 수신자 통신
# 애니캐스트 : 단일 송신자 - 단일 수신자(가장 가까이 있는)
- 자료 전송 속도 빠름
- 인증성, 기밀성, 데이터무결성 지원, 보안 문제 해결
- 실시간 흐름 제어, 향상된 멀티미디어
- 패킷 크기 제한 없음
- 네트워크 기능 확장
3) 도메인 네임(Domain Name) : 숫자로 된 IP주소 > 문자 형태로 표현
- DNS(Domain Name System) : 문자 > 컴퓨터가 이해하는 IP주소로 변환하는 시스템
13. OSI 참조 모델
1) OSI(Open System Interconnection)
- 다른 시스템 간의 원활한 통신, ISO에서 제안한 통신 규약
- 하위계층 : 물리 > 데이터 링크 > 네트워크
- 상위계층 : 전송 > 세션 > 표현 > 응용
2) 물리 계층 : 두 장치 간 실제 접속, 절단 등 전기적 기능적 절차적 특성에 대한 규칙
- 관련 장비 : 리피터, 허브
* 허브 : 가까운 거리 컴퓨터 연결, 회선을 통합 관리
* 리피터 : 수신한 신호를 재생, 출력 전압 높여 전송하는 장치
3) 데이터 링크 계층 : 신뢰성, 효율적 정보 전송, 시스템 간 연결 설정과 유지 및 종료 담당
- 관련 장비 : 랜카드, 브리지, 스위치
* 브리지 : 네트워크 분산적으로 구성, 보안성 높음, n은 브리지 개수라고 할 때 계산식 n(n-1)/2
* 스위치 : LAN, LAN 연결하여 큰 LAN 만드는 장치
4) 네트워크 계층 : 네트워크 연결 관리 기능, 데이터의 교환 및 중계 기능
- 관련 장비 : 라우터
* 라우터 : 데이터 전송의 최적 경로 선택
5) 전송 계층 : 논리적 안정과 균일 데이터 전송 서비스
- 관련 장비 : 게이트웨이
* 게이트웨이 : 프로토콜 구조가 다른 네트워크를 연결하는 장치
6) 세션 계층 : 송/수신 간의 관련성 유지, 대화 제어 담당
7) 표현 계층 : 통신에 적당한 형태로 변환
- 코드 변환, 데이터 암호화, 정보 형식 변환 등 문맥 관리 기능
8) 응용 계층 : 사용자가 OSI 환경에 접근 서비스 제공
- 정보 교환, 전자 사서함, 파일 전송 등 서비스 제공
14. TCP/IP(Transmission Control Protocl/Internet Protocol)
1) 프로토콜
- 기본 요소
# 구문
# 의미
# 시간
2) TCP/IP : 다른 컴퓨터들이 데이터 주고받을 수 있게 하는 표준 프로토콜
- TCP : 전송 계층 해당, 신뢰성 연결형, 패킷 다중화
- IP : 네트워크 계층 해당, 비연결형, 패킷 분해/조립
3) TCP/IP 구조
OSI | TCP/IP | 기능 |
응용 계층 표현계층 세션계층 |
응용 계층 | 응용 프로그램 간 데이터 송/수신 TELNET, FTP, SMTP, SNMP, DNS, HTTP 등 |
전송 계층 | 전송 계층 | 호스트 간 신뢰적 통신 제공 TCP, UDP, RTCP |
네트워크 계층 | 인터넷 계층 | 주소 지정, 경로 설정 제공 IP, ICMP, IGMP, ARP, RARP |
데이터 링크 계층 물리계층 |
네트워크 액세스 계층 | 실제 데이터 송/수신 역할 Ethernet, IEEE 802, HDLC 등 |
* TELNET : 멀리 있는 컴퓨터를 자신의 컴퓨터처럼 사용, 가상 터미널 기능 수행
* FTP(File Transfer Protocol) : 파일을 주고받는 원격 파일 전송 프로토콜
* SMTP(Simple Mail Transfer Protocol) : 전자 우편 교환 서비스
* SNMP(Simple Network Management Protocol) : 라우터, 허브 등 네트워크 관리 시스템에 사용
* DNS(Domain Name System) : 도메인 네임을 IP 주소로 매핑
* HTTP(Hyper Text Transfer Protocol) : WWW에서 HTML 송/수신 위한 프로토콜
* UDP : 비연결형 서비스, TCP에 비해 단순한 헤더, 전송속도 빠름, 실시가 전송에 유리
* RTCP : 세션에 참여한 참여자들에게 주기적 제어 정보 전송
* ICMP(Internet Control Message Protocol) : IP와 조합, 통신 중 발생하는 오류의 처리와 전송
경로 변경 등 제어 메시지 관리
* IGMP : 호스트, 라우터 사이 멀티 캐스트 그룹 유지
* ARP : 호스트 IP주소 > 호스트의 접속장치 물리적 주소로 변경(MAC adress)
* RARP : 물리적 주소 > IP주소
* Ethernet : CSMA/CD 방식의 LAN
* IEEE 802 : LAN을 위한 프로토콜
* HDLC : DTE, DCE 간 인터페이스 프로토콜
4) 네트워크 관련 신기술
- IOT(Internet Of Things) : 사물 인터넷 ( 기가지니, siri 등)
- M2M(Machine To Machine) : 무선 통신, 기계 - 기계 통
- 클라우트 컴퓨팅 : 컴퓨터 중앙, 인터넷 기능 단말기로 어디서나 인터넷 통해 작업
- 그리드 컴퓨팅 : 지리적 분산된 컴퓨터를 고성능 컴퓨터처럼 활용
- MCC(Mobile Cloud Compution) : 모바일 기기로 인프라 구성, 정보와 자원 공유 ICT 기술
- 인터클라우드 컴퓨팅 : 여러 클라우드 제공자자들이 클라우드 자원 연결하는 기술
- 메시 네트워크(Mesh Network) : 차세대 이동통신, 홈 네트워킹 등 특수 목적 네트워크 기술
, 대규모 디바이스 네트워크 생성에 최적
- 와이선(Wi-SUN) : 장거리 무선 통신을 위한 저전력 장거리 통신 기술
- NDN(Named Data Networking) : 콘텐츠 자체 정보, 라우터 기능만으로 데이터 전송 기술
- NGN(Next Gerneration Network) : 차세대 통신망, 완전한 이동성 제공을 목표
- SDN(Software Defined Networking) : 사용자가 소프트웨어로 네트워킹 가상화, 제어 관리
- NFC(Near Field Communication) : 고주파 이용, 가까운 거리 양방향 통신
- UWB(Ultra WideBand) : 초광대역, 짧은 거리 많은 양 디지털 데이터, 낮은 전력으로 전송
, 무선 디지털 펄스, 땅속 벽면 뒤 전송 가능
- 피코넷(PICONET) : 블루투스, UWB 기술 통해 통신망 형성하는 무선 네트워크 기술
- WBAN(Wireless Body Area Network) : 몸에 심는 개인 영역 네트워크 기술
- GIS(Geographic Information System) : 위성 이용 사물의 위치 정보 제공
- USN(Ubiquitous Sensor Network) : 각종 센서 수집한 정보 무선으로 수집
- SON(Self Organizing Network) : 주변 상황에 맞춰 스스로 망 구성 네트워크
- 애드 혹 네트워크 : 유선망 구축 안 되는 장소 모바일 호스트만 이용해 구성한 네트워크
- 네트워크 슬라이싱 : 독립된 가상의 네트워크로 분리, 고객 맞춤형 서비스 제공 목적
- 파장 분할 다중화 : 광섬유 통신기술, 여러 대 단말기 동시 통신 회선 사용
- 소프트웨어 정의 데이터 센터 : 소프트웨어 조작만으로 관리 / 제어 센터
- 개방형 링크드 데이터 : 누구나 사용할 수 있는 웹상에 공개된 연계 데이터
15. 네트워크 구축
1) 성형(Star, 중앙 집중형)
- 중앙 컴퓨터, 단말기들과 연결, 중앙 집중식 네트워크
2) 링형(Ring, 루프형)
- 컴퓨터와 단말기 서로 포인트 투 포인트 구성
3) 버스형(Bus)
- 한 개의 통신 회선에 여러 대의 단말기 연결
4) 계층형(Tree, 분산형)
- 중앙 컴퓨터와 일정 지역 하나의 통신 회선, 이웃 단말기는 일정 지역 내 중간 단말기 연결
5) 망형(Mesh)
- 모든 지점의 컴퓨터와 단말기 연결
- 노드 수로 포트 개수 구하기 : n(n-1)/2
예) n = 2(노드의 수 : 2) , 2(2-1)/2 = 1 , 필요한 포트는 1개
6) 네트워크의 분류
- 근거리 통신망 : 거리 짧아 속도 빠름, 에러 낮음, 버스형/링형 사용
- 광대역 통신망 : 거리 멀어 느림, 에러 높음, 일정 지역 근거리 사용 후 각 근거리 연결 방식
7) LAN의 표준안
표준 규격 | 내 용 |
802.1 | 전체의 구성, OSI 7계층과의 관게, 통신망 관리 등에 관한 규약 |
802.2 | 논리 링크 제어( LLC ) 계층에 관한 규약 |
802.3 | CSMA/CD 방식의 매체 접근 제어 계층에 관한 규약 |
802.4 | 토큰 버스 바익의 매체 접근 제어 계층에 관한 규약 |
802.5 | 토큰 링 방식의 매체 접근 제어 계층에 관한 규약 |
802.6 | 도시형 통신망( MAN )에 관한 규약, 이중 버스로 구성된 DQDB에 관한 규야 |
802.11 | 무선 LAN에 관한 규약 |
802.15 | 블루투스에 관한 규약 |
8) NAT(Network Address Translation, 네트워크 주소 변환)
: 한 개의 정식 IP에 대량의 가상 IP 주소 할당 / 연결
16. 경로 제어 / 트래픽 제어
1) 경로 제어 프로토콜
- IGP(Interior Gateway Protocol, 내부 게이트웨이 프로토콜)
# RIP(Routing Information Protocol, 벡터 라우팅 프로토콜)
: Bellman-Ford 알고리즘 사용, 최대 홉 수를 15로 제한
# OSPF(Open Shortest Path First protocol)
: RIP 단점 해결, 대규모 네트워크 사용, 다익스트라 알고리즘 사용
- EGP(Exterior Gateway Protocol, 외부 게이트웨이 프로토콜)
: AS 간 라우팅, 게이트웨이 간 라우팅에 사용
2) 트래픽 제어
- 흐름 제어
- 폭주 제어
- 교착상태 방지
3) 흐름 제어 : 송/수식 측 사이 패킷읭 양/속도 규제 기능
- 정지-대기 : 한 번에 하나의 패킷만 전송
- 슬라이딩 윈도우
17. SW관련 신기술
1) 인공지능
- 인간의 두뇌와 같이 스스로 판단, 학습 등
2) 뉴럴링크
- 신경 레이스, 전극 뇌에 이식 생각 업/다운로드
3) 딥 러닝
- 인공 신경망
4) 증강현실
- 실제 촬영한 화면에 가상의 정보 부가, 혼합 현실
5) 블록체인
- P2P 네트워크 이용, 금융 거래 정보 디지털 장비에 분산 저장
6) 분산 원장 기술
- P2P 망 내의 참여자들에게 모든 거래 목록 분산 저장, 거래 발생 시 지속적으로 갱신
7) 해시(Hash)
- 임의의 입력 데이터, 메시지를 공정된 길이의 값이나 키로 변환
8) 디지털 트윈
- 현실속 사물 > 소프트웨어로 가상화
- 설계~서비스 모든 과정 효율성 향상
18. HW관련 신기술
1) RAID
- 여러 개의 하드디스크로 디스크 배열 구성, 데이터 블록들 서로 다른 디스크에 분산 저장
- 블록들 여러 디스크 동시에 읽어 디스크의 속도 향상
2) 앤 스크린(N-Screen)
- 여러 개의 단말기 동일한 콘텐츠 자유롭게 이용
3) 멤스(MEMS)
- 초정밀 반도체 제조 기술 바탕, 초미세 장치
4) 엠디스크(M-DISC)
- 한 번의 기록만으로 영구 보관, 광 저장장치
5) 멤리스터
- 메모리와 레지스터 합성어, 전류의 방향, 양 등 기존의 경험을 모두 기억
19. DB관련 신기술
1) 빅데이터
- 막대한 양의 정형/비정형 데이터 집합
- 블록들 여러 디스크 동시에 읽어 디스크의 속도 향상
2) 메타 데이터
- 데이터 정의, 설명해 주는 데이터
3) 디지털 아카이빙
- 메타 데이터를 만들어 DB화 하는 작업
4) 하둡
- 거대 데이터 세트를 병렬로 처리하는 자바 소프트웨어 프레임워크
5) 맵리듀스
- 흩어져 있는 데이터를 연관성으로 분류, 중복 데이터 제거하고 원하는 데이터 추출
6) 타조
- 분산 데이터 웨어하우스 프로젝트
7) 데이터 마이닝
- 대량의 데이터 분석, 내재된 변수 사이의 상호 관계를 규명, 일정한 패턴을 찾음
8) OLAP
- 다차원 데이터 > 통계적 요약 정보를 분석 > 의사결정에 활용
20. 회복/병행제어
1) 회복 : DB가 손상되었을 때 손상되기 이전의 상태로 복구
- 연기 갱신 기법 : 트랜잭션 성공 시 까지 갱신 연기
- 즉각 갱신 기법 : 트랜잭션이 완료되기 전이라도 즉시 DB에 반영
- 그림자 페이지 대체 기법 : 메타 데이터를 만들어 DB화 하는 작업
2) 병행제어 : 동시에 실행되는 트랜잭션 간의 상호작용 제어
- 로킹
21. 교착상태
1) 교착상태 : 서로 다른 프로세스가 무한정 기다리는 현상
2) 교착상태 필요 충분 조건
- 상호 배제 : 한 번에 한 개의 프로세스만 공유 자원 사용
- 점유와 대기 : 하나가 자원 점유, 추가로 점유하기 위해서 대기
- 비선점 : 다른 프로세스 끝날 때까지 강제로 빼앗을 수 없음
- 환형 대기 : 자신에게 할당된 자원을 점유하면서 앞/뒤 프로세스의 자원을 요구
3) 교착상태 해결 방법
- 예방 기법 : 자원 낭비 심함
- 회피 기법 : 은행원 알고리즘이 사용됨
- 발견 기법
- 회복 기법
'자격증 준비 > 정보처리기사' 카테고리의 다른 글
2장 데이터 입출력 구현 (0) | 2022.06.09 |
---|---|
3장 통합 구현 (0) | 2022.05.01 |
9장 소프트웨어 개발 보안 구축 (0) | 2022.04.20 |
7장 어플리케이션 테스트 관리 (0) | 2022.04.17 |
6장 화면설계 (0) | 2022.04.08 |