파게로그
보호 및 보안 본문
컴퓨터 시스템이 여러 명의 사용자가 접속하는 것, 그리고 여러 개의 프로세스가 동시에 실행하는 것을 허가하는 한, 데이터에 대한 접근은 규제가 필요하다. 즉 파일, 메모리 세그먼트, CPU 등 자원은 OS로부터 허가받은 프로세스만이 동작할 수 있어야 한다는 것이다. 예를 들어, memory-addressing hardware는 프로세스가 자신의 주소 공간에서만 실행되는 것을 보증한다. 타이머는 어떤 프로세스도 결과적으로 제어권을 내놓는 일 없이 CPU를 점유할 수는 없도록 보증한다. Device-control register는 사용자에게 접근할 수 없지만, 그래서 다양한 주변부 기기들의 무결성은 보호된다.
Protection은 "any mechanism for controlling the access of processes or users to the rsources defined by a computer system"(p.30)이다. protection-oriented system은 허가된 사용과 허가되지 않은 사용을 구분하는 수단을 제공한다.
시스템은 사용자의 인증 정보가 탈취되었다든가 하는 이유로 부적절한 접근이나 결함에 취약할 수 있는데, 이러한 외부적인 또는 내부적인 공격으로부터 시스템을 바어하는 것은 security의 영역이다. 이는 바이러스, 웜, denial-of-service attacks(시스템의 자원을 모두 사용하여 적법한 사용자의 사용을 막음), identity theft, theft of service(시스템에 대한 허가받지 않은 사용) 등을 포함한다.
대부분의 OS는 사용자 이름의 목록을 저장하며, 관련된 user identifiers(user IDs)를 저장하고 있다. Windows 용어로는 이는 security ID(SID)이다.
특정한 상황에서는 사용자의 집단을 구별해야 하는데, UNIX 시스템에서 파일의 주인은 해당 파일에 대한 모든 작업이 가능한 반면, 특정한 집단의 사용자들은 오직 읽기만 가능해야 할 수도 있다. Group functionality는 시스템 전역의 그룹명과 group identifiers를 통해 구현될 수 있다.
특정 상황에서 사용자는 escalate privileges할 필요가 있는데, 예를 들어 UNIX에서는 프로그램 상의 setuid attribute가 프로그램이 현재 사용자의 ID가 아닌 파일의 주인 사용자 ID로 작동할 수 있도록 한다. 프로세스는 extra privileges가 종료되거나 프로그램이 종료될 때까지 effective UID로 동작한다.