사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스로 한정된 메모리나 시스템 자원을 효율적으로 분배하는 시스템 소프트웨어이다.
GUI(Graphic User Interface) : 그래픽 사용자 인터페이스를 의미한다. 명령을 입력(CUI)하거나 텍스트 기반의 입력을 하는 것이 아니라, 사용자가 아이콘, 메뉴, 버튼, 창 등의 그래픽 요소를 사용하여 컴퓨터와 상호작용 할 수 있도록 하는 시각적 인터페이스를 말한다.
드라이버 : 하드웨어를 제어하기 위한 소프트웨어
시스템 호출(System Call) : 운영체제가 커널에 접근하기 위한 인터페이스이며 유저 프로그램이 운영체제의 서비스를 받기 위해 커널함수를 호출할 때 사용
유저 프로그램이 I/O 요청으로 트랩을 발동하면 올바른 요청인지 확인 후 유저모드가 시스템 콜을 통해 커널모드로 변환되어 실행, 유저모드에서 파일을 읽지 않고 커널모드로 들어가 파일을 읽고 다시 유저모드로 돌아가 프로그램의 로직을 수행한다. 이 과정을 통해 컴퓨터 자원에 대한 직접 접근을 차단하여 다른 프로그램으로 부터 보호할 수 있다.
modebit : 시스템 콜이 작동될 때 modebit을 참고해서 유저모드와 커널 모드를 구분, 1과 0의 값을 가지는 플래그 변수이다. I/O 디바이스는 운영체제를 통해서만 작동해야 한다. 사용자가 의도하지 않았는데 공격자가 I/O 디바이스를 이용하여 공격하기 쉽기 때문에 이를 쉽게 막기 위해 modebit을 사용한다.
유저모드 : 유저가 접근할 수 있는 영역을 제한적으로 두며 컴퓨터 자원에 함부로 침범하지 못하는 모드
커널모드 : 모든 컴퓨터 자원에 접근할 수 있는 모드
커널 : 운영체제의 핵심 부분으로 시스템콜 인터페이스를 제공하며 보안, 메모리, 파일 시스템, I/O 디바이스, I/O 요청 관리 등 운영체제의 중추적인 역할을 한다. 사용자가 System Call을 통해 컴퓨터 자원을 사용할 수 있게해주는 자원 관리자, 직접적인 상호작용은 하지 않는데 상호작용 하기 위해 사용하는 것이 시스템 프로그램 ( Shell )이다.