본문 바로가기
수업/시스템네트워크보안

[시스템네트워크보안] 기말고사정리 (시스템에 대한 이해1)

by graygreat 2017. 12. 19.
728x90
반응형


80 x 86 시스템 CPU와 레지스터



80 x 86 시스템 CPU의 구조


연산장치


- 연산장치는 CPU의 핵심 부분 중 하나


- 산술과 논리 연산을 수행하는 연산 회로 집합으로 구성



제어장치


- 제어장치는 입력, 출력, 기억, 연산 장치를 제어하고 감시


- 주기억 장치에 저장된 명령을 차례로 해독하여 연산 장치로 보내 처리되도록 지시



레지스터의 종류와 기능


레지스터란?


- 처리 중인 데이터나 처리 결과를 임시 보관하는 CPU내의 기억 장치


범용 레지스터


- 연산 장치가 수행한 계산 결과의 임시 저장, 산술 및 논리 연산, 주소 색인 등의 목적으로 사용될 수 있는 레지스터


- EAX, EBX, ECX, EDX


세그먼트 레지스터


- 프로그램에 정의된 메모리상의 특정 영역


- 코드, 데이터, 스택 등을 포함


- CS, DS, SS, ES, FS, GS


포인터 레지스터


- 프로그램 실행 과정에서 사용되는 주요 메모리 주소값을 저장


- EBP, ESP, EIP


인덱스 레지스터


- 메모리의 한 영역(Source)에서 다른 영역(Destination)으로 데이터를 연속적으로 복사할 때 사용


- EDI, ESI


플래그 레지스터


- 32비트로, 컴퓨터의 다양한 상태를 나타내는 비트 포함


- 상태 플래그, 제어 플래그, 시스템 플래그로 구성


- EFLAGS




80 x 86 시스템의 메모리


메모리의 기본 구조



스택


- 후입 선출 방식에 의해 정보를 관리


- Top이라고 불리는 스택의 끝 부분에서 데이터의 삽입과 삭제가 발생


- 가장 나중에 삽입된 정보가 가장 먼저 읽힘


- 함수 종료와 동시에 사라지는 자동 변수가 저장 됨


- 또한 함수가 호출될 때 함수 내 로컬 변수 등이 저장되는 곳임




- 프로그램의 실행 중 필요한 기억 장소를 할당하기 위해 운영체제에 예약되어 있는 기억 장소 영역


- 데이터를 저장하기 위해 기억 장소를 요청하면 운영체제는 힙에 존재하는 기억 장소를 프로그램에 할당


- 기억 장치가 더 이상 필요 없으면 할당 받았던 기억 장소를 운영체제에 반납, 운영체제에서는 반납된 기억 장소를 다시 힙에 돌려줌


- 힙에 대한 기억 장소는 포인터를 통해 동적으로 할당되거나 반환


- 연결 리스트, 트리, 그래프처럼 동적인 특성이 있는 데이터 구조에서 널리 사용


데이터


데이터 세그먼트


- 초기화된 외부 변수나 static 변수 등이 저장되는 영역


- 보통 텍스트 세그먼트와 데이터 세그먼트 영역을 합쳐 프로그램이라 함


BSS 세그먼트


- 초기화 되지 않은 데이터 세그먼트라고 불림


- 프로그램이 실행될 때 0이나 NULL 포인터로 초기화


- 외부 변수나 static 변수 중 초기화 되지 않은 변수들이 정의될 때 저장


텍스트


- CPU에 의해 실행되는 머신 코드가 있는 영역


- EIP가 다음 실행하는 명령을 가리킴





반응형

댓글