본문 바로가기
반응형

운영체제9

프로세스 제어 블록 (PCB, Process Control Block)란? 프로세스 제어 블록(PCB)이란? 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓은 곳으로, 프로세스의 상태 정보를 저장하는 구조체이다. 프로세스 상태 관리와 문맥교환(Context Switching)을 위해 필요하다. PCB는 프로세스 생성 시 만들어지며 주기억장치에 유지된다. 프로세스 제어 블록(PCB)에 포함되는 정보들 Process ID : 프로세스를 구분하는 ID Process state : 각 State 들의 상태를 저장한다. Program Counter : 다음 Instruction의 주소를 저장한다. CPU는 이 값을 참조해서 Process의 Instruction을 수행한다. Register : Accumulator, CPU Register, General Register 등을 포함한.. 2023. 7. 20.
프로그램의 실행 프로그램이 실행되고 있다 '프로그램이 실행되고 있다'는 것은 컴퓨터 시스템 차원에서 볼 때 크게 두 가지 중요한 의미를 가진다. 디스크에 존재하던 실행파일(.exe)이 메모리에 적재(load)된다는 의미 프로그램이 CPU를 할당받고 명령을 수행하고 있는 상태 일단 우리가 알고 있는 작동은 CPU는 디스크에 존재하는 실행파일이 메모리에 올라가면 프로그램은 CPU를 할당받고 명령을 수행한다. 하지만 여러 프로그램이 짧은 시간 단위로 CPU를 나눠 쓰고, 이들 프로그램이 메모리에 동시에 적재되어 있을 수 있으므로 여러 프로그램이 동시에 실행된다는 말을 보편적으로 사용하는 것이다. 실행파일이 메모리에 적재될 때 실행파일 전체가 메모리에 한꺼번에 올라가기 보다는 일부분만 메모리에 올라가고 나머지는 디스크의 특정 .. 2023. 7. 20.
메모리 구조(Memory Structure)에 대해서 메모리 구조우리가 exe 파일을 실행하면 운영체제는 프로그램에 정의된 명령어(코드)를 바탕으로 메모리에 프로세스를 적재한다.해당 프로세스를 위한 Code, Data, Heap, Stack 영역이 생성된다. 메모리 구조코드 영역데이터 영역힙 영역스택 영역 코드 영역 (Code)소스코드가 기계어 형태로 저장된다CPU가 저장된 명령어를 프로그램 카운터에 의해 하나씩 가져가 처리하게 된다.프로그램 시작부터 종료까지 메모리에 있게 된다.컴파일 타임에 결정되고, 중간에 코드가 변경되지 않도록 Read-Only 형태로 저장된다. 데이터 영역 (Data)전역변수, static 변수가 저장된다.프로그램 시작과 동시에 할당되고 프로그램이 종료되어야 메모리가 해제된다.실행 도중 변수 값이 변경될 수 있으니 Read-Writ.. 2023. 2. 17.