01. 운영체제의 특징
1. 운영체제 종류 (★★★)
운영체제의 개념
운영체제 : 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어
운영체제 = 인터페이스(쉘) + 커널
- 쉘 : 사용자가 입력한 명령어를 읽어 시스템 기능 실행하는 명령어 해석기
- 커널 : 운영체제의 핵심이 되는 기능들이 모여있는 컴퓨터 프로그램
운영체제의 종류
Window
MS-DOS의 멀티태스킹 기능과 GUI 환경 제공 선점형 멀티태스킹 OLE 사용
Unix 계열
데니스 리치와 켄 톰슨 등이 함께 벨 연구소를 통해 만듦. 90% 이상 C언어로 구현
대화식 운영체제 기능
Linux
유닉스를 기반으로 개발되고 오픈소스 기반의 운영체제.
MAC
애플이 유닉스 기반으로 만듦
Android
휴대용 장치를 위한 운영체제
2. 운영체제 기본 명령어 활용 (★★★)
파일 접근 권한 관리 (2020년 2회)
접근권한 설정 명령어 : chown, chgrp
파일 접근 모드 설정 명령어 : chmod
Read, Write, eXcute 로 파일을 읽거나, 쓰거나, 실행 할 수 있는 3가지 모드로 구분.
User(rwx), Group(rwx), Other(rwx) 7(4+2+1) 7 7
- 예시 chmod o-w yoom.c : yoom.c 파일에 대한 other 의 w(쓰기) 권한 삭제 (-)
여기서 연산자는 +(추가), -(제거), =(지정) 이다.
3. 운영체제 핵심 기능 파악 (★★★)
운영체제 핵심 기능
1. 메모리 관리 기법
1. 개요
Important
반배할교
반입 기법 : 주기억장치에 적재할 다음 프로세스의 반입 시기를 결정하는 기법 (when) 배치 기법 : 디스크에 있는 프로세스를 주기억장치의 어느 위치에 저장할 것인지 결정하는 기법 (where) 할당 기법 : 실행해야 할 프로세스를 주기억장치에 어떤 방법으로 할당할 것인지 (how) 교체 기법 : 재배치 기법으로 어떤 프로세스를 제거할 것인지 (who)
2. 메모리 배치 기법 (2020년 3회)
Important
초적악
최초 적합 : 가용 공간 중 첫 번째 분할에 할당 최적 적합 : 가장 크기가 비슷한 공간을 선택! 메모리 공배 최소화 최악 적합 : 가장 큰 공간에 할당
3. 메모리 할당 기법
연속 할당 : 공간 내에서 인접되게 연속하여 저장 → 단일 : 오버레이, 스와핑 | 다중 : 고정 분할, 동적 분할 분산 할당 : 하나의 프로세스를 여러 개의 조각으로 나누어 주기억장치 공간 내 분산하여 배치 → 페이징, 세그먼테이션
4. 교체 기법
FIFO(First In First Out) : 선입선출 LRU(Least Recently Used) : 가장 오랫동안 사용되지 않은 페이지 교체 LFU(Least Frequently Used) : 참조 횟수가 가장 적은 페이지 교체
2. 프로세스 관리
프로세스는 CPU에 의해 처리되는 프로그램이다.
프로세스 상태전이.
디스패치 : 준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정하여 cpu 를 할당 타이머 런 아웃 (=할당 시간 초과) : cpu 할당 받은 시간 초과 되면 cpu 반납하고 준비로 돌아감 블록 (=입출력 발생): 지정된 할당시간을 초과하기 전에 입출력이나 기타 사건이 발생하면 cpu를 스스로 반납하고 입출력이 완료 될 때까지 대기상태로 전이 웨이크 업 : 입출력이 종료되면 대기 상태의 프로세스에게 입출력 종료 사실을 알려주고 준비상태로 전이
3. 프로세스 스케줄링
프로세스 스케줄링 유형
선점형 스케줄링 : 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 cpu 점유하는 방식 비선점형 스케줄링 : 이미 하나의 프로세스가 cpu 점유하고 있으면 종료때까지 타 프로세스가 점유 불가능
알고리즘
선점형 스케줄링 알고리즘
라운드로빈 (RR) : 프로세스는 가은 크기의 CPU 시간을 할당, 돌아가면서 프로세스 실행 (시분할 시스템) SRT (Shortest Remaining Time First) : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행 다단계 큐 (MLQ; Mulit Level Queue) : 여러 종류 그룹으로 분할. 상위단계 작업에 의한 하위단계 작업이 선점. 다단계 피드백 큐 (MLFQ) : FIFO와 라운드 로빈 스케줄링 기법을 혼합.
비선점형 스케줄링 알고리즘
우선순위 : 우선순위에 따라 기한부 : 작업들이 명시된 시간이나 기한 내 완료되도록 FCFS(FIFO) : 프로세스가 대키큐에 도착한 순서에 따라 (선입선출) SJF(Shortest Job First) : 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료시 까지 자원을 점유 HRN : 현재 응답률이 가장 높은것을 선택
5. 디스크 스케줄링(2021년 3회)
개념 사용할 데이터가 디스크상의 여러 곳에 저장되어 있을 경우 데이터를 액세스 하기 위해 디스크 헤드를 움직이는 경로를 결정하는 기법이다.
목적 : 처리량 최대화, 응답시간 최소화
FIFO SSTF SCAN C-SCAN LOOK N-STEP SCAN SLTF
2. 네트워크 기초 활용하기
1. 네트워크 계층 구조 파악 (★★★)
네트워크 개념
WAN : 광대역 내트워크 LAN : 근거리 네트워크
OSI 7계층 (2020년 1회, 2021년 3회)
국제 표준화 기구인 ISO 에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델.
각 계층은 서로 독립적으로 구성되어 있다.
계층을 지날 때마다 헤더가 붙는다. 헤더에는 제어정보가 포함되어 있다.
- 물리 계층(비트) : 0과 1의 비트 정보
- 데이터링크 계층(프레임) : 동기화, 오류제어
- 네트워크 계층(패킷) : IP, ICMP → 최적화 경로 제공
- 전송 계층(세그먼트) : TCP, UDP → 송수신 프로세스간의 연결, 신뢰성 보장
- 세션 계층(데이터) : 송수신간의 논리적인 연결
- (데이터) : 데이터 형실 설정, 암복호화, 압축
- 응용 계층(데이터) : HTTP, FTP
통신망
무선랜 표준 802.11a 이런 것들.
2. 네트워크 프로토콜 파악 (★★★)
1. 프로토콜 (2020년 3회, 1회)
프로토콜은 서로 다른 시스템이나 기기들 간의 데이터 교환을 원할히 하기 위한 표준화된 통신규약
프로토콜의 기본 3요소 (구의타)
- 구문 : 데이터 형식, 코딩, 신호 레벨 등의 규정
- 의미 : 제어정보로 조정과 에러 처리를 위한 규정
- 타이밍 : 속도 조절과 순서 관리 규정
4. 네트워크 계층(3계층) (2020년 3회, 2021년 1회)
네트워크 계층 프로토콜
IP : 패킷 단위로 데이터를 교환하는 통신 프로토콜 ARP : IP주소를 MAC 주소로 변환하는 프로토콜 RARP : IP 호스트가 자신의 물리 네트워크 주소는 알지만 IP 주소를 모르는 경우 서버로부터 IP 요청하기 위해 사용하는 프로토콜 ICMP : 오류 정보를 전송하는 목적으로 사용하는 프로토콜 IGMP : 인터넷 그룹 관리 프로토콜 라우팅 프로토콜 : 최적경로를 알려주는 프로토콜
IPv4
데이터를 교환하기 위한 32비트 주소체계를 갖는 네트워크 계층의 프로토콜이다.
클래스 분류
A 클래스 (0.0.0.0 ~ 127.255.255.255, 서브넷 255.0.0.0) : 1~126 (0.127로 시작된 IP는 예약됨) 범위의 IP 주소 B 클래스 (128.0.0.0 ~ 191.255.255.255, 서브넷 255.255.0.0) : C 클래스 (192.0.0.0 ~ 223.255.255.255, 서브넷 255.255.255.0) : D 클래스 (224.0.0.0 ~ 239.255.255.255) : 멀티캐스트 용도로 예약된 주소 E 클래스 (240.0.0.0 ~ 255.255.255.255) : 연구를 위해 예약된 주소
서브넷팅 (2022년 2회,3회)
IP 주소 고갈문제를 해결하기 위해 원본 네트워크를 여러개의 네트워크로 분리
서브네팅의 종류- (X)LSM
- FLSM(Fixed-Length Subnet Masking) : 서브넷의 길이를 고정적으로 사용
- VLSM(Variable Length Sbnet Masking) : 서브넷의 길이를 가변적으로 사용
라우팅 프로토콜(2022년 3회) - 3계층
- RIP : 15 홉 제한, 거리 벡터 라우팅 기반
- OSPF : AS 분할 사용, 홉 카운트 제한 X, RIP 단점 개선
- BGP : AS 상호 간에 경로 정보를 교환 하기 위한 프로토콜,
3. 네트워크 전달 방식 (★)
1. 패킷 교환 방식
WAN을 토애 데이터를 원격지로 송부하기 위해 X.25, 프레임 릴레이 및 ATM과 같은 다양한 기술 사용
3. 패킷 교환 방식과 서킷 교환 방식의 차이
2. 패킷 교환 방식의 종류 (2021년 2회)
데이터 그램 방식
- 연결 경로를 확립하지 않고 각각의 패킷을 순서에 무관하게 독립적으로 전송
- 헤더를 붙여서 개별적으로 전달하는 비연결형 교환 방식
가상 회선 방식
- 패킷 전송 전에 논리적인 통신 경로를 미리 설정하는 방식
4. 네트워크 구조 (★)
1. 애드 혹 네트워크 (2021년 2회)
애드 혹 네트워크는 노드들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크이다.
5. 신기술 용어 (★)
3. 기본 개발환경 구축하기
1. 운영체제 설치 및 운용 (★★)
윈도즈 계열 운영체제 : 개인용, 기업용, 워크스테이션용
리눅스 계열 운영체제 : 데비안 계열, RedHat 계열, 기타
2. 개발 도구 설치 및 운용 (★★)
1. 프로그래밍 언어
언어 선택시 고려사항
- 언어의 타입
- 시스템의 특징
- 언어특징
- 지원
3. 응용 시스템 개발 인프라 구축 (★)
1. 개발환경 인프라 구축 개요
RAID(복수 배열 독립 디스크) (2022년 1회)
하나의 대형 저장 장치 대신 다수의 저용량의 저장 장치를 배열로 구성하는 기술이다.
- RAID 0 : 패리티(오류 검출 기능) 이 없는 스트라이핑된 세트로 구성되는 방식 , 적어도 2개
- RAID 1 : 패리티(오류 검출 기능) 이 없는 미러링된 세트로 구성되는 방식, 적어도 2개
- RAID 2 : 오류정정부호(ECC)를 기록하는 전용의 하드디스크를 이용해서 안정성을 확보. 입출력속도 느림
- RAID 3 : 데이터는 모든 디스크에 바이트 단위의 스트라이핑 된 세트로 구성되고, 패리티 정보만 별도의 디스크에 저장, 적어도 3개
- RAID 4 : 데이터는 모든 디스크에 블록 단위의 스트라이핑 된 세트로 구성되고, 패리티 정보만 별도의 디스크에 저장, 적어도 3개
- RAID 5 : 패리티가 배분되는 스트라이핑된 세트로 구성된 방식, 패리티 정보도 모든 디스크에 나뉘어 저장
- RAID 6 : 패리티가 배분되는 스트라이핑된 세트로 구성된 방식, 적어도 4개 디스크 필요