Computer Science

OS(Operating System, 운영체제)

Ryomi 2024. 11. 4. 09:51
728x90
반응형

OS(운영체제)

  • OS는 컴퓨터 하드웨어와 응용프로그램을 관리하는 소프트웨어입니다.
    • 하드웨어는 OS 없이는 독립적으로 동작할 수 없습니다.
    • 하드웨어: CPU, 메모리, 입출력 장치(I/O device), 저장 장치(SSD, HDD) 등
  • 응용프로그램은 OS를 통해 하드웨어 자원을 요청하고 사용합니다.
  • OS는 응용프로그램에 하드웨어 자원을 효율적으로 분배 및 관리하여 프로그램이 원활히 작동하도록 지원합니다.
  • OS는 SSD나 HDD와 같은 저장 장치에 저장되고, 컴퓨터가 켜질 때 메모리에 로드됩니다.

OS와 응용프로그램 간 상호작용

  • 응용프로그램이 OS의 기능을 사용할 수 있도록 OS는 시스템 콜이라는 명령 또는 함수 인터페이스를 제공합니다.
    • 보통 응용프로그램은 시스템 콜을 직접 사용하기보다는, 시스템 콜을 호출하는 각 언어의 라이브러리(API)를 통해 OS에 요청을 전달합니다.
    • 시스템 콜이 없으면 OS에 기능을 요청할 수 없으며, OS의 기능을 사용할 수 없습니다.
  • OS의 개발 과정은 다음과 같은 순서로 이루어집니다:
    • OS의 핵심인 커널 개발
    • 시스템 콜 인터페이스 개발
    • 특정 프로그래밍 언어(예: C 언어)로 된 라이브러리(API) 개발
    • 쉘 프로그램 개발(사용자가 OS와 상호작용할 수 있도록 CLI, GUI 제공)
    • 최종적으로 응용프로그램 개발
  • OS는 응용프로그램을 관리합니다.
    • 응용프로그램 간 권한 관리: 응용프로그램이 임의로 시스템에 접근하거나 영향을 미치지 못하도록 제한합니다.
    • 응용프로그램의 사용자 관리
      • 부팅 시 사용자 로그인을 통해 OS는 사용자의 권한에 맞춰 응용프로그램과 시스템 리소스 접근 권한을 제한 및 부여 
      • 예) PC 부팅 시 사용자 선택 및 로그인 화면

OS와 사용자 간 상호작용

  • 쉘 프로그램: GUI나 CLI를 통해 사용자가 OS의 기능 및 시스템 서비스를 제어하고 사용할 수 있도록 도와주는 인터페이스입니다.

CPU Protections Rings

  • CPU는 보호 링(protection ring) 은 시스템 자원에 대한 접근 권한을 계층화하여 OS와 응용프로그램이 안전하게 작동하도록 하는 보안 구조입니다.
  • 대부분의 CPU는 Ring 0과 Ring 3만 사용합니다.
    • Ring 3: 사용자 모드로, 주로 응용프로그램이 이 모드를 사용합니다.
    • Ring 0: 커널 모드로, OS의 커널이 이 모드를 사용하여 시스템 자원에 대한 특권 명령을 실행하고 하드웨어에 직접 접근할 수 있습니다.
    • 사용자 모드와 커널 모드가 나뉘어 있어 응용프로그램이 임의로 시스템을 변경하거나 손상시키지 못하도록 보호합니다.
  • 시스템 콜은 커널 모드에서 실행됩니다.
    • 응용프로그램이 OS 기능이 필요한 API를 호출하면, 시스템 콜이 호출되어 CPU가 사용자모드에서 커널 모드로 전환됩니다.
    • OS가 해당 명령을 처리한 후, 다시 사용자 모드로 돌아옵니다.
728x90
반응형

'Computer Science' 카테고리의 다른 글

프로세스 스케줄링  (0) 2024.11.11
OS History  (4) 2024.11.05
CS) CPU  (0) 2023.01.07
CS) filp-flop / RAM  (0) 2023.01.07