모드에 대한 이해 - 3
보호 모드 앞서 포스팅한 내용에 따르면 보호 모드의 특성은 아래와 같다. 윈도우나 Linux가 구동되는 기본 모드이다. 멀티태스킹, 세그멘테이션, 페이징을 지원한다. 디바이스 드라이버를 써야 장치 제어가 가능하다. 4GB의 메모리 제한이 있다. (2^32) 민감한 메모리 영역에 대한 보호를 제공한다. 이러한 특성을 하나하나 ...
보호 모드 앞서 포스팅한 내용에 따르면 보호 모드의 특성은 아래와 같다. 윈도우나 Linux가 구동되는 기본 모드이다. 멀티태스킹, 세그멘테이션, 페이징을 지원한다. 디바이스 드라이버를 써야 장치 제어가 가능하다. 4GB의 메모리 제한이 있다. (2^32) 민감한 메모리 영역에 대한 보호를 제공한다. 이러한 특성을 하나하나 ...
리얼 모드(Real mode) 앞서 포스팅한 내용에 따르면 리얼 모드의 특성은 아래와 같다. 16bit 프로세서와 동일하게 사용되며 BIOS의 여러 기능을 사용가능하다. 페이징을 지원하지 않는다. 640KB 메모리 제한이 있다 (실 사용 가능한 메모리 기준) 디바이스 드라이버 없이 장치 제어가 가능하다. 이러한 특성을 하나하나 ...
부트 로더에 대한 설명 이전에 각 모드에 대해서 설명을 하고 들어가야 보는 과정에서 이해가 될 것 같아서 이후에 포스팅을 추가한다. 1. 리얼 모드 16bit 프로세서와 동일하게 사용되며 BIOS의 여러 기능을 사용가능하다. 디바이스 드라이버 없이 장치 제어가 가능하다. 페이징을 지원하지 않는다. 640KB 메모리 제한이 있다 (실 ...
앞으로 부트로더에 대한 설명을 이어갈 것인데, 사실 부트로더에 대한 설명을 쓰다가 빌드 툴에 대한 안내가 있어야할 것 같아서 먼저 작성해 둔다. 코드 빌드 법 참고 문헌에 명시된 “64Bit 멀티코어 OS의 구조”책에서는 nasm과 cygwin을 사용한다. 윈도우 개발자를 배려한 것인데 사실 cygwin 설정법이 무지막지하게 귀찮다. 그래서 나는 ...
레지스터 - 2 실수 계산용 레지스터 범용 레지스터는 일반적으로 정수 계산이나 주소계산을 위해 사용되기에 실수계산은 메모리의 스택을 이용하거나 아래의 레지스터를 사용한다. 1. FPU 레지스터 R0 ~ R7라는 이름의 부동 소수점 데이터 레지스터가 있다(각각 80bit) 컨트롤 레지스터, 상태 레지스터, 태그 레지스터가 있다(각각 16bi...
레지스터 - 1 사실 CPU를 설명할 때 설명해야 하는데 너무 분량이 많아질 것 같아서 별도의 페이지로 분리했다. 레지스터라는 것은 크게 두 가지 종류로 나눌 수 있다. 프로그램 실행을 위한 레지스터와 계산을 할 때 쓰는 레지스터와 모드나 설정을 바꾸는 등 시스템에 관련된 레지스터가 그것이다. 프로그램 실행을 위한 레지스터 프로그램 실행을 위한 레...
KEYBOARD 가장 일반적인 입력 기기이다. 예전에는 SERIAL 단자나 PS/2 방식의 포트를 사용했지만 최근에는 USB방식으로 거의 대부분 바뀌었다. 키보드는 종류가 여러개다. 가장 일반적이고 싼 멤브레인 키보드부터 비싸고 특유의 소리가 매력적인 기계식 키보드까지 그러한 키보드의 종류를 열거하자면 한도 끝도 없겠지만 주요 구조는 결국에 두 개...
SSD 1. 구조 기계적인 장치로 데이터를 읽고 쓰게 만들어진게 HDD라면 SSD는 전기적인 장치로 데이터를 읽고 쓰게 만들어졌다. SSD의 구조는 아래와 같다. 출처 : https://codecapsule.com/wp-content/uploads/2014/02/ssd-architecture.jpg 사용자의 요청이 Host Interface...
HDD는 Hard Disk Drive의 약자이고 SSD는 Solid State Drive의 약자이다. 최근에는 개인용 PC의 경우 SSD를 많이 쓰고, 좀 더 진보된 형태인 M.2도 많이 쓰지만 HDD 역시 삭제시 데이터 복구의 용이성이나 저렴한 가격으로 인해 별도의 수요가 있다. 때문에 둘 다 보조 기억장치로 쓰이며 각각의 구조는 아래와 같다. H...
※ 하드웨어 포스팅들은 하드웨어 카테고리로 항목을 옮겼다. 하드웨어 카테고리 자체가 커질 예정이기 때문이다. 컴퓨터 OS를 이야기하기에 앞서서 주요 하드웨어에 대해서 알아볼까 한다. 사실 컴퓨터의 하드웨어에 대해서 깊게 이야기하면 진짜 한도 끝도 없는게 이쪽이라 OS를 다루는 부분에서 필요한 부분을 중점적으로 다룰까 한다. CPU 일반적...