cs

    컨텍스트 스위칭(Context Switching) 이란?

    컨텍스트 스위칭이란? 멀티 프로세스 환경에서 CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할 때, 기존의 프로세스의 상태 또는 레지스터 값을 저장하고 CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지스터 값을 교체하는 작업을 말한다. 예를 들어 프로세스 A가 있고, 프로세스 B가 있을 때, CPU가 실행하는 프로세스를 A에서 B로, B에서 A로 바꾸는 기술이라고 할 수 있다. 그렇다면 프로세스 A, B의 정보를 기억해야할 필요가 있는데, 이 정보를 기록하는 곳이 바로 PCB(Process Control Block) 이다. PCB (Process Control Block) 프로세스 식별자(PID) 프로세스 상태정보 ..

    프로세스 메모리 구조

    스택 영역 (Stack) 함수 실행을 위한 지역변수 등이 저장되는 영역 프로그램이 자동으로 사용하는 임시 메모리 공간이다. 지역변수 (local variable), 매개변수 (parameter), 리턴값 등 잠시 사용되었다가 사라지는 데이터를 저장하는 영역 스택 사이즈는 각 프로세스마다 할당되지만 메모리에 로드 될 때 스택 사이즈가 고정되어 있어, 런타임 시에 스택 사이즈를 바꿀 수는 없다. 메모리의 가장 높은 주소에서 낮아지는 방향으로 데이터가 저장된다. 힙 영역 (Heap) 힙 영역은 동적으로 할당된 메모리를 위한 공간 메모리 주소 값에 의해서만 참조되고 사용되는 영역이다. C의 경우 malloc(), C++, java의 경우 new() 함수를 이용할 때 힙영역에 데이터가 저장된다. 데이터 영역 (D..

    컴퓨터의 구성요소

    컴퓨터의 주요 구성요소 컴퓨터는 CPU, Memory, IO Device의 3가지 핵심 요소들과 3가지 요소 사이를 연결해주는 System Bus로 구성된다. CPU - Central Control Unit CPU는 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치 ALU (Arithmetic Logic Unit) Arithmetic - 산술연산 Logic - 논리연산 ALU는 이름 그대로 산술, 논리 연산을 담당하여 데이터를 처리한다. Register CPU내에서 자료를 보관하는 아주 빠른 기억장소 명령어, 데이터, 주소, 상태 등의 정보를 저장한다. Control Device IO Device, Memory, ALU 의 동작을 제어한다. Cache Memory CPU가 데이터를..