목록운영체제(Operating Systems) (4)
초보개발자 긍.응.성
수행모드 운영체제는 최소한 두가지의 수행 모드를 가진다. 권한을 가진 정도에 따라 수행 모드가 나뉘게되는데 권한을 덜 가진 모드를 보통 사용자 모드(user mode), 더 높은 권한을 가진 모드를 커널 모드(kernel mode), 시스템 모드(system mode), 제어모드(control mode) 등으로 부른다. 수행모드를 두 가지로 나누는 이유는 사용자 프로그램의 간섭으로 부터 운영체제 및 프로세스 제어블록과 같은 주요 운영체제 테이블을 보호할 필요가 있기 때문이다. 프로세서가 현재 어느 모드에서 수행되고 있는지는 수행모드를 표현하는 프로그램상태워드(PSW)로부터 알 수 있다. 이 비트는 특정 사건에 따라서 변한다. 주로 사용자가 운영체제 서비스를 호출하거나 인터럽트가 운영체제의 한 경로의 수행..
운영체제는 프로세서에 의해 수행되는 프로세스들을 스케줄하여 Dispatch하고, 프로세스들에게 자원을 할당하며, 사용자 프로세스의 기본적인 서비스 요청에 응답한다. 운영체제는 프로세스가 사용하는 시스템 자원들을 관리하는 개체로 볼 수 있다. 앞서 말한것 처럼 운영체제가 프로세스와 자원들을 관리하기 위해서는 각 프로세스에 대한 현재 상태를 나타내는 정보를 가지고 있어야만 한다. 이러한 정보는 개체에 대한 테이블로 구성해서 유지한다. 운영체제는 메모리 테이블, 입출력 테이블, 파일 테이블, 프로세스 테이블을 가진다. 프로세스 제어 구조 - 프로세스 위치 프로세스는 각각의 프로세스 이미지를 가진다. 프로세스 이미지는 데이터, 프로그램, 스택, PCB를 가진다. 운영체제는 프로세스의 항목들을 주 프로세스 테이블..
단일 처리기 컴퓨터는 임의 시점에 단 하나의 프로세스만을 수행 상태로 수행할 수 있다. 그렇기 때문에 주 메모리에 적재된 프로세스들은 수행상태 이외에도 다른 상태들을 가진다. Dispatcher (디스패처) Dispatcher는 운영체제가 한 프로세스로 부터 다른 프로세스로 교체하기 위한 프로그램이다. 시간이 만료되거나 Block 혹은 종료된 프로세스로 부터 준비중인 프로세스를 수행상태로 만들 때 항상 Dispatcher 프로세스가 수행된다. 2-상태(two-state) 상태 모델 2상태 모델에서는 프로세스의 상태를 비수행(Not Running) 상태와 수행(Running) 상태로 나눈다. 운영체제가 새로운 프로세스를 생성할 때, 그 프로세스에 대한 프로세스 제어블록을 생성하고 비수행 상태로 초기화 시킨..
프로세스(Process) 의 정의는 여러가지인데 수행 중인 프로그램 컴퓨터 상에 수행 중인 프로그램의 인스턴스 프로세서에 할당되어 수행될 수 있는 개체 (entity) 명령들의 순차 수행, 현재 상태, 연계된 시스템 자원들의 집합 등에 의해 특징지어지는 활성화단위 (a unit of activity) 로 정리할 수 있다. 프로세스의 두 필수적인 요수는 프로그램 코드와 그와 연계된 데이터의 집합이다. 추가적으로 프로그램이 수행 중 특정 시점에 프로세스를 식별하기 위한 요소들이 있다. 식별자, 상태, 우선순위, PC(Program Counter) 등이 존재하며 이러한 정보들은 프로세스 제어블록(PCB)에 존재한다. 프로세스 제어블록은 운영체제에 의해 생성되고 관리되며 자료구조로 저장된다. PCB는 수행 프로..