231002 TIL #205 정처기 실기 #15 응용 SW 기초 기술 활용 1

김춘복·2023년 10월 2일
0

TIL : Today I Learned

목록 보기
205/571

Today I Learned

D-5. 연휴지만 공부 on.


응용 SW 기초 기술 활용 1

운영체제

Operating System. 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임.
컴퓨터 사용자와 하드웨어간의 인터페이스.
CPU, 메모리, 입출력장치 등의 자원을 관리한다.

운영체제의 목적

  • 처리능력 : 일정 시간내에 시스템이 처리하는 일의 양
  • 반환시간 : 시스템에 작업을 의뢰한 시간 ~ 처리 완료까지 시간
  • 사용가능도 : 시스템을 사용할 필요가 있을 때 즉시 사용가능한 정도
  • 신뢰도 : 시스템이 주어진 문제를 정확하게 해결하는 정도

UNIX - A

1960년대 AT&T 벨 연구소, MIT, GE가 공동 개발한 운영체제
시분할 시스템을 위해 설계된 대화식 운영체제.
대부분 C언어로 되어있어 이식성이 높으며 장치 프로세스간 호환성이 높다.
트리 구조의 파일 시스템을 갖는다.

  • 커널(Kernel)
    유닉스의 핵심. 하드웨어를 보호하고 프로그램과 하드웨어간 인터페이스 역할을 담당한다.
    컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행된다.
    프로세스관리, 기억장치 관리, 파일 관리, 데이터 전송 등의 기능을 수행

  • 쉘(Shell)
    사용자의 명령어를 인식해 프로그램을 호출하고 명령을 수행하는 명령어 해석기. 시스템과 사용자 간의 인터페이스를 담당.

LINUX

1991년 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제
대부분 UNIX와 동일.
소스코드가 무료로 공개되어있어 프로그래머가 원하는 대로 기능 추가 가능

Android - A

구글에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제
자바와 코틀린으로 애플리케이션을 작성
휴대용 장치에서 주로 사용되는 운영체제


기억장치

기억장치 관리 - 반입전략

반입전략(Fetch). 보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기억 장치로 적재할 것인지 결정하는 전략

  • 요구반입(Demand Fetch) : 실행중인 프로그램이 참조를 요구할 때 적재하는 방법
  • 예상반입(Anticipatory Fetch) : 실행중인 프로그램에 의해 참조될 것을 미리 예상하여 적재

기억장치 관리 - 배치 전략 - B

배치전략(Placement). 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략

  • 최초 적합(First Fit) : 사용하지 않은 빈 영역중 프로그램이나 데이터가 들어갈 수 있는 크기의 첫 번째 분할영역부터 배치
  • 최적 적합(Best Fit) : 사용하지 않은 빈 영역중 프로그램이나 데이터가 들어갈 수 있는 크기에서 단편화를 가장 작게 남기는 분할 영역부터 배치시키는 방법
  • 최악 적합(Worst Fit) : 사용하지 않은 빈 영역중 프로그램이나 데이터가 들어갈 수 있는 크기에서 단편화를 가장 많이 남기는 분할 영역부터 배치시키는 방법

가상기억장치

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

구현기법 - B

  • 페이징(Paging) 기법
    가상기억장치에 보관되어있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법
    프로그램을 고정된 크기의 일정한 블록(페이지)으로 나눈다.

  • 세그먼테이션(Segmentation) 기법
    가상기억장치에 보관되어있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행하는 기법
    프로그램을 가변적인 크기, 배열이나 함수 등과같은 논리적인 크기(세그먼트)로 나눈다.

페이지 교체 알고리즘 - B

페이지 부재(Page Fault)가 발생하면 가상기억장치에서 필요한 페이지를 찾아 주기억장치에 적재해야한다.
이때 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 페이지 프레임을 선택해 교체할 것인지 결정하는 기법이 페이지 교체 알고리즘이다.

  • 종류 : OPT, FIFO, LRU, LFU, NUR, SCR 등

OPT

OPTimal replacement. 최적교체. 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 것.
벨레이디(Belady)가 제안.

FIFO(First In First Out)

각 페이지가 주기억장치에 적재될 때 마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래있었던 페이지를 교체하는 기법

LRU(Least Recently Used)

최근 가장 오랫동안 사용하지 않은 페이지를 교체

LFU(Least Frequency Used)

사용 빈도가 가장 적은 페이지를 교체


프로세스

실행중인 프로그램. 프로시저가 활동중인 것.
비동기적 행위를 일으키는 주체. PCB의 존재로서 명시되는 것.

Locality(지역성)

프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질
스래싱 방지를 위한 워킹 셋 이론의 기반.

  • 시간 지역성(Temporal Locality)
    프로세스가 실행되면서 하나의 페이지를 일정시간동안 집중적으로 엑세스하는 현상

  • 공간 지역성(Spatial Locality)
    프로세스 실행 시 일정 위치의 페이지를 집중적으로 엑세스하는 현상

Working Set(워킹 셋) - B

프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
자주 참조되는 워킹 셋을 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체 현상이 줄어들어 프로세스의 기억장치 사용이 안정된다.

Thrashing(스래싱) - B

프로세스의 처리시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
페이지폴트가 자주 발생해 전체 시스템의 성능이 저하

PCB(Process Control Block)

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

  • 프로세스의 현재 상태, 포인터, 프로세스 고유 식별자, CPU 레지스터 정보, 주기억장치 관리 정보, 입출력상태 정보, 계정정보가 있다.

프로세스 상태 전이 - A

  • 준비 - 대기 - 실행

  • Dispatch : 준비상태에서 프로세서를 할당받아 실행상태로 전이되는 과정

  • Wake Up : 입출력작업이 완료되어 프로세스가 대기에서 준비상태로 전이되는 과정

  • Spooling(스풀링) : 입출력 데이터를 직접 입출력장치에 보내지 않고 나중에 한꺼번에 입출력하기위해 디스크에 저장하는 과정

Thread(스레드) - B

시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위
프로세스 내에서 작업 단위
프로세스의 일부 특성을 가져 경량 프로세스라고도 한다.

profile
Backend Dev / Data Engineer

0개의 댓글