brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 03. 2024

(책) 컴퓨터 밑바닥의 비밀-2024

중급, 고급 개발자가 되기 위해 봐야 하는 책.

백엔드 개발가 보면 좋은 책

풀스택 개발자가 되기 위해 봐야 하는 책.

개발 능력자가 되는데 큰 도움이 되는 책이다.

길벗에서 책을  제공받아 작성된 서평입니다.



이 책을 통해 배울 수 있는 것.

코드가 동작하는 게 어떻게 움직이는지 알려준다.

코드가 실행될 때 서버에서 저수준 계측에서는 어떤 일이 일어나는지 알려준다.




<1> 정적 라이브러리, 동적 라이브러리, 실행 파일에 대해 알려준다.

<2> 프로그램 실행 시 운영체제, 프로세스, 스레드의 기본을 알려준다.

<3> 메모리의 본질, 포인터와 참조, 프로세스와 메모리를 알려준다.

<4> CPU 동작에 대해 알려준다.

<5> 캐시에 대해 알려준다.

<6> CPU 입출력에 대해 알려준다.

<7> 개인 요약




<1> 정적 라이브러리, 동적 라이브러리, 실행 파일에 대해 알려준다.


정적 라이브러리 생성, 정적 링크와 실행 파일 생성에 대해 그림으로 알려준다.

모든 설명이 그림으로 하나씩 잘 알려준다.





<2> 프로그램 실행 시 운영체제, 프로세스, 스레드의 기본을 알려준다.



1

모든 것은 CPU에서 시작한다.

cpu는 다음 2가지만 알고 있다.

cpu는 메모리에서 명령어를 하나 가져온다.

cpu는 이 명령어를 실행한 후 다시 다음 명령어를 가져온다.



2

프로세스는 매우 훌륭하기만, 아직 불편하다.


3

프로세스에서 스레드로 진화.


4

스레드 풀의 동작방식.

스레드 풀의 개념은 , 단지 스레드 여러 개를 미리 생성해 두고, 스레드가 처리할 작업이 생기면 해당 스레드에 처리를 요청하는 것이다.


5

스레드 풀의 스레드 수

스레드 풀의 스레드 수는 몇 개여야 할까요?

스레드 풀의 스레드 수가 너무 적다면 CPU를 최대한 활용할 수 없으며,

너무 많은 스레드를 생성하면 반대로 시스템의 성능저하, 메모리의 과다한 점유, 스레드 전환으로 생기는 문제가 발생한다.


6

스레드 안전 코드는 어떻게 작성해야 할까?


7

콜백 함수를 철저하게 이해한다.


8

웹서버에서 동기와 비동기 작업.


9

높은 동시성과 고성능을 갖춘 서버 구현.


10

다중 프로세스.

병행 처리 방식의 일종.

다중 프로세스 장점과 단점?



11

컨테이너와 가상 머신 기술.

프로그램이 구성, 라이브러리처럼 프로그램이 의존하는 실행 환경과 함께 묶인 것을 컨테이너(container)라고 합니다.





<3> 메모리의 본질, 포인터와 참조, 프로세스와 메모리를 알려준다.



1

메모리 할당하기.


2

왜 SSD는 메모리로 사용할 수 없을까?

SSD는 조각 단위로 데이터를 관리하며, 이 조각의 크기는 매우 다양하다.

cpu가 파일 특정 바이트에 직접 접근할 수 있는 방법이 없다는 것이다. = 바이트 단위 주소 지정이 되지 않는다.





<4> CPU 동작에 대해 알려준다.



1

CPU가 if 문을 만났을 때?


2

CPU 코어수와 스레드 수 사이의 관계는 무엇일까?




<5> 캐시에 대해 알려준다.


1

cpu와 메모리의 속도차이.


2

캐시 갱신에 대해.


3

어떻게 캐시 친화적인 프로그램을 작성할까?


4

메모리 풀 사용.




<6> CPU 입출력에 대해 알려준다.



1

CPU는 어떻게 입출력 작업을 처리할까?


2

디스크가 입출력 처리할 때 CPU가 하는 일은 무엇일까?


3

파일을 읽을 때 프로그램에는 어떤 일이 발생할까?


4

높은 동시성의 비결 : 입출력 다중화


5

큰 파일 처리.


6

컴퓨터 시스템의 각 부분에서 얼마큼 지연이 일어날까?




<7> 개인 요약



정적 라이브러리, 동적 라이브러리, 실행 파일에 대해 알려준다.

프로그램 실행 시 운영체제, 프로세스, 스레드의 기본을 알려준다.

메모리의 본질, 포인터와 참조, 프로세스와 메모리를 알려준다.

CPU 동작에 대해 알려준다.

캐시에 대해 알려준다.

CPU 입출력에 대해 알려준다.



중급, 고급 개발자가 되기 위해 봐야 하는 책.


남들과 다른 차별성으로 능력자가 되어 보자~




같이 보면 좋을 책

https://brunch.co.kr/@topasvga/3415



감사합니다.


매거진의 이전글 (책후기) Do it! 조코딩의 첫 웹 개발조코딩
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari