2024/07/30 2

PCB와 컨텍스트 스위칭

프로세스 관리구동중인 프로세스가 여러 개일 때, CPU 스케줄링을 통해 프로세스를 관리하는 것을 의미한다.  CPU들은 각 프로세스들에 대해서 구분할 수 있어야 관리가 가능하다. -> 프로세스들의 특징을 갖고 있는 Process Metadata를 활용한다. 프로세스 메타데이터가 담고있는 정보프로세스 고유 ID (PID)프로세스 상태프로세스 우선순위Program Counter (PC)CPU 레지스터OwnerMemory Limit기타 등등메타데이터는 프로세스가 생성될 떄마다 PCB (Process Control Block) 이라는 곳에 저장된다. PCB (Process Control Block)프로세스들의 메타데이터를 저장하는 곳.하나의 PCB 안에 하나의 프로세스 정보가 담기는 구조이다.프로그램 실행 → ..

cs 2024.07.30

프로세스의 메모리 구조

시스템은 프로그램을 실행할 때 해당 프로그램을 메모리에 로드한다. 프로세스실행되고 있는 프로그램으로, 프로세스는 각 메모리 공간을 시스템으로부터 할당받는다. 프로세스의 메모리 영역메모리는 코드, 데이터, 힙, 스택 영역으로 구성되어 있다. Code 영역실행할 프로그램의 코드가 저장된다.CPU는 코드 영역에서 명령어를 하나씩 가져와 처리하게 된다.컴파일 타임에 결정된다.중간에 코드 변경이 불가하도록 Read-Only로 되어있다.Data 영역전역변수와 정적변수 등 프로그램이 사용하는 데이터를 저장한다.이 변수들을 참조한 코드는 컴파일이 완료될 시 data 영역의 주소값을 가르키도록 바뀐다.변수가 변경될 수 있기 때문에, Read-Write로 되어있다. Data 영역은 다시 BSS 영역과 Data(GVAR) ..

cs 2024.07.30