Search

운영체제 권한

class
운영체제 심화
상태
완료
날짜
목차

운영체제 권한

운영체제 권한은 주로 시스템의 안정성, 보안, 그리고 자원의 효율적 관리를 위해서 존재합니다.
1.
보안
권한 관리는 무분별한 자원 접근을 제한하여 보안을 강화합니다. 예를 들어, 일반 사용자가 시스템 설정을 변경하거나 중요한 시스템 파일에 접근하는 것을 막음으로써 잠재적인 위험을 줄일 수 있습니다.
악의적인 소프트웨어가 시스템을 감염시키거나 중요한 데이터를 손상시키는 것을 방지합니다.
2.
안정성
운영체제는 프로세스 간에 자원을 공정하게 할당하고 각 프로세스가 시스템 리소스를 과도하게 사용하지 않도록 제어합니다. 이는 시스템의 전반적인 안정성을 유지하는 데 중요합니다.
특정 프로세스에 문제가 생겨도 시스템 전체에 영향을 미치지 않도록 격리할 수 있습니다. 각 프로세스는 할당된 권한과 자원 내에서만 작동하므로, 한 프로세스의 실패가 다른 프로세스에 영향을 주지 않습니다.
예를 들어, 소프트웨어 A에 문제가 생겨도 소프트웨어 B에 문제가 생기지 않게 하는 것이 바로 안정성입니다.
3.
자원 관리
운영체제는 하드웨어 자원을 효율적으로 관리하고 할당하기 위해 권한을 사용합니다. 이를 통해 시스템은 여러 프로세스가 동시에 동일한 자원을 요구할 때 충돌을 방지하고 자원을 공평하게 분배할 수 있습니다.
권한 관리는 특정 작업이나 프로세스가 시스템 리소스를 독점하는 것을 방지하여 다른 프로세스가 필요한 자원을 이용할 수 있도록 보장합니다.

운영체제 권한 종류

커널 모드

1.
정의 및 권한
커널 모드는 운영체제의 가장 깊은 수준에서 작동하는 모드로, CPU와 메모리 등 핵심 하드웨어 자원에 대한 전체적인 제어 권한을 가집니다.
시스템의 모든 하드웨어를 직접 제어할 수 있는 가장 높은 권한을 가지며, 운영체제의 핵심 기능들이 이 모드에서 실행됩니다.
2.
기능
메모리 관리, 프로세스 스케줄링, 파일 시스템 관리, 네트워크 통신 등 시스템의 기본적인 운영을 담당합니다.
하드웨어와 직접적으로 상호 작용하며, 드라이버와 같은 하드웨어 관련 코드가 실행됩니다.

사용자 모드

1.
정의 및 권한
사용자 모드는 일반 응용 프로그램이 실행되는 환경으로, 제한된 권한으로 시스템 리소스를 사용합니다.
운영체제의 핵심 부분과는 분리되어 있으며, 필요한 서비스나 자원에 접근하기 위해 시스템 호출을 사용해 커널에 요청을 보냅니다.
2.
기능
대부분의 사용자 애플리케이션은 이 모드에서 실행되며, 사용자 인터페이스와 응용 프로그램 로직을 처리합니다.

예시

실제 게임 개발에서 쓰이는 코드로 예시를 들어보겠습니다.
아래 모든 로직은 우선, 사용자 모드에서 실행됩니다.
using System.IO; public class FileManager : MonoBehaviour { void Start() { var path = "C:/example/data.txt"; // 파일을 읽어 들이는 작업 // 이 부분은 사용자 모드에서 커널 모드로 현재 파일이 있는지 확인하는 요청을 합니다. if (File.Exists(path)) { var contents = File.ReadAllText(path); // 이 부분도 사용자 모드에서 커널 모드로 파일을 읽어달라는 요청을 합니다. Debug.Log("File contents: " + contents); } else { Debug.Log("File does not exist"); } } }
C#
복사