💡 운영체제란 무엇이며, 왜 알아야 하는지 알아보자
운영체제(Operating system)
- 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 프로그램
- 시스템 자원 : 프로그램 실행에 필요한 요소들로 줄여서 자원이라고도 부른다.
근본 프로그램이기 때문에 컴퓨터가 부팅될 때 메모리의 커널 영역 내에 따로 적재돼 실행된다.
- 커널 영역(kernel space) : 운영체제가 메모리에 적재되는 공간을 말한다.
- 사용자 영역(user space) : 커널 영역을 제외한 영역으로 사용자가 이용하는 응용 프로그램이 적재되는 공간을 말한다.
- 응용 프로그램(application software): 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램을 말한다.
운영체제의 역할
1. 지속적인 메모리 자원 관리
- 실행할 프로그램을 메모리 사용자 영역에 적재한다.
- 더 이상 실행되지 않는 프로그램은 메모리에서 삭제한다.
2. 공정하게 여러 프로그램을 CPU 자원에 할당
- 특정 프로그램이 CPU를 독점하면 다른 프로그램은 실행이 어렵기 때문에 스케쥴링 역할을 운영체제가 한다.
3. 관리할 자원별로 기능을 분리
- 운영체제 내에 CPU, 프로세스, 파일 시스템, 메모리 등 각 자원별로 관리하는 기능을 분리한다.
4. Low단계 하드웨어 조작 코드를 작성할 필요 X
- 운영체제에 의해 하드웨어가 조작되고 관리되기 때문에 개발자가 하드웨어를 조작하는 코드를 직접 작성할 필요 적음
운영체제를 알아야 하는 이유
- 운영체제에서 제공하는 아래 정보들을 통해 문제 발생 시 해결할 방법들을 찾을 수 있다.
- 현재 하드웨어들의 상태나 코드가 어떻게 실행되었는지, 하드웨어 상에 존재하는 문제 등을 파악할 수 있다.
💡 이를 통해 하드웨어와 프로그램을 더 깊이 이해할 수 있다.