컴퓨터 구조와 운영체제 큰 그림 잡기

HiroPark·2022년 8월 3일
3

Computer Science

목록 보기
1/1

컴퓨터 하드웨어는 크게 CPU(프로세서), 메모리, 디스크, I/O 장치로 구성되며, 이들은 시스템 버스로 연결된다.

CPU

CPU : 컴퓨터 하드웨어에 부착한 모든 장치의 동작을 제어하고, 명령을 실행한다.
이때, 레지스터란 CPU가 요청을 처리하는데 필요한 데이터를 일시적으로 저장하는 기억장치이다.

  • 사용자가 값을 변경할 수 있는 "사용자 가시 레지스터"와 "불가시 레지스터"로 나뉜다.

  • PC : 명령어의 위치(명령어의 어디쯤 있느냐)를 가리킨다.

  • MAR : 메모리의 주소를 저장하는 레지스터(위치)

  • MBR : 메모리의 데이터 및 명령어를 실제로 저장하는 레지스터

  • AC : 임시 저장 메모리

  • IR : 현재 실행하는 명령어를 보관하는 레지스터

  • ALU : 산술(+), 논리 연산(AND, OR, XOR) 을 담당한다.

  • DR : 함수 연산에 필요한 데이터를 저장. 산술 논리 연산에 사용한다.

  • AR : 주소 혹은 유효 주소를 계산하는 데 필요한 주소의 일부분을 저장.

Memory

  • 실행 파일 = 명령어 + 데이터
  • 실행 파일의 일부(실행되는 모듈)이 메모리에 올라간다
  • 메모리에 올라가는 실행파일의 구성


개발자가 작성한 코드가 CPU에서 실행되는 과정을 대략적으로 위와 같다.

  1. C, Java등으로 작성된 언어가 컴파일을 통해 실행파일로 만들어진다(exe, dll)
  2. 이 파일 여러개가 합쳐져서 하나의 "프로그램" 이 된다.
  3. Program in Execution, 즉 프로세스는 실행상태에 있는 프로그램을 의미한다.
  4. 프로세스는 메모리에 여러개가 존재하며, 이 프로세스가 돌아가면서 CPU를 배정받고 작업을 처리한다.(시분할)

이 과정에서 운영체제가 개입한다.

메모리 관리


한정된 메모리를 여러 프로세스가 함께 사용하므로, 운영체제가 이를 관리하는 방법을 "메모리 관리"라 한다.

메모리 관리는 프로세스의 요청에 따라 메모리의 일부를 할당하고, 필요없으면 자유로이 재사용 할 수 있도록 하는 것이다.

메모리 관리의 주요 정책 세가지는 다음과 같다.

적재 정책

디스크에서 메모리로 프로세스를 반입할 시기 를 결정

  • 요구 적재 : 참조 요청에 따라 다음에 실행할 프로세스를 메모리에 적재
  • 예상 적재 : 시스템의 요청을 미리 예측하여 메모리에 적재

배치 정책

디스크에서 반입한 프로세스를 메모리 어느 위치에 저장할 것인지 결정

  • 최초 적합: 사용 가능 공간 리스트에서 "충분히 큰 첫번째 공간"에 적재
  • 최적 적합: 사용 가능 공간 리스트에서 "가장 작은 크기의 사용 공" 을 작업에 적재
  • 최악 적합: "가장 큰 사용가능 공간"에 적재

대치 정책

메모리가 충분하지 않을 때에 현재 메모리에 적재된 프로세스 중, 제거할 프로세스를 결정하는 교체 방법

  • FIFO
  • LRU : Least Recently Used

프로세스 스케줄링


여러 프로세스가 번갈아 사용하는 자원(주로 CPU)을 어떤 시점에, 어떤 프로세스에 할당할지 결정하는 것.
1. 작업 선택 : CPU를 사용할 작업을 결정하는 작업 스케줄링
2. 작업 승인과 프로세서 할당 스케줄링
3. 준비 상태에 있는 프로세스 중, 프로세서를 할당할 프로세스를 결정하는 할당 스케줄링.(다음에 실행할 프로세스 결정)

스케줄링 알고리즘 종류

  • FCFS
  • SJF(Shortest Job First)
  • 우선순위 스케줄링
  • Round Robin 스케줄링 등
profile
https://de-vlog.tistory.com/ 이사중입니다

0개의 댓글