커널

컴퓨터 공학(Computer Science)/OS

Kernel의 실체

Kernel의 실체 커널은 컴파일된 바이너리 형태로 스토리지에 있다가 컴퓨터 부팅 시에 메모리에 load된다. 커널 코드는 함수들의 집합 커널 코드는 함수들의 집합이다. 실행 중인 응용 프로그램(메모리에 적재된)을 프로세스라 부른다. 하지만 커널은 프로세스가 아니다. 만약, app2의 실행중에 System Call을 유발시키고 커널이 동작한다고 가정해보자. 그러면 User mode에서 실행중이다가 kernel mode로 바뀌고 kernel code를 실행한다. 여기서 kernel이 프로세스가 되는게 아닌, app2가 프로세스이다. 커널은 프로세스가 아니다. Kernel이 실행중? kernel은 단지 응용 프로그램에 의해 System Call, interrupt가 발생하여 커널 코드가 실행되고 있을 뿐 K..

컴퓨터 공학(Computer Science)/OS

커널과 시스템 호출

Kernel과 System call 커널이란 부팅 후부터 메모리에 상주하며, CPU, 메모리, 캐시 같은 하드웨어 자원을 관리하고, 프로세스, 파일 시스템 관리 등 운영체제의 핵심적인 기능을 실행하는 코드 커널 코드는 구체적으로 함수의 형태로 존재한다. 응용 프로그램은 Function Call이라는 방식을 통해 응용 프로그램 내의 함수나 라이브러리의 함수를 호출하지만, 커널에 있는 함수는 호출할 수 없다. 응용 프로그램이 커널에 있는 함수를 호출할 수 있는 유일한 방법은 System Call 이라는 방식이다. OS Kernel 인터페이스 System Call : 커널과 응용프로그램 사이 Interrupt : 커널과 하드웨어 장치 사이 이 2가지 방식을 이용해 하드웨어와 응용프로그램 사이를 중계한다. Sy..

Jminu
'커널' 태그의 글 목록