[CS] 운영체제를 알아야 하는 이유

정은아·2024년 1월 19일
post-thumbnail

💡 운영체제란 무엇이며, 왜 알아야 하는지 알아보자

운영체제(Operating system)

  • 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 프로그램
  • 시스템 자원 : 프로그램 실행에 필요한 요소들로 줄여서 자원이라고도 부른다.
    근본 프로그램이기 때문에 컴퓨터가 부팅될 때 메모리의 커널 영역 내에 따로 적재돼 실행된다.
  • 커널 영역(kernel space) : 운영체제가 메모리에 적재되는 공간을 말한다.
  • 사용자 영역(user space) : 커널 영역을 제외한 영역으로 사용자가 이용하는 응용 프로그램이 적재되는 공간을 말한다.
  • 응용 프로그램(application software): 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램을 말한다.

운영체제의 역할

1. 지속적인 메모리 자원 관리

  • 실행할 프로그램을 메모리 사용자 영역에 적재한다.
  • 더 이상 실행되지 않는 프로그램은 메모리에서 삭제한다.

2. 공정하게 여러 프로그램을 CPU 자원에 할당

  • 특정 프로그램이 CPU를 독점하면 다른 프로그램은 실행이 어렵기 때문에 스케쥴링 역할을 운영체제가 한다.

3. 관리할 자원별로 기능을 분리

  • 운영체제 내에 CPU, 프로세스, 파일 시스템, 메모리 등 각 자원별로 관리하는 기능을 분리한다.

4. Low단계 하드웨어 조작 코드를 작성할 필요 X

  • 운영체제에 의해 하드웨어가 조작되고 관리되기 때문에 개발자가 하드웨어를 조작하는 코드를 직접 작성할 필요 적음

운영체제를 알아야 하는 이유

  • 운영체제에서 제공하는 아래 정보들을 통해 문제 발생 시 해결할 방법들을 찾을 수 있다.
  • 현재 하드웨어들의 상태나 코드가 어떻게 실행되었는지, 하드웨어 상에 존재하는 문제 등을 파악할 수 있다.

💡 이를 통해 하드웨어와 프로그램을 더 깊이 이해할 수 있다.

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글