본격적으로 운영체제(OS)에 대해서 다루기 전에 미리 알아두면 좋은 개념들에 대해서 포스팅 해볼 예정이다.
운영체제(OS)는 Operating System의 약어이며 컴퓨터의 하드웨어를 제어하고 응용 소프트웨어를 위한 기반 환경을 제공하여, 사용자가 컴퓨터를 사용할 수 있도록 중재 역할을 해 주는 소프트웨어를 말합니다. 네이버 지식백과
사전적인 의미는 다음과 같다고 한다.
다음 포스팅에서 제대로 알아볼 예정이니 이번 포스팅에서는 느낌만 알고 넘어가도록하자.
앞으로 포스팅 할 운영체제 내용에 있어서 기본적으로 숙지하고 있어야 하는 10가지 개념들에 대해서 알아보자.
내부기억장치(internal storages)
는 registers, caches, Main Memory를 뜻하며 휘발성(volatile) 메모리이다. 이들은 편의상 Memories라고 부른다.외부기억장치(external storages)
는 HDD나 SSD를 뜻하며 비휘발성(non-volatile), 즉 영구적인 메모리이다. Load
는 프로그램을 실행시키기 위해서 기억장치로부터 파일을 가져오는 것을 의미한다.Store
는 파일들을 기억장치로 옮겨 저장하는 것을 의미한다. Illinois Architecture
: 1개의 memoryHarvard Architecture
: 2개의 memory (명령어 메모리 + 데이터 메모리)ctrl + s
를 누르는 것은 내가 작성한 프로그램이 아니라 이미 작성된 프로그램을 실행만 시키는 것이기 때문에 OS Program이라고 할 수 있다. CPU(Central Processing Unit)의 특수한 목적을 가진 레지스터들에 대한 설명이다.
주로 컴퓨터 구성에서 다루지만 알고 있으면 앞으로의 포스팅에서 도움이 될 것 같아서 살짝 포스팅해본다.
각각의 레지스터들의 역할을 구분할 줄 알면 이해에 도움이 될 것이다.
위의 그림은 일반적인 CPU의 레지스터들과 메모리를 나타낸 그림이다.
CPU는 데이터 유닛(Data Unit)
과 제어 유닛(Control Unit)
으로 구성되어있다.
위의 그림이 데이터 유닛(Data Unit)이며 위에서 다뤘던 CPU register들과 ALU(Arithmetic and Logic Unit)로 구성되어있다.
데이터 유닛이 작동하는 예를 들어 보면 PC
에서 AR
로 data를 보내고 싶다면 MUX for BUS
의 selection line인 S0 S1 S2를 010(2진수로 2를 의미 = PC)으로 설정하고 AR
의 LD만 1로 설정하고 나머지 register들의 LD를 0으로 설정하면 AR ← PC, 즉 PC의 data가 AR로 보내지는 명령이 수행되는 것이다.
제어 유닛(Control Unit)
의 주 업무는 명령어 해독(decode), 명령어 패치(fetch), 실행 흐름 제어 정도이다.
즉, data들이 어떻게 이동하게 할지 각각의 CPU 구성요소들에게 어떠한 동작을 할지 IR
에 보관되어 있는 명령어(OPCODE)를 판독해 신호를 주는 것이다.
따라서 제어 유닛은 진정한 의미의 두뇌 라고 할 수 있다.
명령어 집합 구조(ISA)는 모든 CPU에서 지시를 하는 방법을 의미한다.
아래의 그림처럼 총 3가지 방법이 존재한다. 기억 장치 참조 명령(Memory Reference Instruction)
는 memory를 참조하여 명령을 지시하는 방법이다.
기억 장치 참조 명령의 경우 CPU를 설계할 때 있어서 가장 중요한 그림이라 할 만큼 중요하다.
여기서 OpCode는 000 ~ 110까지만 있는 것을 확인할 수 있는데 그 이유는 다음과 같다.
제어 유닛 그림에서 IR이 [ I | Opcode | Address ]로 구성된 것을 확인할 수 있는데, OpCode가 111인 경우에는 I가 0인 경우와 1인 경우에 따라서 하는 지시가 다르기 때문이다.
OpCode = 111 and I = 0
: memory는 참조하지 않으며 Register Operation
을 따른다.
OpCode = 111 and I = 1
: memory는 참조하지 않으며 I/O Operation
을 따른다.
AND, ADD, LDA, STA, BUN, BSA, ISZ 가 존재한다.
I = 0
: 직접 주소 지정 명령(Direct Addressing instruction)에 의해 메모리 지정
I = 1
: 간접 주소 지정 명령(Indirect Addressing instruction)에 의해 메모리 지정
(이때 7xxx 나 Fxxx는 존재하지 않는데 왜냐하면 Opcode 111은 메모리를 참조하지 않기 때문이다.)
CPU는 오로지 아래의 Instruction Cycle의 1 - 6 번까지의 과정만을 반복 수행하는 것이다.
D7=0 and I=0
: 직접 주소 지정으로 address 자체가 effective addressD7=0 and I=1
: 간접 주소 지정으로 한 번 더 계산을 하여 effective address를 확인D7=1 and I=0
: Register - reference instruction 실행D7=1 and I=1
: I/O instruction 실행위의 과정을 그림으로 나타낸 것이 바로 위의 그림이다.
이번 포스팅에서는 운영체제의 사전적인 의미, 10가지 개념, CPU에 대해서 간략하게 알아보았다.
다음 포스팅에서는 본격적으로 운영체제에 대해서 알아보도록 하겠다.
👉🏻 다음포스팅으로 이동하려면 여기로
퍼가요~ㅋㅋㅋㅋㅋㅋㅋㅋ