C/[서적] 뇌를 자극하는 윈도우즈 시프21 Chapter 17. 구조적 예외처리(Structured Exception Handling) 17.1 SEH(Structured Exception Handling) Prologue) 우리의 컴퓨터 시스템에서 발생하는 예외라는 것이 어떤 방식으로 발생하고 처리되는가. 컴퓨터 시스템은 CPU + OS + APP으로 구성됨. - 내부 외부를 나누는 기준은 CPU + OS를 내부, APP을 외부로 나누기도 함. - 또는 CPU를 하드웨어, OS와 APP을 소프트웨어로 나눔. CPU로는 명령어들이 하나씩 순차적으로 FDE됨. 이 명령어는 경우에따라 OS일수도, APP일수도있음. 다만 CPU는 이를 구분하진 못함. 전달되어진 명령어를 연산할 뿐임. OS인지 APP인지 관심없음. 다만 CPU를 디자인할때, CPU의 연산 방법은 정해져 있음. ex. 4byte 피연산자 나누기 1byte 피연산자는 불가능. C.. 2022. 2. 13. Chapter 16. 컴퓨터 구조에 대한 네 번째 이야기 16.1 메모리 계층(Memory Hierarchy) 16.1-1 메모리 계층 구조 Note) 하드 디스크와 메인 메모리를 같은 관점으로 봐야함. - 하드 디스크에는 저장이라는 기능이 있음. 즉 비휘발성 메모리. 파워를 꺼도 날아가지 않음. 그리고 실행의 기능도 있음. 그러나 메모리는 저장 기능은 없고 실행의 기능만 있음. - 익히들 하드디스크를 배울 때는 저장 관점으로, 메모리를 배울 때는 실행 관점으로 배움. 그러나 이 챕터에서만큼은 둘 다 실행의 관점. 즉, 메모리 매니지먼트는 실행의 관점에서 배우는 파트. 저장은 File system 파트. 이 파트를 배울때는 저장의 관점에 너무 매몰되면 안됨. 그렇다고 저장 관점이 아에 필요없진 않음. Note) 메모리 계층 구조의 필요성 - 컴퓨터를 직접 만든.. 2022. 2. 13. Chapter 15. 쓰레드 풀링 15.1 쓰레드 풀에 대한 이해 Prologue) 책의 Part4는 윤성우 저자가 실무적인 부분을 집중적으로 집필한 부분. 그리고 집필 당시, 가장 먼저 집필한 파트. 내용도 프로그램의 성능과 성격을 결정짓는 Memory Management, I/O에 대한 내용이 들어있어서 꽤나 중요한 파트. 15.1-1 쓰레드 풀이란 Note) 쓰레드 풀은 대표적인 FrameWork. - 쓰레드 풀은 제공되는 API를 이용해서 작성하면 쉽게 구현할 수 있음. 그래서 막상 구현해보라 하면 뭔진 아는데 구현을 못함. - FrameWork로 제공이 되지만, 직접 구현해 봄으로써 쓰레드 관련 내용인 동기화 기법들이 하나의 모델로 활용이 됨. 그래서 종합적인 점검의 느낌. Note) 쓰레드 풀이 왜 필요할까? - 쓰레드라 생각.. 2022. 2. 13. Chapter 14. 쓰레드 동기화 기법2 - 실행 순서 동기화 14.1 실행 순서 동기화 기법 14.1-1 생산자-소비자 모델 Note) 왜 하필 순서를 동기화하는가? 이게 중요함. 이거에 대해 얘기 해보자. 생산자-소비자 모델은 사실 I/O 모델임. 다른 관점에서는 쓰레드 모델이다.라고도 함. 사실 I/O 모델을 구현하기 위해서 쓰레드 모델이 도입되었다고 해도 무방할 정도. - 어찌되었든 I에 해당하는 입력으로는 네트워트로 부터 들어오는 입력, 콘솔 입력, ... etc 입력된 데이터를 출력 혹은 가공해서 내가 원하는 데로 이용하는 모델이 있다고 가정 해보자. - 이럴 경우에 우리는 보통 쓰레드 모델을 바로 도입 시키기 보단 단순하게 구현함. 일단 입력이 먼저 진행되고 그다음 출력이 진행됨. 즉, 번갈아 가며 입력/출력하면 되는 것. 그냥 While loop로 구.. 2022. 2. 10. 이전 1 2 3 4 5 6 다음