study #8

Hoya_03·2022년 6월 12일

27. 주기억장치 할당 기법

주기억장치의 메모리는 한정되어 있기 때문에 효율적으로 관리하기 위해서 반입 전략, 배치 전략, 교체 전략 등을 사용한다.

1)연속 할당 기법

프로그램을 주기억장치에 연속으로 할당하는 기법

  • 단일 분할 할당 기법 : 오버레이, 스와핑
  • 다중 분할 기법 : 고정 분할 할당 기법, 동적 분할 할당 기법

2)분산 할당 기법

프로그램을 특정 단위의 조각으로 나누어 주기억장치 내에 분산 하여 할당하는 기법

  • 페이징 기법, 세그먼테이션 기법

단일 분할 할당 기법

주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한순 간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법

프로그램이 운영체제에 영향을 주지 않기 위해 운영체제와 프로그램의 영역을 구분하는 경계 레지스터를 사용한다.


→ 하나의 프로세스만 동작할 수 있는 기법이다.

오버레이 기법

주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법이다.

  • 하나의 프로그램을 여러 개의 조각으로 분할 한 후 필요한 조각을 차례로 주기억장치에 적재한다.
  • 주기억장치의 공간이 부족하면 주기억장치에 적재된 프로그램 조각 중 불필요한 조각이 위치한 장소에 새로운 프로그램의 조각을 덮어씌워 적재한다.

스와핑 기법

하나의 프로그램 전체를 주기억장치에 할당하여 사용하다가 필요에 따라 다른 프로그램과 교체하는 기법이다.

  • 프로그램이 보조기억장치로 이동되는 것을 Swap Out, 프로그램이 주기억장치로 이동되는 것을 Swap In이라고 한다.
  • 가상기억장치의 페이징 기법으로 발전되었다.

다중 분활 할당 기법

  • 외부 단편화
    분할 된 영역이 할당될 프로그램보다 작아서 프로그램이 할당될 수 없어 사용되지 않고 빈 공간으로 남아있는 분할된 전체 영역
  • 내부 단편화
    분할된 영역이 할당될 프로그램보다 커서 프로그램이 할당된 후 사용되지 않고 남아 있는 빈 공간

1) 고정 분할 할당 기법 = 정적 할당 기법

운영체제가 주기억 장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고 준비상태 큐에서 준비 중인 프로그램을 각 영역에 할당하여 수행하는 기법이다.

  • 프로그램 전체가 주기억 장치에 위치해야 한다.
  • 프로그램의 크기는 다양한데 고정된 크기로 나누다보니 외부단편화나 내부단편화가 일어나 낭비되는 영역이 많다.
  • 프로그램의 크기를 미리 알고 있어야 한다.
  • 다중 프로그래밍을 위해 사용되었으나 지금은 사용하지 않는다.

2) 가변 분할 할당 기법 = 동적 할당 기법

단편화를 줄이기 위한 것으로 프로그램을 주기억 장치에 적재하면서 필요한 만큼의 크기로 영역을 분할하는 기법이다.

  • 주기억장치를 효율적으로 사용할 수 있고 다중 프로그래밍 정도를 높일 수 있다.
  • 프로세스 크기의 제약이 적다.
  • 영역과 영역 사이의 단편화가 발생할 수 있다.

28. 가상기억장치 구현 기법 / 페이지 교체 알고리즘 🌟🚆

가상기억장치

보조기억장치의 일부를 주기억장치처럼 사용하는 것

  • 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용 할 수 있음
  • 프로그램을 여러 작은 블록 단위로 나누어서 가상기억장치에 보관해 놓고, 프로그램 실행 시 요구되는 블록만 주기억장치에 불 연속적으로 할당하여 처리
  • 주기억장치의 이용률과 다중 프로그래밍의 효율 상승
  • 가상기억장치에 저장된 프로그램을 실행하려면 가상기억장치 의 주소를 주기억장치의 주소로 바꾸는 주소 변환(Mapping) 작업 이 필요
  • 연속할당방식에서발생할수있는단편화를해결할수있음

페이징 기법(Paging)

가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역 을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법

세그먼트 기법(Segmentation) 🌟

가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적
인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 방법

  • 프로그램을 논리적인 크기로 나눈 단위를 세그먼트라고 함
  • 내부 단편화는 발생하지 않으나 외부 단편화는 발생할 수 있음
  • Mapping 작업을 위해서 세그먼트 맵 테이블이 필요함
  • 세그먼트가 주기억장치에 적재될 때 다른 세그먼트에게 할당 된 영역을 침범할 수 없으며 이를 위해 기억장치 보호키가 필요
    • 단편화
      1) 내부 단편화 : 배치 후 남은 공간

      2) 외부 단편화 : 배치를 못해 빈 공간으로 남아있는 공간


페이지 교체 알고리즘 🌟

페이지 부재가 발생했을 때 가상기억장치의 필요한 페이지를 주기억장치에 적재해야 하는데 이럴 경우 주기억장치의 모든 페 이지 프레임이 사용 중이면 어떤 페이지 프레임을 선택하여 교체 할 것인지 결정하는 기법

  • OPT,FIFO,LRU,LFU등이있음

30.프로세스의 개요 🌟🚆

프로세스

프로세서에 의해 처리되는 사용자 프로그램이나 시스템 프로그 램을 의미

  • 실행 중인 프로그램을 의미하며 작업 혹은 태스크라고도 함

PCB(Process Control Block ::프로세스 제어 블록)

운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳으로 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB가 제거됨

PCB에 저장되어 있는 정보 : 프로세스의 현재 상태, 포인터, 프로세스 고유 식별자, 스케줄링 및 프로세스의 우선순위, CPU 레지스터 정보 등등

프로세스 상태 전이🌟

프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변 화는 것을 의미

  • 접수 : 제출된 작업이 디스크에 저장된 상태

  • 준비 : 프로세스가 프로세서를 할당받기 전에 대기중인 상태. 잡스케줄러가 접수에서 준비 상태로 전이함.

  • 실행 : 프로세스가 프로세서를 할당받아 실행되는 상태.

  • 대기 : 프로세스에 입 출력이 필요하면 현재 실행 중인 프로세스가 중단되고, 입 출력이 끝날 때까지 대기하고 있는다.

  • 종료 : 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태.

  • Dispatch
    준비 상태에 대기하고 있는 프로세스 중 하나가 프로세스를 할 당받아 실행 상태로 전이되는 과정
  • Wake up
    입출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태 로 전이되는 과정
  • Spooling
    입출력 장치의 공유 및 상대적으로 느린 입출력장치의 처리 속도 를 보완하기 위해 입출력할 데이터를 직접 장치에 보내지 않고 나 중에 한꺼번에 입출력하기 위해 디스크에 저장하는 과정
  • 교통량 제어기
    프로세스의 상태에 대한 조사와 통보를 담당

스레드(Thread) 🌟

  • 쓰레드란 프로그램(프로세스) 실행의 단위이며
    하나의 프로세스는 여러개의 쓰레드로 구성이 가능하다.
  • 하나의 프로세스를 구성하는 쓰레드들은 프로세스에 할당된 메모리, 자원 등을 공유한다.

  • 프로세스와 같이 실행, 준비, 대기 등의 실행 상태를 가지며
    실행 상태가 변할때마다 쓰레드 문맥교환(context switching)을 수행한다.

각 쓰레드별로 자신만의 스택과 레지스터를 가진다.

  • 사용자 수준의 스레드
    사용자가 만든 라이브러리를 사용하여 운용하기 때문에 속도는
    빠르지만 구현이 어려움
  • 커널 수준의 스레드
    운영체제의 커널에 의해 스레드를 운영하기 때문에 속도는 느 리지만 구현이 쉬움

32. 주요 스케줄링 알고리즘 🌟🚆

프로세스 스케줄링 기법

비선점 스케줄링

이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 강제 종료가 불가능한 스케줄링 기법

  • 프로세스가 CPU를 할당받으면 완료될 때 까지 사용
  • 프로세스 응답 시간 예측이 용이
  • 일괄 처리 방식에 적합
  • 중요한(짧은) 작업이 중요하지 않은(긴) 작업을 기다리는 경우 가 발생할 수 있음
  • FCFS, SJF, 우선순위, HRN, 기한부 등의 알고리즘

FCFS (First Come First Served) 🌟

먼저 CPU를 요청하는 프로세스를 먼저 처리하는 방식

SJF(Shortest Job First ::단기 작업 우선) 🌟

준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법

HRN(Hightest Response-ratio Next) 🌟

실행 시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것으로, 대기 시간과 서비스(실행) 시간을 이용하는 기법

  • 우선순위 계산 공식을 이용하여 서비스 시간이 짧은 프로세스나 대기 시간이 긴 프로세스에게 우선순위를 주어 CPU를 할당
  • 우선순위를 계산하여 그 숫자가 가장 높은 것부터 낮은 순으 로 우선순위가 부여
  • 우선 순위 계산식 = (대기시간 + 서비스 시간) / 서비스 시간

선점 스케줄링

하나의 프로세스가 CPU를 할당받아 사용하고 있을 때 우선순 위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있 는 스케줄링 기법

  • 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사 용할 수 있음
  • 우선순위가 높은 프로세스를 빠르게 처리할 수 있음
  • 빠른 응답 시간을 요구하는 대화식 시분할 시스템에 사용
  • 많은 오버헤드를 초래함
  • 선점이 가능하도록 일정 시간 배당에 대한 인터럽트용 타이 머 클록이 필요
  • Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피 드백 큐 등의 알고리즘

35. 인터넷 🌟🚆 🌟🌟🌟

TCP/IP 프로토콜을 기반으로 전 세계 수많은 컴퓨터와 네트워 크들이 연결된 광범위한 컴퓨터 통신망

  • 미 국방성의 ARPANET에서 시작
  • 유닉스 운영체제를 기반으로 함
  • 인터넷에 연결된 컴퓨터는 고유한 IP 주소를 가짐
  • 인터넷을 구성하기 위해서는 브리지, 라우터, 게이트웨이가 사용됨
  • 백본 : 네트워크를 연결하여 중추적 역할을 하는 네트워크로 인터넷의 주가 되는 기간망을 일컫는 용어

IP주소(Internet Protocol Address) 🌟🚆 🌟🌟🌟

  • 인터넷에 연결된 컴퓨터를 구분하기 위한 고유한 주소
  • 8비트 씩 4부분으로 구성됨

서브네팅(Subnetting)

할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누 어 사용
IPv4의 주소 부족 문제를 해결하기 위한 방법

  • 서브넷 마스크 : 네트워크 주소와 호스트 주소를 구분하기 위한 비트
  • 각 클래스마다 다르게 사용하며 각 클래스별 디폴트 서브넷 마스크는 아래와 같음
  • A Class : 255.0.0.0
  • B Class : 255.255.0.0
  • C Class : 255.255.255.0

IPv6 🌟🚆 🌟🌟🌟

시간이 지나면서 인터넷 사용자가 많아지면서 IPv4의 주소가 부족해지게 되어 IPv4의 주소 부족 문제를 해결하기 위해 개발 됨

  • 128비트의 긴 주소를 사용하여 주소 부족 문제를 해결할 수 있고, 자료 전송 속도가 빠름
  • 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제 해결 가능

도메인 네임

IP 주소를 사람이 이해하기 쉬운 문자 형태로 표현한 것 ex)

36. OSI 7 Layer 🌟🚆 🌟🌟🌟

OSI(Open System Interconnetion)7 Layer 참조 모델

다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에 서 제안한 통신 규약(프로토콜)으로 컴퓨터 네트워크 프로토콜을 기능별로 나누어 각 계층으로 설명한 것

  • 데이터의 흐름이 한눈에 보인다.
  • 하나의 문제를 7개의 작은 문제로 나누기 때문에문제 해결이 쉽다.
  • 각 계층마다 사용하는 장비가 다른데, 표준화를 통해 여러 회사의 네트워크 장비를 사용하더라도 이상 없이 작동할 수 있게 된다.

1계층 물리 계층(Physical Layer)

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

  • 물리적 전송 매체와 신호 방식을 정의 Ÿ RS-232C, X.21 등의 표준
  • 관련 장비 : 리피터, 허브
  • 데이터 단위 : 비트

두개의인접개방시스템들간의신뢰성있고효율적인정보전송을 할 수 있도록 함

  • 주요 기능 : 흐름 제어, 프레임 동기화, 오류 제어, 순서 제어 Ÿ HDLC, LAPB, LLC, MAC, LAPD, PPP 등의 표준
  • 관련 장비 : 브리지, 스위치, 랜카드
  • 데이터 단위 : 프레임

3계층 네트워크 계층 (Network Layer)

개방 시스템들 간의 네트워크 연결을 관리하고 데이터의 교환 및 중계 기능

  • 네트워크 연결 설정, 유지, 해제
  • 경로 설정, 데이터 교환 및 중계, 트래픽 제어, 패킷 정보
    전송 수행
  • X.25, IP 등의 표준 Ÿ 관련 장비 : 라우터
  • 데이터 단위 : 패킷

4계층 전송 계층(Transport Layer)

논리적 안정과 균일한 데이터 전송 서비스를 제공

  • 종단 시스템 간의 투명한 데이터 전송을 가능하게 함
  • 종단 시스템 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능
  • 주소 설정, 다중화, 오류 제어, 흐름 제어
  • TCP,UDP등의표준
  • 관련 장비 : 게이트웨이
  • 데이터 단위 : 세그먼트

5계층 세션 계층(Session Layer)

송수신 측 간의 관련성을 유지하고 대화 제어를 담당

  • 동기점 : 송수신 측간의 대화 동기를 위해 전송하는 정보를 일정한 부분에 두어 정보의 수신 상태를 체크하는 포인트
  • 데이터 단위 : 메시지

6계층 표현 계층(Presentation Layer)

데이터를 응용 계층, 세션 계층에 보내기 전에 계층에 맞게 변환

  • 서로 다른 데이터 표현 형태를 갖는 시스템 간 상호 접속을 위해 필요한 계층
  • 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식변환,문맥관리기능
  • 데이터 단위 : 메시지

7계층 애플리케이션 계층(Application Layer) ::응용 계층

사용자가 OSI 환경에 접속할 수 있도록 서비스 제공

  • 프로세스 간의 정보 교환, 전자 사서함, 가상 터미널 등의 서비스 제공

37. 네트워크 관련 장비 🌟

네트워크 인터페이스 카드(Network Interface Card)

컴퓨터를 연결하는 장치로 정보 전송 시 정보가 케이블을 통해 전송될 수 있도록 정보 형태를 변경

  • 이더넷 카드(::LAN) 혹은 네트워크 어댑터라고도 함

허브

스위치

라우터

LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택 할 수 있는 기능을 추가

스위치 vs 라우터

브리지(Bridge)

LAN과 LAN을 연결하거나 LAN안에서 컴퓨터 그룹을 연결

게이트웨이

전 계층의 프로토콜 구조가 다른 네트워크의 연결을 수행

  • LAN에서 다른 네트워크에 데이터를 송수신하는 출입구 역할 을 함

0개의 댓글