전체 글 16

마무리 하며

또 이렇게 혼공단 14기가 끝났다! 이번에도 역시 주간마다 딱 공부해야 할 양을 미리 정해줘서꾸준히 공부하기가 편했던 것 같다. 남이 객관적이고 합리적인 양으로 대신 계획을 세워준 느낌이다. 또한 저번 13기에서도 했던 말이지만공부한 것을 기록으로 남기는 것 자체가 학습에 동기부여가 된다고 생각한다. 6주차까지 완주한 것을 자축하며!

[혼공컴운] 6주차_운영체제 끝!

Chapter 14. 가상 메모리14-1 연속 메모리 할당스와핑: 현재 실행되지 않는 프로세스들을 임시로 보조기억장치 일부 영역으로 쫒아내고, 그렇게 해서 생긴 메모리상의 빈 공간에 또 다른 프로세스들을 적재하여 실행하는 방식스왑 영역: 프로세스들이 쫓겨나는 보조기억장치의 일부 영역스왑 아웃: 현재 실행되지 않는 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것스왑 인: 반대로 스왑 영역에 있는 프로세스가 다시 메모리로 옮겨오는 것메모리 할당: 비어 있는 메모리 공간에 프로세스를 연속적으로 할당하는 방식최초 적합: 빈 공간을 순서대로 검색하다가 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방식, 빠른 할당 가능최적 적합: 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스를 배치하는 방..

[혼공컴운] 5주차_프로세스 동기화와 교착 상태

Chapter 12. 프로세스 동기화12-1 동기화란프로세스 동기화: 프로세스들 사이의 수행 시기를 맞추는 것실행 순서 제어: 프로세스를 올바른 순서대로 실행하기상호 배제: 동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하기생산자와 소비자 문제: 생산자 프로세스와 소비자 프로세스가 제대로 동기화되지 않아 작업 순사가 꼬였다 → 동시에 접근해서는 안 되는 자원에 동시에 접근했기에 발생한 문제공유 자원: 전역 변수, 파일, 입출력장치 등, 공동의 자원임계 구역: 동시에 실행하면 문제가 발생하는 자원에 접근하는 코드 영역, 두 개 이상의 프로세스가 동시에 실행되면 안 되는 영역레이스 컨디션: 잘못된 실행으로 여러 프로세스가 동시 다발적으로 임계 구역의 코드를 실행하여 문제 발생운영체제는 임계 구역..

[혼공컴운] 4주차_운영체제의 시작

Chapter 09. 운영체제 시작하기9-1 운영체제를 알아야 하는 이유커널 영역: 운영체제는 특별한 프로그램이기 때문에 부팅 시 메모리 내에 커널 영역에 따로 적재됨사용자 영역: 커널 영억을 제외한 나머지 영역, 사용자가 이용하는 응용 프로그램운영체제는 실행할 프로그램을 메모리에 적재하고, 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리함최대한 공정하게 여러 프로그램에 CPU 자원을 할당함운영체제에 대한 지식을 통해 하드웨어와 프로그램을 더 깊이 이해하고 문제 해결의 실마리를 찾을 수 있다9-2 운영체제의 큰 그림커널: 운영체제의 핵심 서비스를 담당함사용자 인터페이스: 사용자가 컴퓨터와 상호작용할 수 있는 통로그래픽 유저 인터페이스: 그래픽 기반 상호작용커맨드 라인 ..

[혼공컴운] 3주차_RAM, 보조기억장치, 입출력장치

Chapter 06. 메모리와 캐시 메모리6-1 RAM의 특징과 종류휘발성 저장 장치(RAM) / 비휘발성 저장 장치(SSD, USB, CD-ROM)RAM 용량이 크면, 보조기억장치에서 많은 데이터를 가져와 미리 RAM에 저장할 수 있다. 많은 프로그램을 동시에 실행하는 데 유리해진다. DRAM: 데이터가 동적으로 변하고 사라진다. 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화해야 한다. 소비 전력이 비교적 낮고, 저렴하고, 집적도가 높기 때문에 대용량으로 설계하기에 용이하기에 일반적으로 사용한다. SRAM: 저장된 데이터가 변하지 않는다. 일반적으로 속도도 더 빠르다. 그러나 집적도가 낮고, 소비 전력도 크며, 가격도 더 비싸기 때문에 ‘대용량으로 만들어질 필요는 없지만 속도가 빨라야 하는 ..

[혼공컴운] 2주차_CPU에 대하여...

Chapter 4. CPU의 작동 원리4-1 ALU와 제어장치ALU: 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들임ALU가 내보내는 정보: CPU가 메모리에 접근 하는 속도보다 레지스터에 졉근하는 속도가 더 빠르다. 이에 따라 ALU의 결괏값을 메모리가 아닌 레지스터에 우선 저장한다.플래그: 연산 결과에 대한 추가적인 정보를 내보내야 할 때 플래그를 내보낸다. (부호/제로/캐리/오버플로우/인터럽트/슈퍼바이저 등)오버플로우: 연산 결과가 연산 결과를 담을 레지스터보다 큰 상황플래그들은 플래그 레지스터에 저장된다.제어장치: 제어 신호를 내보내고, 명령어를 해석하는 부품제어 신호: 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호제어장치는 클럭 신호..

[혼공컴운] 1주차_시작이닷!!

Chapter 01 컴퓨터 구조 시작하기컴퓨터 구조를 이해하면 문법 만으로는 알기 어려운성능/용량/비용을 고려하며 개발할 수 있다. 컴퓨터가 이해하는 정보:데이터, 명령어컴퓨터의 4가지 핵심 부품:중앙처리장치(CPU) → 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고, 실행하는 부품산술논리연산장치(ALU): 컴퓨터 내부에서 수행되는 계산레지스터: 작은 임시 저장 장치제어장치: 제어 신호를 내보내고 명령어를 해석하는 장치 (저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기라는 제어 신호를 보냄)주기억장치(메모리) → 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품보조기억장치 → 전원이 꺼져도 저장된 내용을 잃지 않는 메모리입출력장치 → 컴퓨터 외부에 연결되어 컴퓨터 내부와..

[게임 개발 로그] 첫 시작

울 동네에는 정말 귀여운 길고양이가 산다. 원래 길냥이에 대해..별 생각이 없었으나 밤낮이고 역을 지나갈 때마다 역을 지키며 서 있는이 녀석과 자꾸 마주치고, 그러다 보니 정이 들어서, 밥을 몇 번씩 주다보니 점점 이 녀석의 매력에 빠져 들어갔다..    마음 같아서는 이 녀석을 당장 우리 집 고양이로 만들어 주고 싶다. 그러나 나는 경제 능력이 0인 한심 대학생..(ㅜㅜ)    내가 할 수 있는 일 이라고는예전에 덕질하던 경험을 살려 이 녀석의 엽서, 달력, 키링, 포스터 등등여러가지 물품을 제작하는 것이었다.     평소 나는 게임을 즐겨하는데,  어느 날 문득 이 녀석과 나의 이야기로게임을 만들어 보고 싶다는 생각이 들었따!  평소에 게임을 만들어 보는 것이 재밌을 것 같다고 생각 했던 것과이 녀석..

마무리 하며

혼공단 13기 완주! ㅊㅋㅊㅋ~~     개인적으로 좋았던 점은,일단 무조건 혼자 공부하는 것보다 강제성이 있다는 점 이었다. 그리고 기본 숙제가 힘들지 않고, 책을 펴 보기라도 했다면 쉽게 할 수 있는 활동들 이었다.자신이 추가적으로 더 공부가 하고 싶다면 할 수 있는 추가 숙제도 있다는 점 또한 좋았다.  자신이 공부한 기록을 남겨두는 것 또한 뿌듯한 일이었다.공부를 하는 데에 작은 동기부여가 되어 주었다! 또 나는 피드백이라던가, 아무튼 내가 한 것에 대해 반응을 얻는 것이 좋기 때문에 (관종...)매일 혼공족장님이 코멘트 남겨주시는 것을 보는 것도 소소한 재미였다!   다음에도 기회가 된다면 또 참여하고 싶다...

[혼공머신] 6주차_딥러닝

혼자 공부하는 머신러닝+딥러닝        숙제  어떤 인공 신경망의 입력 특성이 100개이고 밀집층에 있는 뉴런 개수가 10개일 때 필요한 모델 파라미터의 개수는 몇 개인가요? ① 1000개② 1001개③ 1010개④ 1100개  풀이:밀집층 10개 x 입력 100개 = 1000개의 가중치가 있고,뉴런마다 1개의 절편이 있으므로 1000 + 10 = 1010개 답은 ③번!        인공 신경망: 생물학적 뉴런에서 영감을 받아 만든 머신러닝 알고리즘. 신경망은 기존의 머신러닝 알고리즘으로 다루기 어려웠던 이미지, 음성, 텍스트 분야에서 뛰어난 성능을 발휘하면서 크게 주목받고 있음.텐서플로: 구글이 만든 딥러닝 라이브러리. CPU와 GPU를 사용해 인공 신경망 모델을 효율적으로 훈련하며 모델 구축과 서..