컴퓨터 시스템구조Computer System ArchitectureM. Morris Mano김종상 역 #1 솔루션 파일 공유합니다. (연습문제 해답) 무료 솔루션 파일을 얻으려 별의 별 시도를 하다 지쳐 유료로 결제를 하기에 이르렀습니다. 애초에 출판사에서 솔루션을 주지 않는 것 자체가 문제겠지요. 이에 솔루션을 공유합니다. /* 저처럼 정보를 찾는데 지치시거나, 유료로 결제하는 일이 없길 바라는 마음에서 공유합니다. */
* CHAPETER 3 - 32비트 모드 돌입과 C언어 도입 #1 IPL 만들기 (initial program loader, 초기 프로그램 로더) 디스크의 맨 처음 512바이트는 부트섹터이므로 (이것은 2일째 OS 실습에서 정한 부분이다.), 그 다음의 512바이트를 읽어보자. projects / 03_day의 harib00a 안에 ipl.nas 는 기존의 ipl.nas에 추가된 부분이 존재한다. /************************************************* ** day 03 ipl.nas, added part *************************************************/ // 기존의 ipl.nas에서 추가된 부분이다. ; added part MO..
* CHAPETER 2 - 어셈블러 학습과 Makefile 입문 #1 레지스터 내용 정리 *16비트 레지스터 (= 기억회로) CPU에는 레지스터라는 기억회로가 있는데, 이것은 기계어의 변수이다. 변수라는 건 데이터를 담는 공간, 그릇이라는 의미로 이해하면 된다. 대표적인 레지스터로는 다음의 8개가 있는데, 이들은 고유의 이름과 기능을 가지고 있다. AX - 어큐물레이터(accumulator: 누적 연산기라는 의미) // X의 의미는 확장(extend)의 의미다. CX - 카운터(counter: 수를 세는 기계라는 의미)DX - 데이터(data: 데이터라는 의미)BX - 베이스(base: 기초, 기점이라는 의미)SP - 스택 포인터(stack pointer: 스택용 포인터)BP - 베이스 포인터(base ..
/* 잘못된 알고리즘의 예를 접한 후, 개선된 알고리즘을 접해보자. */ 2017/06/10 - [C 언어] - : 순환을 이용한 프로그램 * 기존의 게시물 (바로 윗 줄 링크)의 순환 알고리즘 문제점 파악 및 개선 #1 최대값 최소값 구하기의 문제점 기존의 게시물의 핵심 알고리즘은 이렇다. findMax() 함수와 findMin() 함수가 재귀적으로 정의되어 있다. 매개변수로 배열과 배열의 크기(n)을 받는다. 둘 중 더 큰 값을 반환하는 macro MAX와 MIN을 활용하여 순환적으로 비교를 하며 가장 큰 값을 찾아간다. 이 코드의 문제점을 파악할 수 있겠는가? 순환적인 개념을 아주 충실히 반영 했지만 이 코드는 아주 비효율적이다. /*************************************..
* Java Virtual Machine (JVM) /* 포스팅에 있는 거의 대부분의 내용은 자바의 정석 3rd Edition을 참조했습니다. */ #1 개요 JVM은 자바번역기라고도 불리는데, 자바 바이트 코드와 컴퓨터의 운영 시스템 간에 번역기 역할을 하여 자바로 작성된 응용 프로그램을 윈도우나 매킨토시, 유닉스 등에서 사용할 수 있도록 해주는 소프트 웨어를 말한다. (출처: 지형 공간정보체계 용어사전) 자바 버츄얼 머신은 내가 아직 잘 모를 뿐더러, 내용도 방대하기 때문에 자세하게 다루는 글은 다소 무리가 있다. 따라서 일단은, 용어 사전에 나오는 대로 받아들이는 것이 좀 더 적합하다고 생각한다. #2 메모리 구조 응용프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를..
* 현재 공부 진행 현황 및 교재와 강의에 대한 중간 평가 /* 교재에 대한 링크도 함께 첨부되어 있습니다. */ #1 공부 현황 및 교재 장점 전과 후 첫 학기가 폭풍처럼 지나가고 고요한 방학이 찾아왔다. 고요하지만, 상당히 깊은 바다 한 가운데 서 있는 것만 같다. 조금이라도 공부를 안 하면 실력과 감이 크게 떨어질 것이 분명하기 때문이다. 첫 학기였지만 21학점을 수강하고 평점 4.35로 마무리 했다는 뿌듯함을 잠시 뒤로하고 다시 공부를 시작한다. 현재 운영체제, 컴퓨터 구조도 따로 공부하고 있는 상태에서 Java 또한 공부하고 있다. 2학기 때 Java를 주구장창 다룰 예정이기에 미리 해두지 않으면 안된다는 판단에서다. 또한 개발자로서 이 언어는 필수라고 판단하여 공부를 시작하게 됐다. 남궁성 저..
* CHAPETER 1 - PC 구조부터 어셈블리 입문까지 #1 학습할 때 난점과 해결 38페이지를 펴 보면, 첫 번째 챕터가 시작하는데 이 때부터가 난관이었다. 먼저, 필자가 말하는 바이너리 편집기 다운로드 사이트는 일본어로 된 사이트였다는 점이 첫 번째 난점. 책의 저자가 일본인이었다는 걸 그 때 알았다. 이건 번역되어 출판된 것이라는 걸... 모쪼록 구글링을 통해 책에 등장하는 바이너리 에디터 (Bz162.lzh)를 얻을 수 있었다. 바로 밑에 첨부자료로 첨부해놨으니 학습자분들은 별도의 구글링이 필요 없이 가져가시면 좋을 거 같다. 이제 바이너리편집기를 통해 저자가 말한 대로 하나 하나 타이핑을 하면 되는데, 이 때 주의할 점은 바이너리 편집기의 중앙 부분이 -(대쉬) 처리 된다는 점이다. 주인장은..
* OS 공부를 시작하다 #1 책 선정 이유 본래 Geek OS에 관심이 있어 찾아봤지만, 생각보다 관련 자료가 많지 않았다. Geek OS에 관심이 갔던 이유는, 상당히 괜찮은 교육용 OS로 평가되어 있기 때문이었다. 직접 사용해보진 않았지만, 이걸 이용하는 학습생은 직접 OS를 만들어가며 그 원리를 깨우친다고 한다. 하지만, Geek OS 관련 자료는 정말 적었다. 정확히 말하면, 한글로 된 자료들 말이다. 어려운 내용의 과목이기에 한국어로 된 자료들을 찾아보려 했으나 거의 없었다. 대학에서 강의하는 내용의 피피티가 있긴 했지만, 말 그대로 강의를 위한 피피티 였기에, 초심자가 혼자 공부하기에 적절치 않다고 판단했다. 따라서 한국어로 기술되어 있으며, 직접 만들면서 배우는 OS학습서가 필요하다고 판단..
* 기존의 부족한 답안을 보완하여 완벽한 답안을 만들어 봤습니다. /* 첨부 자료는 맨 아래 첨부되어 있습니다. */ #1 빠져 있던 부분 보완 황기태 교수가 진행하는 객체지향언어 기말고사를 준비하며 부족한 답안을 나름대로 보충했다. 중간 중간 중요한 문제의 답이 비어 있어 답답했지만, 직접 컴파일 하며 빠져 있는 답안을 보완했다. 주인장이 직접 컴파일하며 제작한 답안이라 믿고 써도 된다. (혹시나 잘못된 답안이 있으면 수정해주시거나, 수정 요청 해주시면 검토 후 바로 보완하겠습니다.)
* 한 학기 동안의 C++ 수업을 종강하면서, 그 동안 과제로 풀었던 연습문제들의 풀이 소스코드 모음집 /* 첨부 자료는 맨 아래 첨부되어 있습니다. */ #1 사용 전 주의사항 블로그 주인장이 직접 작성한 본 코드는 모범답안이라 할 수 없습니다. 첨부파일로 올려 놓은 압축 자료를 보시면, professor ver. 라고 되어 있는 부분 조차 모범답안이라 할 수 없습니다. 교수님과 함께 수업시간에 공부하며 만든 코드는 맞지만, 수업 시간 내에 하다 보니 완벽한 소스라고 하기엔 부족한 점이 많습니다. 교재에 수록되어 있는 모든 실습문제에 대한 소스코드가 있는 것은 아니며, 주인장 본인이 한 학기 동안 수행한 과제 소스코드들에 대해서만 업로드를 한 것입니다. 10점 만점 중 약 7점 정도 받은 코드들이라고 ..
- Total
- Today
- Yesterday