Soft Ware/Windows 구조와 원리 14

Windows 구조와 원리

커널이란 ... 시스템 내의 물리적 장치 CPU , 메모리 , 입출력 장치 논리적 자원인 파일 (프로그램 또는 자료가 보조 기억 장치에 저장된 형태) 들이 효율적으로 고유의 기능을 수행하도록 관리하고 제어 하는 부분 CPU ---> 프로그램을 구성하는 명령어를 실행 메모리 ---> 프로그램과 자료를 저장하고 , 입출력이 원활하게 수행되도록 관리 마이크로프로세서 ---> 프로그램을 실제로 실행시키는 칩, 산술, 수치 비교, 데이터 전달 주변 장치 ---> I/O 입출력 장치 , 하드 디스크 MBR(Memory Buffer Register) : 메모리로부터 불러들인 데이터 저장 MAR(Memory Address Register): MBR쪽으로 읽어들인 메모리 주소를 저장 IR(Instruct Register..

뮤텍스와 세마포어

뮤텍스란 MUTual EXclusion 으로 우리말로 해석하면 '상호 배제'라고 한다. Critical Section을 가진 Thread들의 running time이 서로 겹치지 않게, 각각 단독으로 실행되게 하는 기술이다. * Critical Section : 프로그램 상에서 동시에 실행될 경우 문제을 일으킬 수 있는 부분. 만약 어느 Thread에서 Critical Section을 실행하고 있으면 다른 Thread들은 그 Critical Section에 접근할 수 없고 앞의 Thread 가 Critical Section을 벗어나기를 기다려야 한다. 그리고 세마포어란 역시 데드락을 피하기 위한 기술 중에 하나이다. Thread 가 Critical Section에 접근할때 (또는 processer로 부터..

레지스터

31 16 15 8 8 7 7 0 EAX AH AX AL EBX BH BX BL ECX CH CX CL EDX DH DX DL EBP BP ESP SP ESI SI EDI DI AX : 어큐뮬레이터. 산술, 논리 연산의 중심이 되는 레지스터이며, Input/Output 포트의 입출력 명령 BX : 간접 번지 지정 시 번지 레지스터. 베이스 레지스터로 주로 사용 CX : 루프와 같이 어떤 명령을 반복적으로 수행하고자 할때 반복 횟수를 지정하는데 주로 사용 DX : 간접 번지 지정에 의한 입출력 명령을 실행할때 번지 지정에 사용된다. 곱셉 , 나눗셈을 할때에는 보조 어큐뮬레이터로 사용 SI , DI : 다른 범용 레지스터의 마찬가지로 연산과 간접 번지 지정에 사용된다. 그밖에 문자열의 전송이나 비교 등을 하..

세그먼트

세그먼트오프셋목적 코드 세그먼트( CS )IP수행되어질 명령어의 위치 스택 세그먼트( SS )SP 또는 BP스택 주소 참조 보조 세그먼트( ES )스트링 명령어를 위한 DI 스트링의 목적지 주소 데이터 세그먼트( DS )AX, BX , CX, DX와 같은 데이터 주소 참조 범용 레지스터와 BX, DI, SI 세그먼트 레지스터 종류와 구조 15 0 CS DS SS ES FS GS 길이는 16bit이며 세그먼트 영역의 메모리에 주소를 지정 16bit 세그먼트 시스템에서는 좌측으로 4bit 시프트를 하고 오프셋 레지스터를 시프트한 세그먼트 레지스터와 합하여 위치를 정한다. 32bit에 들어서는 세그먼트 레지스터가 32bit로 커지는 대신 FS 와 GS가 추가 되었다. 16bit를 유지한 큰 이유는 16bit에..