(정리) 커널 모드 및 사용자 모드

핵심이란 무엇입니까?

  • 프로세스 관리, 메모리 관리 및 메모리 관리와 같은 핵심 운영 체제 기능 모음입니다.
  • 상호 작용: 사용자 명령을 커널에 전달하고 실행 결과를 사용자에게 알려주는 역할.



시스템 호출

  • 커널이 자신을 보호하기 위해 만든 인터페이스
  • 사용자 또는 애플리케이션 커널 컴퓨터 리소스 보호 리소스에 대한 직접 액세스 차단
  • 따라서 리소스를 사용하려면 시스템 호출액세스는 인터페이스를 통해 이루어져야 합니다.

방해하다

  • CPU는 I/O 매니저에게 작업 지시를 내리고 다른 작업을 하던 중 완료 신호를 받으면 작업을 멈추고 전송된 데이터를 처리한다.
  • 또한 하던 일을 멈추고 대처하라는 신호의 의미로 방해하다~라고 불리는

핵심 프로세스와 사용자 프로세스

  • 커널 프로세스
    • 모든 시스템 메모리 및 프로세서(CPU) 명령에 액세스할 수 있는 프로세스
    • 프로세스의 실행 순서를 제어하고, 다른 사용자와 커널(OS) 메모리를 모니터링하고, 사용자 프로세스를 만듭니다.
  • 사용자 프로세스
    • 사용자 코드를 실행하는 프로세스

동기 인터럽트

  • 동기 인터럽트: 프로세스에 의해 실행되는 명령으로 인해 발생하는 인터럽트.
    • 사용자 중단라고도 함
    • 프로그램 문제로 인해 발생(예: 다른 사용자의 메모리 영역 액세스, 오버플로 또는 언더플로로 인해 발생)
    • 컴퓨터 운영자가 프로세스를 의도적으로 종료한 경우(Ctrl+C)
    • 주변 조작
    • 산술 연산 중에 생성된 인터럽트

비동기 인터럽트

  • 비동기 인터럽트: 실행 중인 명령어와 관계없이 발생하는 인터럽트.
    • 디스크 읽기 오류
    • 나쁜 기억
    • 키보드 브레이크
    • 마우스 일시 중지

커널 모드와 사용자 모드

    • 프로세스는 커널 프로세스그리고 사용자 프로세스통해 분리
    • 커널 모드: 운영 체제와 관련된 프로세스가 실행 중인 상태
    • 사용자 모드: 사용자 프로세스가 실행 중인 상태
    • 듀얼 모드:
      • 운영 체제는 커널 모드와 사용자 모드 사이를 전환하여 작업을 수행합니다.
      • 주요 목표는 자원 보호입니다.
    • 사용자 프로세스가 디스크 I/O 및 프로세스 생성과 같은 커널 기능을 사용할 수 있도록 하려면 시스템 호출또한 커널 프로세스에서 작업을 요청해야 합니다.
    • 사용자 프로세스~이다 시스템 콜 요청 후 대기~이 되다 커널 프로세스~이다 요청한 작업 수행나무 상자
    • 즉, 사용자 모드에서 커널 모드로 전환됩니다. 운영 체제는 작업을 완료하기 위해 두 모드 사이를 전환합니다.두번째 듀얼 모드~라고 불리는
    • 이중 모드는 운영 체제에서 리소스를 절약하기 위해 사용하는 방법입니다.
    • 사용자 프로세스가 시스템 자원에 직접 접근할 때 문제가 발생할 수 있기 때문에 커널은 리소스 액세스를 시스템 호출로만 제한나무 상자
    • 즉, 사용자 프로세스는 커널 모드에서 실행할 수 없습니다.
    • 커널이 제공하는 시스템 호출은 유용성이 매우 제한적입니다.
    • 따라서 시스템 호출을 사용하려면 운영 체제에서 다음을 수행해야 합니다. 애플리케이션 프로그래밍 인터페이스(API) 제안
    • 사용자 시스템 호출 기능사용할 수 있습니다, 다양한 API 준비 기능시스템 리소스에 대한 액세스
    • 사용자가 커널 모드에 들어가면 두 가지가 있습니다.
    • 첫 번째: 시스템 호출
    • 둘째: 인터럽트가 발생한 경우
      • 시스템 호출을 통해 커널 모드로 들어가는 것은 자발적이지만 인터럽트를 통해 커널 모드로 들어가는 것은 비자발적입니다.
      • 프로세스가 인터럽트를 생성하면 잘못된 명령을 실행하여 프로세스가 강제 종료됩니다.
    • 사용자 프로세스가 자발적으로 커널 모드로 들어가는 유일한 방법은 시스템 호출.