[운영체제] 운영체제와 커널
운영체제와 커널
컴퓨터의 응용 프로그램은 하드웨어에 접근할 수 있어야 한다. 그래야 하드디스크에 데이터를 저장하고 메모리에 프로세스를 올리고, CPU에서 그 메모리 정보를 가지고 데이터를 처리할 수 있다. 그리고 사용자는 GUI를 통해서 응용 프로그램을 실행할 수 있어야 한다. 그래야만 사용자와의 상호작용을 통해서 원하는 프로세스를 메모리에 올릴 수 있기 때문이다. 이러한 역할을 하는 것이 운영체제(OS)이다.
사용자 자원과 실행 단계를 계층적으로 커널 공간, 사용자 공간, 시스템 콜, 하드웨어로 나눌 수 있다. 사용자 공간은 시스템 콜 인터페이스를 통해 커널 영역에 접근할 수 있고, 커널 영역은 사용자 공간에서 사용한 시스템 콜 API에 따라 하드웨어를 조작하게 된다.
그런데 사용자 공간과 커널 공간이 나뉘어 있듯이, CPU도 사용자 모드와 커널 모드 2가지의 모드가 존재한다. 왜냐하면 사용자 모드에서 통제없이 하드웨어에 접근할 수 있으면 보안과 안정성에 문제가 생기며, 동일 자원에 여러 CPU가 접근할 때도 문제가 생길 수 있기 때문에 이를 특별히 관리할 필요가 있기 때문이다.아래 그림은 CPU가 이중 모드로 모드를 구분하여 명령어를 실행하는 그림이다.
응용 프로그램이 프리턴기를 쓰거나, 하드디스크에 입력하는 등의 커널 영역이 필요한 명령어를 사용하기 위해서 커널 모드에 진입하고, 다시 사용자 모드로 돌아온다.
1.1 운영체제
운영 체제는 컴퓨터 하드웨어와 응용 프로그램 사이에서 상호작용을 지원하고 관리하는 시스템 소프트웨어다. 운영체제는 하드웨어 자원(CPU, 메모리, 저장 장치 등)을 효율적으로 관리하...
2025-06-27