분류 전체보기

    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란 소프트웨어와 하드웨어를 연결해..

    [ Build ] Fetcher failure for URL

    저번에 고쳐서 빌드가 잘 됐는데 한번 밀고 다시 깔았더니 또 안되서 미칠 것 같다. $ setupbuild -t -j $ bitbake Error Message ERROR: attr-native-2.4.47-r0 do_fetch: Fetcher failure for URL: 'http://download.savannah.gnu.org/releases/attr/attr-2.4.47.src.tar.gz'. Unable to fetch URL from any source. ERROR: attr-native-2.4.47-r0 do_fetch: Function failed: base_do_fetch 이런 메시지가 4~5개 나옴 https://tutorialadda.com/blog/do-fetch-fetcher-f..

    [ Linux ] Ubuntu 네트워크 설정

    이더넷선 연결 후 우분투 네트워크 설정 하는 방법 Prerequisite - 네트워크 정보 ( IP 주소, 서브넷 마스크, 기본 게이트웨이, 기본 설정 DNS 서버, 보조 DNS 서버) 편집기를 이용한 방법 # 이더넷 이름 확인 $ ifconfig -a # root 권한으로 네트워크 설정 $ sudo vi /etc/network/interfaces #==================================== # 편집기 내용 auto [네트워크이름] iface [네트워크이름] inet static address [내부/외부 아이피주소] netmask 255.255.255.0 gateway [게이트웨이 주소] dns-nameservers [DNS 서버 주소][whitespace] [보조 DNS 서버 ..