본문 바로가기

컴퓨터

(4)
운영체제의 구조 ( 스케줄링 ) 스케줄링이란 CPU 사용권을 요청하는 프로세스들이 여럿 있을 때 이들 경쟁 관계에 있는 프로세스들 중에서 어떤 프로세스에게 CPU를 할당할 것인가를 결정하는 정책이다. 프로세스 스케줄링에 있어 기준은 공평성과 효율성이다. 특정 프로세스에 대해 자원 할당이 불공평 하게 지연되어서는 안되며 , 스케줄링 과정 자체도 효율적이어야 한다. 스케줄링의 목표는 프로세스의 반응 기간과 단위 시간당 처리량을 늘이는 것이다. 선점형 멀티태스킹에서는 운영체제가 시스템 자원 특히 CPU를 완전히 선점한 상태에서 각 프로세스에게 CPU를 할당한다. 이 경우 보통 10ms 정도의 시간 단위로 CPU를 프로세스별로 돌아가면서 할당 비 선점형 멀티태스킹에서는 운영체제가 아니라 프로그램의 프로세슫르이 CPU를 제각ㄱ ㅣ알아서 사용하고..
운영체제의 구조 ( 프로세스 ) 프로세스의 의미는 메모리에 로드되어 실행 중인 프로그램을 말한다. 프로그램이 실행 가능 하려면 CPU가 인식할 수 있는 기계어로 구성되어 디스크에 저장되어야 한다. 이 상황에서 프로그램에 대해 실행 요청이 오면 바이너리 코드는 비로소 메인 메모리에 적재되고 실행 가능한 상태가 되는데, 이와 같은 상태의 프로그램을 가르켜 프로세스 라고 한다. 이런 프로세스는 Task 라고 불리기도 한다. UNIX 시스템에서 임의의 프로그램이 실행되려면 하나의 프로세스(부모) 가 또 다른 프로세스(자식)를 추가로 생성한 다음, 자식 프로세스를 해당 실행 파일과 연관 지음으로써 원하는 프로그램이 실행된다. 즉 , 임의의 프로그램을 실행하라는 명령을 입력받은 프로세스는 자신과 동일한 일을 할 자식 프로세스를 생성하고 이렇게 생..
운영체제의 구조 ( 파일 시스템 ) 파일 시스템이란? 물리적인 디스크 영역에 있는 파일 또는 디렉토리의 집합을 말한다. UNIX 시스템에서는 데이터를 파일 형태로 관리하고, 이런 파일들이 모여 디렉토리 계층 구조가 된다. 파일의 종류에는 일반 데이터 파일, 실행 프로그램인 바이너리 파일, 디바이스 파일 그리고 파일의 집합체로 계층 구조의 정보를 갖는 디렉토리 파일 등이 있다. 물리적인 입출력 장치( 하드디스크 , 프린터 ) 등을 참조하는 파일이다. UNIX 시스템은 디바이스 파일을 이용해서 해당 하드웨어에 접근한다. 즉, 입 출력 장치를 하나의 파일로 인식하여 제어한다. 디바이스 파일들은 /dev 디렉토리 안에 있다. 블록 디바이스 : 입 출력시 커널 내의 특정 버퍼를 이용 ( 하드 디스크 , CD - ROM 등 ) 문자 디바이스 : 버퍼..
UNIX 의 구성 크게 세가지로 나눌 수 있다. 1. 커널 2. 쉘 3. 파일 시스템 UNIX 에서 가장 핵심적인 부분인 커널은 하드웨어와 소프트웨어의 중간에 위치한다. 커널은 항상 메모리에 상주하여 CPU, 메인 메모리, 하드디스크 등의 하드웨어 자원을 제어하면서 , 프로세스 스케줄링, 기억 장치 관리 , 파일 관리 , 시스템 호출 인터페이스 , 입출력 서비스 등의 기능을 사용자에게 제공한다. 명령어 해석기는 커널에 내장되어 있지 않으며, 응용 프로그램으로 독립되어 있다. 사용자와 UNIX 시스템간의 인터페이스 역할을 해주는 프로그램으로서 한마디로 명령어 해석기 라고 할 수 있다. 사용자가 입력한 명령어를 해석하여 그 명령이 실행 가능하도록 해 준다. 그 외에도 쉘은 작업 제어기능과 파이프 기능을 제공하여 명령어의 입력..