운영체제

CS지식

프로세스 제어 블록(PCB)란?

프로세스 제어 블록(PCB)는 프로세스 관리의 핵심 데이터이다. 프로세스 실행, 스줄링, 프로세스와 관련된 메모리 관리, 파일 입출력 등 많은 상황에서 커널에 의해 액세스되고 갱신된다. 운영체제는 시스템 전체에 하나의 프로세스 테이블을 만들고 프로세스 테이블에 모든 프로세스의 정보를 관리한다. 커널은 프로세스를 만들 때마다 프로세스 제어 블록을 생성하여 프로세스 테이블의 비어 있는 항목에 PID(프로세스 번호)와 함께 PCB를 연결하다. 프로세스 테이블과 프로세스 제어 블록(PCB)는 커널 공간에서 생성되며, 커널만이 액세스가 가능하다. 프로세스 번호(PID) 프로세스를 식별하기 위한 고유한 번호로 0과 양의 정수로만 사용된다. 커널은 프로세스를 생성할 때 프로세스 번호 PID를 할당한다. 부모 프로세스..

CS지식

사용자 모드(User mode)와 커널 모드(kernel mode)란?

CPU는 사용자 모드와 커널 모드, 둘 중 하나로 설정된다. 응용프로그램 코드는 사용자 모드에서 실행되며, 커널 코드는 커널 모드에서 실행된다. 이 말은 운영체제가 응용프로그램을 실행시킬 때는 사용자 모드로 설정되고, 응용프로그램이 커널 함수를 실행시키기 위해 시스템 호출을 하면 그 때 커널모드로 전환되며 커널 코드가 실행된다. 사용자 모드인지 커널 모드인지 구별하는 방법은 CPU에 내장되어 있는 모드 레지스터를 통해서 알 수 있다. 사용자 모드 사용자 모드일 때, 응용프로그램은 메모리 안에 존재하는 사용자 영역에 액세스 할 수 있으며 커널 영역에 접근 시 시스템 예외가 발생하고 응용프로그램을 종료시킨다. 커널 모드 커널 모드일 때, CPU는 모든 메모리 공간을 액세스할 수 있으며 특권 명령을 실행할 수..

simun
'운영체제' 태그의 글 목록