본문 바로가기
반응형

분류 전체보기137

CPU 명령어 병렬 처리 기법 명령어 병렬 처리 기법 CPU의 시간낭비 없이 메모리에 있는 명령어들을 빠르게 실행할 수 있는 방법 명령어 파이프라인 ★ 동시에 여러 개의 명령어를 겹쳐서 실행하는 기법을 말한다. 명령어 인출(Instruction Fetch): 메모리로 부터 명령어를 가져옴 명렁어 해석(Instruction Decode): 가져온 명령어를 해석하는 과정 명렁어 실행(Execute Instruction): 해석된 명령어를 실행 결과 저장(Write Back): 해석이 다 된 명령어를 다시 메모리에 저장 각각의 명령어는 단계가 서로 다르다면 CPU는 각 단계를 겹쳐 동시에 실행할 수 있다. ex) t2에서 명령어1은 실행, 명령어2는 해석, 명령어3은 인출을 실행함 이 모습은 마치 컨베이어 벨트와 같은 모습을 가지고 있다... 2023. 6. 3.
Call stack과 event loop 어떻게 비동기적으로 동작하는지? Memory heap, call stack, web apis, callback queue, event loop에 대해서 알아보자 Javascript는 SingleThread이다. 하나의 스레드에서 작업을 처리하기 때문에 작업1이 끝날때까지는 작업2, 3을 할 수 없다. 예를들어 클릭을 하고 이벤트를 처리하는 과정에서는 load가 멈춰있다고 형태와 같다. 당연히 유저에게 불편함을 초래한다. 싱글스레드와 단짝으로 붙어다니는 용어가 논블로킹이다. 자바스크립트는 하나의 스레드에서 처리를 하기 때문에 블로킹을 하게 되면 작업 1이 끝나야지만 그 다음 작업이 실행된다. 동시에 작업 2, 작업 3등이 처리가 될 수 없게 된다. 논블로킹이란? 단순하게 블로킹을 하지 않는다는 의미로 볼 .. 2023. 5. 30.
크롬 브라우저 아키텍쳐 각각의 브라우저 크롬, 파이어폭스, 사파리 등의 아키텍쳐는 표준이 없다는 특징을 갖고 있다. 그 중 크롬 브라우저 아키텍쳐의 프로세스 구성을 알아보려고 한다. [크롬 브라우저 Process의 구성] Browser Process : 상단 탭구성, 앞뒤로 가기, 새로고침 아이콘 URL 입력창의 부분을 말한다. 입력이 일어나면 브라우저 프로세스의 UI스레드가 처리를 한다. 만일 특정 주소가 입력된 토대로 네트워크 스레드가 새로운 요청을 보낸다. GPU Process: 모든 프로세스가 담긴 전체 화면 Plugin Process: 플러그인 당 하나씩 표현 Renderer Process: 탭 하나에 표현되서 그리는 브라우저의 화면을 담당. Utility Process * Renderer Process, Render.. 2023. 5. 28.
브라우저 아키텍쳐 이해하기_프로세스 스레드 GOAL - 프로세스 안에 스레드란? - 스레드와 하드웨어와의 연관성? - 멀티 프로세스 내부의 구조? 멀티 프로세스를 이해하기 위해서는 하드웨어와 소프트웨어의 연관성에 대해서 알아야 할 필요성이 있다. 프로세스도 추상적인 개념이다. [브라우저에서 화면이 그려지는 큰 과정] 1. 브러우저에 URL을 입력했을 때, 브라우저가 화면을 그리기 위해서 파일을 가져옴 2. 렌더링 프로세스: 가져온 파일을 브라우저가 렌더링 하는 과정 먼저 브라우저가 화면을 그리기 위해서 어떠한 일들이 일어나는지에 대해서 간단하게 살펴보려고 한다. 브라우저가 실행이 됐을 때 데이터는 메모리에 보관이 된다. 그런데 하드웨어인 메모리와 브라우저에는 어떤 연관이 있을까? 라는 질문이 꼬리를 물고 물어 드디어 CS 공부의 필요성이나 브라우.. 2023. 5. 26.
728x90
반응형