빙응의 공부 블로그

[정처기]4장 요점 정리 본문

정처기

[정처기]4장 요점 정리

빙응이 2024. 2. 13. 18:54

언어부분, 잘 알고있는 부분은 제외하였습니다.

🚩프로그래밍 언어 활용

Python의 시퀀스 자료형

  • 시퀀스 자료형이란 리스트, 튜플 range, 문자열처럼 값이 연속적으로 이어진 자료형을 말한다.
  • 리스트 
  • 튜플 : 요소의 추가, 삭제, 변경이 불가
  • range : 연속된 숫자

변수 작성 규칙

  1. 영문자, 숫자, _ 만 사용 가능
  2. 첫 글자는 숫자를 쓸 수 없음 
  3. 예약어를 사용 불가 

기억 클래스

  • 변수의 사용 범위를 나타낸다. java에 static 같은 것들이다.
  • 자동 변수 : auto
  • 레지스터 : register
  • static
  • extern

가비지 콜렉터 : 변수 선언만 하고 초기화하지 않은 것

 

C언어의 대표적인 표준 라이브러리

  • stdio.h
  • math.h
  • string.h 
  • stdlib.h : 난수 생성, 메모리 할당, 자료형 변환
  • time.h

JAVA의 주요 예외 객체

  • 문법 오류는 예외가 아님
  • 직관적이지 않는 것만 작성
  • ArithmeticException : 0으로 나누는 산술식 예외
  • NumberFormatException : 잘못된 변환 

 

🚩응용 SW 기초 기술 활용

UNIX의 개요

  • 개방형 시스템이며 이식성이 높고 프로세스 간의 호환성이 높다.
  • 다중 사용자, 다중 작업을 지원
  • 트리 구조이다.

UNIX 구조

  • 커널
    • 가장 핵심적인 부분
    • 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 기능 수행
    • 시스템과 사용자 간의 인터페이스 담당

파일 디스크립터

  • 파일 관리를 위한 시스템이 필요로 하는  파일에 대한 정보를 가진 제어블록

 

기억 장치 관리의 개요

  • 기억장치 관리 전략으로는 반입(Fetch) 전략, 배치 전략, 교체 전략이 있다.

반입 전략(Fetch)

  • 요구 반입 : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
  • 예상 반입 : 미리 예상하여 적재 

배치 전략(Placement)

  • 최초 적합: 빈 영역 중 첫 번째 분할 영역에 배치
  • 최적 적합 : 단편화가 가장 작게 남기는 분할 영역을 배치
  • 최악 적합 : 단편화가 가장 많이 나믹는 분할 영역에 배치 

교체 전략(Replacement)

 

교체 알고리즘

페이징 기법

  • 프로그램을 일정한 크기로 나눈 단위를 페이지
  • 주소 변환을 위해 페이지 맵 테이블 필요
  • 페이지 맵 테이블 사용으로 비용이 증가되고 ,처리 속도 감소
  • 내부 단편화 발생

세그먼테이션 기법

  • 페이지와 다르게 일정이 아닌 다양한 크기의 논리적 단위로 나눔 
  • 세그먼트라고 하며 각 세그먼트는 고유의 이름을 가짐
  • 사용 이유는 기억공간 절약이나 외부 단편화가 발생할 수 있다.
  • 주소 변환을 위한 세그먼트 맵 테이블이 필요하며 영역에 대한 구분을 위해 기억장치 보호키가 필요
  • 외부 단편화 발생

페이지 교체 알고리즘

  • OPT(최적 교체)
    • 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 방법
  • FIFO
    • 각 기억장치에서 가장 오래있던 페이지를 교체 
  • LRU
    • 가장 오랫동안 사용하지 않은 페이지 교체
  • LFU
    • 사용 빈도가 가장 적은 페이지를 교체
  • NUR
    • 최근에 사용하지 않은 페이지를 교체하나 두개의 비트를 사용하게 된다.
  • SCR
    • FIFO 기법의 단점 보완 자주 사용되는 페이지 교체를 방지

기타 관리 사항

  • 페이지 크기 유무
    • 페이지 크기가 작을 경우
      • 페이지 단편화가 감소, 주기억장치로 이동하는 시간이 줄어든다.
      • 페이지 맵 테이블이 커지고, 매핑속도가 늦어지며 입 출력 시간이 늘어남
    • 페이지 크기가 클 경우
      • 페이지 맵 테이블이 작아지고, 매핑 소곧가 빨라진다.
      • 페이지 단편화 증가 

Locality(지역성)

  • 프로세스가 실행되는 동안 주기억장치를 참조할때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론
  • 가상기억장치(캐쉬 메모리)의 이론
  • 시간 구역성
    • 하나의 페이지를 일정 시간 동안 집중적으로 엑서스하는 현상
    • 이루어지는 장소: 반복문, 스택, 부프로그램, 카운팅, 집계에 사용되는 변수
  • 공간 구역성
    • 프로세스 실행 시 일정 위치의 페이지를 집중적으로 엑서스하는 현상
    • 이루어지는 장소 : 배열 순회, 순차적 코드 실행

워킹 셋

  • 일정 기간동안 자주 참조되는 페이지의 집합

프리페이징 

  • 처음의 과도한 페이지 부재를 방지하기 위해 미리 모든 페이지를 한꺼번에 적재하는 기법이다.

스래싱

  • 프로세스 처리 시간보다 페이지 교체에 소요되는 시가닝 많아지는 현상 
  • 방지 방법
    • 다중 프로그래밍의 적정 수준 유지
    • 페이지 부재 빈도를 조절
    • 워킹 셋 유지

 

프로세스의 개요

프로세스

  • 실행중인 프로그램

PCB(프로세스 제어 블록)

  • 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳 

프로세스 상태 전이

  • 제출(Submit) : 작업을 처리하기 위해 사용자가 작업에 시스템을 제출한 상태
  • 접수(Hold) : 제출된 작업이 스풀 공간인 디스크에 할당 위치에 저장된 상태
  • 준비(Ready) : 프로세스가 프로세서를 할당받기 위해 기다리는 상태
  • 실행(Run)
  • 대기,보류,블록
  • 종료(Terminated, exit)

관련 용어

  • Dispatch : 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 항당받아 실행 상태로 전이 
  • Wake up : 입출력 작업이 완료되어 준비상태로 전의
  • Spooling :나중에 한꺼번에 입출력하기 위해 디스크에 저장되는 과정

스레드

  • 프로세스의 작업단위로 시스템의 여러 자원을 할당 받아 실행하는 프로그램의 단위 
  • 분류
    • 사용자 수준
      • 속도가 빠르나 구현이 어렵다, 커널 모드 전환이 없어 오버헤드가 줄어든다.
    • 커널 수준 
      • 여러 스레드가 커널에 동시 접근
      • 독립적인 스케줄링 가능
      • 속도가 느림 

스케줄링

비선점 스케줄링 : 우선순위가 높아도 강제러 빼앗아 사용할 수 없는 스케줄링 기법이다.

  • FCFS, SJF, HRN 등이 있다.

선점 스케줄링 : 우선순위가 높으면 CPU를 강제로 빼앗아 사용하는 스케줄링 기법이다. 

  • RR, SRT 등이 있다.

FCFS

  • 들어온 차례로 CPU를 할당하는 기법이다.

SJF

  • 실행 시간이 가장 짧은 것을 먼저 하여 대기 시간을 줄이는 기법이다.

HRN 

  • 실행 시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것으로, 대기 시간과 실행 시간을 이용한 기법이다.
  • 실행 시간이 짧거나 대기시간이 긴 프로세스 일 경우 우선순위가 높다. 
  • 계산식에 의해 결정된다.

 

인터넷

IP 주소

  • 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유 주소
  • 4개의 클래스가 있다.
    • A 클래스 : 국가나 대형 통신망에서 사용(앞자리가 0)
    • B 클래스 : 중대형 통신망에서 사용(앞자리가 10)
    • C 클래스 : 소규모 통신망에서 사용(앞자리가 110)
    • D 클래스 : 멀티케스트용으로 사용(앞자리가 1110)

서브네팅

  • 서브네팅은 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것을 말한다.

IPv6

  • IPv4의 주소 부족 문제를 해결하기 위해 개발
  • 128비트의 긴 주소이며 전송속도도 빠름
  • 인증성, 기밀성, 데이터 무결성 지원
  • 피캣 크기를 확장 가능 무한
  • IPv4 에서 IPv6로 변환 전략
    • 듀얼 스택 : 호스트에서 두 버전 모두 사용 가능하게 하는 것
    • 터널링
  • 구성
    • 16비트씩 8부분으로 구성
      • 유니캐스트 : 1대1 통신 지원
      • 멀티캐스트 : 1대다 통신 지원
      • 애니캐스트 : 가까이 있는 단일 수신자와 통신

OSI 참조 모델

물리 계층(비트)

  • 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의
  • 리피터와 허브 

데이터 링크 계층(프레임)

  • 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료를 담당
  • 흐름제어
  • 프레임 동기화
  • 오류 제어
  • 순서 제어
  • HDLC, LAPB, LLC, MAC, LAPD, PPP 등의 표준이 있다.
  • 브리지 스위치

네트워크 계층(패킷)

  • 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 한다.
  • 네트워크 연결, 설정, 유지 ,해제
  • 경로 설정, 데이터 교환 및 중계, 트래픽 제어
  • IP 표준
  • 라우터

전송 계층(세그먼트)

  • 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템 간의 투명한 데이터 전송을 가능하게 한다.
  • 하위 3계층과 상위 3계층의 인터페이스 역할
  • 종단 시스템 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능
  • TCP, UDP 
  • 게이트 웨이

세션계층

표현계층

응용계층

 

네트워크 관련 장비

허브

  • 가까운 거리의 컴퓨터들을 연결
  • 더미 허브 : 단순 연결
  • 스위치 허브 : 흐름 제어

리피터(물리 계층)

  • 네트워크 신호 증폭 및 재전송

브리지

  • LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹 연결
  • 데이터링크 계층 중 MAC 계층에서 사용

스위치

  • LAN과 LAN을 연결하여 더 큰 LAN으로 만든다.
  • 데이터 링크 계층 하드웨어 기반으로 전송 속도가 빠름

라우터

  • LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택할 수 있다.

브라우터

  • 브리지와 라우터의 기능 모두 가능 

TCP/IP

TCP

  • 전송 계층을 담당
  • 신뢰성 있는 연결형 서비스
  • 패킷의 다중화, 순서제어, 오류제어, 흐름제어 기능 제공
  • 스트림 기능 제공

IP

  • 네트워크 계층을담당
  • 비연결형 서비스
  • Best Effort원칙에 따른 전송 기능 
  • 패킷의 분해/ 조립, 주소 지정, 경로 선택 가능
  • 헤더 길이는 최소 20Byte, 최대 60Byte

응용 계층의 주요 프로토콜

  • FTP : 원격 파일 전송 프로토콜
  • SMTP : 전자 우편 전송 프로토콜
  • TELNET : 원격 컴퓨터 사용 서비스
  • SNMP : TCP/IP의 네트워크 관리 프로토콜, 라우터나 허브 등 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는 데 사용
  • DNS
  • HTTP
  • MQTT : 발행 -구독 기반 메시징 프로토콜, IoT 호나경에서 자주 사용 

전송 계층 주요 프로토콜

  • TCP 
    • 양방향 연결 
    • 가상 회선 연결
    • 스트림 위주로 전달(패킷 단위)
    • 패킷 분실, 손상, 지연 등 투명성 보장 
    • 최대 100Byte 헤더 가능 
  • UDP
    • 비연결형 서비스 
    • 단순한 헤더 구조로 오버헤드가 적고 흐름 제어나 순서 제어가 없어 전송이 빠름 
    • 실시간 전송에 유리
  • RTCP
    • RTP 패킷의 전송 품질을 제어하기 위한 제어 프로토콜

인터넷 계층의 주요 프로토콜 

  • IP
  • ICMP
    • IP와 조합하여 통신중에 발생한 오류의 처리와 전송 경로 변경등을 위한 제어 메시지를 관리하는 역할
    • 헤더는 8Byte이다.
  • IGMP : 멀티케스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용
  • ARP  : IP를 물리적 주소로 바꿈
  • RARP

네트워크 액세스 계층의 프로토콜

  • Ethernet : CSMA/CD 방식의 LAN 

'정처기' 카테고리의 다른 글

[정처기]실기 1장 - 요구사항 확인  (0) 2024.04.01
[정처기]5장 요점 정리  (1) 2024.02.20
[정처기] 3장 요점 정리  (0) 2024.02.09
[정처기]2장 요점 정리  (0) 2024.02.07
[정처기]1장 요점 정리  (0) 2024.02.06