CS/Operating System 13

보안 방법

우리가 흔히 사용하는 운영체제는 여러 프로그램이 동시에 실행될 수 있는 다중 프로그래밍 환경에서 동작한다. 따라서 운영체제는 각 프로그램이 다른 프로그램의 메모리 영역이나 파일 영역을 침범하지 않도록 관리해야 한다. 이때 보안과 관련된 중요하고 위험한 명령들을 특권명령이라고 한다. 하드웨어 보안 운영체제는 하드웨어 보안을 위해 I/O 작업과 같이 디스크 파일에 접근하는 작업을 특권명령으로 삼아, 커널 모드에서만 실행할 수 있도록 한다. 따라서 사용자 프로그램이 맘대로 위험한 명령을 수행하는 것을 막는다. 메모리 보안 디스크뿐만 아니라 메모리의 경우에도 보안이 필요하다. 특히 메모리에 올라와 있는 OS의 코드(ex, 인터럽트 벡터와 인터럽트 처리 루틴)는 각별히 보안이 필요하다. 따라서 2개의 레지스터를 ..

CS/Operating System 2023.12.23

컴퓨터 시스템의 구조와 저장 장치

컴퓨터 시스템의 구조 디바이스 컨트롤러와 로컬버퍼 디바이스 컨트롤러: 각각의 입출력 장치에는 컨트롤러가 있는데, 이는 해당 입출력 장치를 관리하는 일종의 작은 CPU이다(하드웨어). 로컬버퍼: 디바이스 컨트롤러는 들어오고 나가는 데이터를 임시로 저장하기 위한 작은 메모리 공간인 로컬 버퍼를 내장하고 있다. 로컬 버퍼는 주로 큐 형태로 구성되며, 선입선출 방식이다. 즉, 디바이스로부터 전송된 순서대로 데이터가 처리된다. DMA(Direct Memory Access) 원칙적으로 메모리는 CPU에 의해서만 접근할 수 있다. 따라서 CPU 외의 장치가 메모리의 데이터에 접근하기 위해서는 CPU에게 인터럽트를 발생시켜서 CPU가 컨트롤러의 로컬버퍼와 메모리 사이에서 데이터를 옮기는 일을 대신한다. 그러나 이 경우..

CS/Operating System 2023.12.23

운영체제란?

운영체제란? 운영체제(Operating System)란 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어를 말한다. 좁은 의미의 운영체제: 컴퓨터 전원을 켜면 운영체제는 이와 동시에 실행된다. 소프트웨어가 컴퓨터 시스템에서 실행되기 위해서는 메모리에 그 프로그램이 올라가 있어야 한다. 운영체제도 하나의 소프트웨어이기 때문에 전원이 켜짐과 동시에 메모리에 올라간다. 하지만 운영체제처럼 규모가 큰 프로그램이 모두 메모리에 올라간다면 한정된 메모리 공간의 낭비가 심할 것이다. 따라서 운영체제 중 항상 필요한 부분만 전원이 켜짐과 동시에 메모리에 올려놓고, 그렇지 않은 부분은 필요할 때 메모리에 올려서 사용하게 된다. 이때 메모리에 항상 올라가 있는 부분을 커널(Kernel)이라고 부르며 이를 좁은 의미의 운영체..

CS/Operating System 2023.12.20