이중모드, 하드웨어 보호
오늘날 많은 프로그램들은 서버를 통해 다수의 사람들이 사용하고 있다. 근데 만약 아무 권한도 없는 사람이 서버 컴퓨터에 이상한 명령을 내릴 수 있다면, 이는 큰 서비스 장애로 이어질 것이다.
그것을 방지하기 위해 나온 것이 이중모드다. 이중모드를 통해 관리자와 사용자가 만들어지고, 서버에 영향을 끼칠 수 있는 명령들은 관리자 모드에서만 사용 가능...
이것이 작동하는 방식은 컴퓨터를 사용하면 관리자와 사용자 모드를 이리저리 오가면서 프로그램을 실행한다. 그런데 사용자 모드에서 특권명령을 실행하면 이것을 os가 막는다. 이러한 보호 기능에는 cpu보호, 입출력 장치 보호, 메모리 보호가 있다.
CPU 보호는 한 사용자가 너무 오래 독점하는 것을 방지하기 위해, 일정 시간을 넘어가면 타임 인터럽트가 작동해, OS가 프로그램을 강제 전환한다.
메모리 보호는 CPU와 메인 메모리 사이에 방어벽을 만들어, 정해놓은 특정 범위를 만족하지 못하는 명령은 OS가 자동으로 프로그램을 종료하게 한다.
입출력장치 보호는 한 사람이 예를 들어 프린터를 사용하고 있을 때, 다른 컴퓨터에서 프린트하는 내용을 수정하거나 방해할 수 없게 하는 것.
운영체제 서비스 - 운영체제의 주요 서비스: 프로세스 관리, 메모리 관리, 파일 관리, i/o 관리 등
운영체제는 전에 말했 듯이 정부와 비슷한 역할을 한다. 자원을 관리하고 할당함으로써 성능을 향상시키고, 사용자가 편리하게 사용할 수 있도록 한다.
위의 관리 업무들은 어플리케이션이 OS에게 시스템 호출을 통해, 필요하니 해달라고 요청할 수 있는 기능들이다.
프로세스의 정의 - cpu 스케쥴러, 멀티 프로그래밍
프로세스는 job, task와 비슷하다.
프로세스의 관리는, 즉 cpu를 어떻게 관리하냐는 말이다.
CPU 스케쥴러는 여러 개의 프로그램들을 적절히 스위칭하도록 하는 중요한 기능을 가지고 있다.
프로세스는 queue 의 영역이다. 보조기억장치에서 부름을 받으면 먼저 job queue를 기다려야 한다. job queue (memory scheduler)는 진행되고 있는 프로그램이 종료되어 메모리에 빈 공간이 생겨야 줄어든다. 그래서 long term이라고 여겨진다. 이렇게 해서 메인 메모리에 올라가면 ready queue가 기다린다. Ready queue (cpu scheduler)는 그래도 스위칭을 하기에 short term이다.
만약 입출력이 있다면 device queue까지 가게 된다.
멀티 프로그래밍은 medium term scheduler이다. 만약 한 프로그램이 메모리에 올라와 있는데 사용되지 않고, 공간만 차지 하고 있다면 swap out을 하여 쫒아낸다. 그리고 다시 실행하려고 하면 swap in을 통해 가져온다. 이를 swapping이라고 한다.
'운영체제 (OS)' 카테고리의 다른 글
2022.04.25 kocw 운영체제 강의 (7/13) (0) | 2022.04.25 |
---|---|
2022.04.22 kocw 운영체제 강의 (6/13) (0) | 2022.04.22 |
2022.04.21 kocw 운영체제 강의 (5/13) (0) | 2022.04.22 |
2022.04.20 kocw 운영체제 강의 (4/13) (0) | 2022.04.21 |
2022.04.18 kocw 운영체제 강의 (2/13) (0) | 2022.04.19 |