CS

[CS] 운영체제 개념과 학습 이유

chandlerxx 2024. 4. 20. 14:56

대표적인 운영체제

  • PC : 윈도우, macOS, 리눅스
  • 스마트폰 : 안드로이드, iOS

 

개념

  • 실행할 프로그램에 필요한 리소스를 할당하고, 응용프로그램(Application)이 올바르게 실행될 수 있도록 돕는다
  • 메모리의 `커널(kernel) ` 공간 사용

역할

  • `리소스 할당 및 관리`
    - Application과 하드웨어 장치 간의 필요한 리소스 할당 및 관리 
    - 예) 두개의 프로그램이 동시에 프린터 출력 요청 시 : A에서 먼저 프린터 사용하게 하고 B는 대기. A종료후 B출력
  • `메모리 공간 관리`
    - 실행될 Application을 메모리의 사용자 영역에 로딩하고, 더이상 실행되지 않는 Application은 삭제함 

 

운영체제 왜 필요한가?

일반적으로 운영체제 관리하, 개발자는 효율적으로 개발할 수 있는데요. 필요한 이유에 대해 알아보겠습니다.

  • 없다면 개발이 매우 비효율적임
    - 메모리 공간을 관리하기 위해 로딩하는 코드, CPU 연산 코드 등을 개발자가 직접 작성해야함
    - UI로 보여주기 모니터 출력하는 코드 작성시, 모니터 조작하는 코드 등 할게 너무 많음
  • 개발 능력 향상
    - 하드웨어와 프로그램간 데이터 교환과정에서 에러가 발생할 수 있는데요. 이때 운영체제가 에러 메세지를 띄워줍니다. 그래서 운영체제 관련 지식이 있으면 대응이 조금 더 편할 것 같습니다.

출처

교보문고 혼공컴운