OS ( Operating System ) ?
✅ 하드웨어 자원을 관리하고 소프트웨어와 하드웨어 사이를 중재하는 인터페이스
OS
란 하드웨어가 소프트웨어와 통신하고 작동하도록 하는 소프트웨어 프로그램이다.
이러한 운영체제도 소프트웨어처럼 메모리 상에서 실행되는데, 컴퓨터를 켜자마자 운영체제가 실행되며 이 때 전체 운영체제를 전부 실행하게 되면 메모리가 낭비되므로 커널( kernel ) 이라고 불리는 핵심적인 부분만 실행되고 필요 시 추가로 실행되도록 한다.
하드웨어와 가장 밀접하게 맞닿아 있는 소프트웨어로 자원 할당자 로 보기도 한다.
컴퓨터 시스템은 문제를 해결하기 위해 요구되는 여러 가지 자원들( CPU 시간, 메모리 공간, 저장 공간, 입출력 장치 등 )을 가진다. 운영체제는 이들 자원의 관리자로서 동작한다.
운영체제가 없는 기계는 처음 만들어진 기능 및 성능에서 벗어나지 못하지만, 운영체제가 내장된 임베디드 시스템이나 컴퓨터 등은 성능 향상 및 기능 추가가 가능하다.
커널( kernel ) ?
✅ 메모리에 상주하는 운영체제의 핵심 부분
운영체제 역시 '프로그램'이므로 운영체제 커널도 프로세스 주소 공간을 가진다.
OS의 목표 4가지
1. 자원 관리( 효율성 )
효율적인 자원 관리를 통해 최소한의 리소스로 최대한의 성능을 보이는 등의 퍼포먼스를 지향한다.
2. 자원 보호( 안정성 )
미숙하고, 악의적인 사용자로부터 자원을 보호하는 것으로 어떠한 비정상적인 작업으로부터 컴퓨터의 자원을 지키도록 한다.
3. 하드웨어 인터페이스 제공( 확장성 )
어떤 새로운 하드웨어를 plug 해도 바로 play ( 플러그&플레이 )가 가능하도록 확장석있는 하드웨어 인터페이스를 제공한다.
4. 사용자 인터페이스 제공( 편리성 )
( GUI로 발전한 것 처럼 ) 유저가 쓸 때 어렵지 않고 편리하게 쓸 수 있도록 한다.