
전체 글
컴퓨터 시스템과 운영체제
컴퓨터 시스템은 사용자 + 응용소프트웨어 + 운영체제 커널 + 디바이스 드라이버 + 하드웨어라고 할 수 있다. 사용자는 실행파일을 작동을 시키고 이 작업은 운영체제가 관리를 하고 입출력과 실질적으로 구동이 되는 하드웨어와 이를 제어하는 디바이스 드라이버의 총 과저을 담은 것이 컴퓨터 시스템이다. 만약 운영체제가 없다면? 운영체제란 한정된 컴퓨터 자원을 여러 사용자가 효율적으로 사용하기 위해 만들어진 것이다. 총제적인 컴퓨터 시스템을 구동 순서대로 크게 나누어 보자면 아래 처럼 나눌 수 있다. 사용자 ▼ 어플리케이션 ▼ 운영체제 ▼ 하드웨어 따라서 운영체제가 없다면 여러 사용자가 하드웨어를 사용하는데 있어서 충동을 겪고 시간이 많이 지체되거나 오류로 인해 작업이 정상적으로 이루어 질 수 없게 된다. 운영체..

커널, 사용자 레벨 스레드와 맵핑
커널 레벨 스레드와 사용자 레벨 스레드 스레드의 스케줄링 주체에 따라 커널 레벨과 사용자 레벨로 나뉜다. 커널 레벨 스레드 커널이 직접 스케줄링하는 스레드로 스레드에 관한 정보를 커널이 가지고 있다. 프로세스는 시스템 호출을 이용해 커널 레벨 스레드 생성 가능하다. 사용자 레벨 스레드 스레드 라이브러리가 스케줄링하는 스레드로 사용자 공간에서 스레드 라이브러리가 스레드에 관한 정보를 관리한다. 커널은 사용자 레벨 스레드의 정보를 가지고 있지 않다. 스레드 라이브러리를 이용해 사용자 레벨 스레드 생성한다. 사용자 레벨 스레드가 실행되기 위해서는 커널 스레드의 도움을 받아야 한다. 커널 스레드 스레드의 주소 공간이 커널 공간에 형성된 스레드이다. 모든 특권 명령을 실행하고 커널모드에서 작동한다.(사용자 모드에..