운영체제의 이해

김유진·2023년 4월 19일
0

CS지식 정리

목록 보기
1/7

운영체제(Operating System, OS)의 역할: 시스템의 자원을 관리하는 관리자

  • 시스템 자원 = 컴퓨터의 하드웨어(CPU/Memory/IO/Disk)

운영 체제의 역할

시스템 자원의 분배

  • 각 프로세스마다 CPU를 얼마나 사용하도록 할 지에 대한 분배
  • 프로그램 Memory의 어떤 주소에 어느 정도의 공간을 활용해서 저장할지에 대한 분배
  • 프로그램을 어디에 저장할지에 대한 결정
  • I/O 장치의 입력에 대한 처리와 입력된 신호에 대한 출력 처리 결정

컴퓨터 하드웨어와 응용프로그램 제어

  • 응용프로그램의 실행과 동작에 대한 관리
  • 프로세스/메모리/파일/디스크/입출력에 대한 관리
  • 네트워킹 제어와 컴퓨터 보호(보안)
  • 컴퓨터 하드웨어의 동작에 대한 제어

사용자와 컴퓨터 간의 의사소통 지원

응용프로그램(APP)

응용프로그램과 운영체제의 관계

  • 응용프로그램의 정의: 사용자 혹은 프로그램에게 특정한 기능을 수행하도록 설계/제작된 프로그램

  • 통상적으로 운영체제 위에서 동작하는 프로그램들을 응용프로그램이라고 한다.

  • 운영체제와 응용프로그램

    • 운영체제는 응용프로그램의 실행/종료를 관리한다.
    • 운영체제는 응용프로그램간의 권한(접근권한)을 관리한다.
    • 운영체제는 응용프로그램의 사용자를 관리한다.
    • 운영체제는 응용프로그램에게 적절한 시스템 리소스를 분배한다.

시스템 리소스의 분배

자원 분배의 과정
  • 응용프로그램이 운영체제에 리소스 요청

    • 요청된 메모리에 대한 허가/분배
    • 요청된 CPU 사용 시간 제공
    • 요청된 I/O장치 사용 허가/제어
  • 운영체제는 적절한 리소스를 할당

  • 사용 기한이 다 되면 리소스 회수

    운영체제가 제공하는 인터페이스

    UI(User Interface)

    • 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램
    • CLI(터미널 환경)와 GUI(그래픽 환경)로 구분된다.
    • 운영체제가 제공하는 API를 기반으로 쉘이 만들어지고, 이를 통해 운영체제에 대한 사용자의 요청에 맞는 기능을 제공함.

API(Application Programming Interface)

  • 응용 프로그램을 위한 인터페이스
  • 함수 형태로 제공되며, 보통은 이러한 함수들을 묶은 라이브러리의 형태로 제공된다.
  • 대부분의 API는 SYSCALL을 호출하는 함수를 작성해 놓은 형태로 이루어짐
SYSCALL
  • 시스템 호출 인터페이스
  • User 공간의 프로그램들이 운영체제의 기능을 이용한 요청을 처리 할 수 있도록 제공되는 C언어 함수
profile
끊임없이 발전하는 개발자

0개의 댓글