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