728x90
반응형

레지스터 3

PintOS 프로젝트 2주차 키워드 정리 ( User mode, Kernel mode, Register, Memory, System Call, File Descriptor, Cache, Atomic Operation, %rax, 32bit OS, 64bit OS, interrupt, Segmentation Fault )

User mode vs Kernel mode리눅스 운영체제는 User mode와 Kernel mode라는 두 가지 주요 실행 모드를 가지고 있다. 커널 모드(Kernel mode)- 운영체제의 핵심 부분인, "커널"이 실행되는 모드- 하드웨어에 대한 완전한 접근 권한을 가진다. -> 메모리, 프로세스 스케줄링, 파일 시스템 관리, 네트워킹 같은 low level 작업을 수행할 수 있다.- 시스템의 모든 자원을 제어할 수 있기 때문에, 커널 모드에서의 오류는 시스템에 심각한 영향을 미칠 수 있다.- 커널 모드에서는 시스템 모든 자원에 접근할 수 있는 광범위한 권한을 가지며, 따라서 커널 모드의 프로세스들은 메모리 공간을 공유한다. 사용자 모드(User mode)- 일반 응용 프로그램이 실행되는 모드- 커널..

[크래프톤 정글 5기] 스택, 레지스터, 꼬리 재귀 최적화

스택(stack) - 프로시저 호출 시 “지역 변수와 매개변수”를 저장하기 위한 메모리 공간(지역변수 = 로컬변수) - 후입선출(LIFO, Last In First Out) 구조 스택의 용도 - 함수의 로컬 변수 저장 : 각 함수 호출 시, 그 함수의 로컬 변수들이 스택에 저장된다. - 함수의 제어 흐름 관리 : 함수가 다른 함수를 호출할 때, 반환 주소와 이전 함수의 스택 프레임 정보가 스택에 저장된다. - 장점 : 동적으로 메모리 할당/해제 가능, 구현이 간단함, 메모리 관리 overhead가 낮음 스택의 특징 - 스택에서 데이터가 삽입되고 빠져나가는 쪽을 top 이라고 한다. 반대쪽은 bottom이다. - %rsp 레지스터는 스택 포인터이다. 스택 포인터는 항상 스택의 top 주소를 가리키고 있다...

[크래프톤 정글 5기] week03 알고리즘 주차 열아홉번째 날, CS, 어셈블리어, 레지스터, 오퍼랜드, 메모리 주소, 스택 포인터

Byte : 8bit Word : 16bit Double Word : 32bit Quad Word : 64bit CPU의 16개 범용 레지스터 - 각 범용 레지스터의 크기는 64bit이다. - 16개의 레지스터에 있는, 여러 크기의 하위 바이트 데이터에 대해 연산이 가능하다. - %rsp : 스택 포인터이며, 런타임 “스택의 끝 부분(Top)”을 가리킨다. 레지스터의 역사 8086 - 8개의 16비트 레지스터 - %ax ~ %sp IA32 - 32비트로 확장 - %eax ~ %esp x86-64 - 기존의 8개의 레지스터가 64비트로 확장 (%rax ~ %rsp) - 8개의 새로운 레지스터 추가 (%r8 ~ %r15) 레지스터는 1, 2, 4, 8 바이트 단위로 사용할 수 있다. 8바이트를 사용하는 경우..

728x90
반응형