STUDY/OS
03. CPU의 예측
CPU는 연산을 미리 "예측"한다. core의 연산 속도가 1ns인데 RAM의 연산 속도는 50ns로 약 50배의 속도 차이가 발생한다. 이러한 cpu와 ram의 속도 차이를 극복하기 위해 사용하는 것이 캐시 메모리다 캐시 메모리 역할 CPU가 예측한다는 부분은 사실 캐시에서 일어나는 일이다. 아래 코드를 보면, for (auto i = 1 ; i
02. Process VS Thread
Process 프로세스는 관리의 "단위" 이다. 이때, 관리의 주체는 "OS"가 된다. 프로세스가 존재하면 최소 한개의 스레드도 존재하는데, 프로세스 안에 수많은 스레드가 존재한다고 이론적으로 접근할 수 있지만 사실 프로세스 역시 한개의 메인 스레드라고 한다. 한개의 프로세스 내부에 단일 ~ 여러 스레드가 존재할 수 있고 이들은 "동시에" "각자" 작업한다 연산 프로세스가 뭐하는 애냐?! 하고 묻는다면 "연산"하는 애라고 보면 된다. 프로세스는 연속적으로 연산처리를 하는데 이때 스레드를 사용해서 연산하는 것,,, 이때, OS가 연산에 필요한 CPU와 연습장 (RAM) 을 제공해주는 것이다. Process Flow 큰 그림 : Process -> 연산 -> 연산을 위해서는 하드웨어의 CPU와 RAM을 사용..
01. Kernel
컴퓨터와 전원을 켜면 운영체제는 이와 동시에 수행된다. 한편 소프트웨어가 컴퓨터 시스템에서 수행되기 위해서는 메모리에 그 프로그램이 올라가 있어야 한다. 마찬가지로 운영체제 자체도 소프트웨어로서 전원이 켜짐과 동시에 메모리에 올라가야 한다. 하지만, 운영체제처럼 규모가 큰 프로그램이 모두 메모리에 올라간다면 한정된 메모리 공간의 낭비가 심할것이다. 따라서 운영체제 중 항상 필요한 부분만을 전원이 켜짐과 동시에 메모리에 올려놓고 그렇지 않은 부분은 필요할 때 메모리에 올려서 사용하게 된다. 이 때 메모리에 상주하는 운영체제의 부분을 커널이라 한다. 또 이것을 좁은 의미의 운영체제라고도 한다. 즉 커널은 메모리에 상주하는 부분으로써 운영체제의 핵심적인 부분을 뜻한다. 이에 반에 넓은 의미의 운영체제는 커널뿐..
00. Operating System Concept
Operating System 이란? 보통 "컴퓨터" 하면 하드웨어와 소프트웨어로 구성되어 있는 걸 생각할 수 있다. 하드웨어적인 부품들로는 램, 마우스, 디스크, 그래픽 카드 등이 있고 소프트웨어적인 부분은 계산기, 크롬 웹브라우저, 게임 등이 있다. 예를 들어, 하드웨어 : CPU, 쿨러, 마더보드, 메모리, 그래픽 카드, 하드 드라이브, 전원 공급장치, PC 케이스, 스피커, 마우스, 키보드 소프트웨어 : Genshin.exe 위의 모든 것이 있다면 나는 원신을 하기 위한 모든 재료를 갖춘 셈이다. 하지만 이렇듯 재료만 있다고 실제 게임을 실행할 수 있는 건 아니다. 그렇다면 어떻게 게임을 실행할 수 있을까? Operating System (OS) Concept OS란 소프트웨어와 하드웨어를 연결해..