이번에 혼공학습단 12기를 신청했어요.
이 스터디를 신청하면서 선택한 책은 혼자 공부하는 컴퓨터 구조+운영체제에요.
12기 활동 기간은 이렇게 돼요.
- 1주차: 7월 1일 ~ 7월 7일
- 2주차: 7월 8일 ~ 7월 14일
- 3주차: 7월 15일 ~ 7월 21일
- 4주차: 7월 22일 ~ 7월 28일
- 🍀여름 방학: 7월 29일 ~ 8월 4일🍀
- 5주차: 8월 5일 ~ 8월 11일
- 6주차: 8월 12일 ~ 8월 18일
- 회고 타임
그래서 매주 1번씩은 혼공컴운이라는 제목으로 글을 쓸 예정이에요! 혼공학습단은 한빛출판네트워크에서 진행하는데 굉장히 좋은 아이디어 같아요. 운영하면서 노하우가 쌓이다 보면 트레바리처럼 커질 수 있지 않을까 싶어요.
최소한 읽어야 하는 일정과 숙제들은 아래 표로 만들어져 있었어요.
# | 진도 | 기본 숙제(필수) | 추가 숙제(선택) |
---|---|---|---|
1주차 (7/1 ~ 7/7) | Chapter 01 ~ 03 | p. 51의 확인 문제 3번, p. 65의 확인 문제 3번 풀고 인증하기 | p. 100의 스택과 큐의 개념을 정리하기 |
2주차 (7/8 ~ 7/14) | Chapter 04 ~ 05 | p. 125의 확인 문제 2번, p. 155의 확인 문제 4번 풀고 인증하기 | Ch.05(05-1) 코어와 스레드, 멀티 코어와 멀티 스레드의 개념을 정리하기 |
3주차 (7/15 ~ 7/21) | Chapter 06 ~ 08 | p. 185의 확인 문제 3번, p. 205의 확인 문제 1번 풀고 인증하기 | Ch.07(07-2) RAID의 정의와 종류를 간단히 정리해 보기 |
4주차 (7/22 ~ 7/28) | Chapter 09 ~ 11 | p. 304의 확인 문제 1번 풀고 인증하기 | Ch.11(11-2) 준비 큐에 A,B,C,D 순으로 삽입되었다고 가정했을 때, 선입 선처리 스케줄링 알고리즘을 적용하면 어떤 프로세스 순서대로 CPU를 할당받는지 풀어보기 |
5주차 (8/5 ~ 8/11) | Chapter 12 ~ 13 | p. 363의 확인 문제 1번 풀고 인증하기 | Ch.12(12-1) 임계 구역, 상호 배제 개념을 정리하기 |
6주차 (8/12 ~ 8/18) | Chapter 14 ~ 15 | p. 400의 확인 문제 1번 풀고 인증하기 | Ch.14(14-3) 프로세스가 사용할 수 있는 프레임이 3개 있고, 페이지 참조열이 '2313523423' 일 때 LRU 페이지 교체 알고리즘으로 이 페이지를 참조한다면 몇 번의 페이지 폴트가 발생하는지 풀어보기 |
여름방학(7/29 ~ 8/4)도 있어요. 🍀럭키비키 즐거운 여름방학이잔앙🍀
추가 학습자료들도 있어요.
- 🙋♂️Q&A: 강민철 저자님의 GitHub
- 💻유튜브 강의: 👉전체 강의 목록
아무튼 8월까지 열심히 읽어볼게요!
1주차#
C01#
컴퓨터 구조를 이해하면 컴퓨터와 관련된 문제 해결 능력이 향상돼요.
컴퓨터 구조를 이해하면 프로그래밍 문법만으로 알기 어려운 성능/용량/비용을 고려하며 개발할 수 있어요.
컴퓨터가 이해하는 정보로는 데이터와 명령어가 있어요.
메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이에요.
CPU는 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품이에요.
보조기억장치는 전원이 꺼져도 보관할 프로그램을 저장하는 부품이에요.
입출력장치는 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품이에요.
시스템 버스는 컴퓨터의 네가지 핵심 부품들(메모리, CPU, 보조기억장치, 입출력장치)이 서로 정보를 주고받는 통로예요.
C02#
비트는 0과 1로 표현할 수 있는 가장 작은 정보 단위예요.
바이트, 킬로바이트, 메가바이트, 기가바이트, 테라바이트는 비트보다 더 큰 정보 단위예요.
이진법은 1을 넘어가는 시점에 자리 올림을 하여 0과 1만으로 수를 표현하는 방법이에요.
이진법에서 음수는 2의 보수로 표현할 수 있어요.
십육진법은 15를 넘어가는 시점에 자리 올림하여 수를 표현하는 방법이에요.
문자 집합은 컴퓨터가 인식할 수 있는 문자의 모음으로, 문자 집합에 속한 문자를 인코딩하여 0과 1로 표현할 수 있어요.
아스키 문자 집합에 0부터 127까지의 수가 할당되어 아스키 코드로 인코딩돼요.
EUC-KR은 한글을 2바이트 크기로 인코딩할 수 있는 완성형 인코딩 방식이에요.
유니코드는 여러 나라의 문자들을 광범위하게 표현할 수 있는 통일된 문자 집합이며, UTF-8, UTF-16, UTF-32는 유니코드 문자의 인코딩 방식이에요.
C03#
고급 언어는 사람이 이해하고 작성하기 쉽게 만들어진 언어예요.
저급 언어는 컴퓨터가 직접 이해하고 실행할 수 있는 언어예요.
저급 언어는 0과 1로 이루어진 명령어로 구성된 기계어와 기계어를 사람이 읽기 편한 형태로 번역한 어셈블리어가 있어요.
컴파일 언어는 컴파일러에 의해 소스 코드 전체가 저급 언어로 변환되어 실행되는 언어예요.
인터프리터 언어는 인터프리터에 의해 소스 코드가 한 줄씩 저급 언어로 변환되어 실행되는 언어예요.
명령어는 연산 코드와 오퍼랜드로 구성돼요.
연산 코드는 명령어가 수행할 연산을 의미해요.
오퍼랜드는 연산에 사용할 데이터 또는 연산에 사용할 데이터가 저장된 위치를 의미해요.
주소 지정 방식은 연산에 사용할 데이터 위치를 찾는 방법이에요.
숙제#
p. 51의 확인 문제 3번(필수)#
3.다음 설명의 빈칸에 들어갈 알맞은 내용을 써 보세요.
프로그램이 실행되려면 반드시 ()에 저장되어 있어야 합니다.
정답: 메모리
p. 65의 확인 문제 3번(필수)#
3.1101(2)의 음수를 2의 보수 표현법으로 구해 보세요.
모든 0과 1 뒤집기: 0010(2)
1 더하기: 0011(2)
1101(2)을 음수로 표현한 값은 ()입니다.
정답: 0011(2)
p. 100의 스택과 큐의 개념 정리(선택)#
스택이란 한쪽 끝이 막혀 있는 통과 같은 저장 공간이에요. 나중에 저장한 데이터를 가장 먼저 빼내는 데이터 관리 방식이에요. LIFO(Last In First Out) 자료 구조예요.
큐는 양쪽이 뚫려 있는 통과 같은 저장 공간이에요. 가장 먼저 저장된 데이터부터 빼내는 데이터 관리 방식이에요. FIFO(First In First Out) 자료 구조예요.
Mediocrity knows nothing higher than itself, but talent instantly recognizes genius.
— Arthur Conan Doyle