Scientia Conditorium

[혼공단] 혼자 공부하는 컴퓨터 구조+운영체제 / 혼공단 9기 - 1주차 본문

서평/IT-책

[혼공단] 혼자 공부하는 컴퓨터 구조+운영체제 / 혼공단 9기 - 1주차

크썸 2023. 1. 7. 05:06

[기본 미션]  p.51의 확인 문제 3번, p.65의 확인 문제 3번 풀고 인증하기

1. 프로그램이 실행되려면 반드시 '메모리'에 저장되어 있어야 합니다.

이 문장이 중요한 이유는 운영체제와 연관되어서 그렇습니다. 흔히들 사용하고 있는 Window 윈도우 운영체제 역시 프로그램의 하나 입니다. 따라서 컴퓨터 전원 버튼을 누르면 가장 먼저 운영체제 프로그램이 메모리에 적재됩니다. 책 261쪽을 보면 '운영체제는 매우 특별한 프로그램이기 때문에 항상 컴퓨터가 부팅될 때 메모리 내 커널 영역(Kernel space)이라는 공간에 따로 적재되어 실행됩니다' 라고 서술되어있습니다.

물론 세부적으로는 BIOS → 부트로드 → 커널영역 → 초기화 프로세스 순서로 동작합니다.

 

2. 2의 보수는 현재 부호있는 정수를 표현하는 가장 흔한 방법입니다.

가장 쉬운 방법은 책에 설명된 모든 0과 1을 뒤집고 1을 더하는 것입니다. 또 다른 방법으로는 n 자릿수를 가진 이진수 N의 보수는 2^n - N 을 이용하는 것 입니다.

가령 1001 0101(2)의 2의 보수를 구한다면 2^n = 2^8 = 1 0000 0000(2) 이므로

1 0000 0000(2) - 1001 0101(2) = 0110 1011(2) 가 됩니다.

2의 보수는 오늘날 음수를 표현할 때 가장 많이 쓰는 방법입니다. 이 방법은 많은 프로그래밍 언어나 CPU에서 자체적으로 지원해주고 있습니다. 

 

[선택 미션] p.100의 스택과 큐의 개념을 정리하기

스택(Stack) : 나중에 저장한 데이터를 가장 먼저 빼내는 데이터 관리 방식(Last In First Out, LIFO)이 적용된 자료구조

큐(queue) : 가장 먼저 저장된 데이터부터 빼내는 데이터 관리 방식(First In First Out, FIFO)이 적용된 자료구조

 

보통은 이런 자료구조를 어디에 활용하는지를 고민 많이하게 됩니다.

스택은 인터넷 창의 뒤로가기를 생각하시면 편합니다. 가장 나중에 열린 페이지부터 뒤로 가기를 실행하게 됩니다. 혹은 문서작업이나 코드 작성할 때, Ctrl+Z 키를 입력하면 가장 마지막에 작업한 내역부터 되돌리기를 합니다. 이런 부분들에서 스택이 유용하게 활용됩니다.

 

큐의 가장 대표적은 예시로 많이 드는 것이 매표소입니다.

가령 스타크래프 같은 게임에서 유닛을 생성할 때를 생각해보시면 되겠습니다.

출처 ; https://sc2.inven.co.kr/dataninfo/guide/?idx=1757

위 이미지는 스타크래프트2의 유닛 생산에 관한 설명입니다. 오른쪽 하단에 보이는 것이 건물에서 생산할 수 있는 유닛들이고 가운데 건설 중이라고 표시된 부분이 유닛 생산하고 있다는 것을 보여줍니다. 사용자가 어떤 유닛을 생산할 것인지 순차적으로 누르면 그 순서에 맞게 유닛을 생산하도록 되어있습니다. 이런 부분에서 큐 자료구조를 활용하게 됩니다.