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에 의해 처리되는 프로그램이다.

프로세스 상태전이. image

디스패치 : 준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정하여 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 에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델.

각 계층은 서로 독립적으로 구성되어 있다.

계층을 지날 때마다 헤더가 붙는다. 헤더에는 제어정보가 포함되어 있다.

  1. 물리 계층(비트) : 0과 1의 비트 정보
  2. 데이터링크 계층(프레임) : 동기화, 오류제어
  3. 네트워크 계층(패킷) : IP, ICMP 최적화 경로 제공
  4. 전송 계층(세그먼트) : TCP, UDP 송수신 프로세스간의 연결, 신뢰성 보장
  5. 세션 계층(데이터) : 송수신간의 논리적인 연결
  6. (데이터) : 데이터 형실 설정, 암복호화, 압축
  7. 응용 계층(데이터) : HTTP, FTP

통신망

무선랜 표준 802.11a 이런 것들.

2. 네트워크 프로토콜 파악 (★★★)

1. 프로토콜 (2020년 3회, 1회)

프로토콜은 서로 다른 시스템이나 기기들 간의 데이터 교환을 원할히 하기 위한 표준화된 통신규약

프로토콜의 기본 3요소 (구의타)

  1. 구문 : 데이터 형식, 코딩, 신호 레벨 등의 규정
  2. 의미 : 제어정보로 조정과 에러 처리를 위한 규정
  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) : 연구를 위해 예약된 주소

image

서브넷팅 (2022년 2회,3회)

IP 주소 고갈문제를 해결하기 위해 원본 네트워크를 여러개의 네트워크로 분리

서브네팅의 종류- (X)LSM

  1. FLSM(Fixed-Length Subnet Masking) : 서브넷의 길이를 고정적으로 사용
  2. VLSM(Variable Length Sbnet Masking) : 서브넷의 길이를 가변적으로 사용
라우팅 프로토콜(2022년 3회) - 3계층

image

  1. RIP : 15 홉 제한, 거리 벡터 라우팅 기반
  2. OSPF : AS 분할 사용, 홉 카운트 제한 X, RIP 단점 개선
  3. BGP : AS 상호 간에 경로 정보를 교환 하기 위한 프로토콜,

3. 네트워크 전달 방식 (★)

1. 패킷 교환 방식

WAN을 토애 데이터를 원격지로 송부하기 위해 X.25, 프레임 릴레이 및 ATM과 같은 다양한 기술 사용

3. 패킷 교환 방식과 서킷 교환 방식의 차이

image|579

2. 패킷 교환 방식의 종류 (2021년 2회)

데이터 그램 방식

  • 연결 경로를 확립하지 않고 각각의 패킷을 순서에 무관하게 독립적으로 전송
  • 헤더를 붙여서 개별적으로 전달하는 비연결형 교환 방식

가상 회선 방식

  • 패킷 전송 전에 논리적인 통신 경로를 미리 설정하는 방식

4. 네트워크 구조 (★)

1. 애드 혹 네트워크 (2021년 2회)

애드 혹 네트워크는 노드들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크이다.

5. 신기술 용어 (★)


3. 기본 개발환경 구축하기

1. 운영체제 설치 및 운용 (★★)

윈도즈 계열 운영체제 : 개인용, 기업용, 워크스테이션용

리눅스 계열 운영체제 : 데비안 계열, RedHat 계열, 기타

2. 개발 도구 설치 및 운용 (★★)

1. 프로그래밍 언어

언어 선택시 고려사항

  1. 언어의 타입
  2. 시스템의 특징
  3. 언어특징
  4. 지원

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개 디스크 필요