Computer Science/Operating System

    [운영체제] 제한적 직접 실행(Limited Direct Execution)

    본 내용은 [Operating Systems : Three Easy Pieces]를 참고하였습니다. OS는 물리적인 CPU를 공유하고 싶어하는데 이 때 사용되는 개념이 time sharing이다. Problem 1 : Restricted Operation 만약 프로세스가 disk의 정보를 받으려 하거나, CPU와 memroy와 같은 resource를 접근하려 한다면 보안과 안정성에 큰 문제가 생길 수 있다. 해결? --> User mode와 Kernel mode로 나눈다. - User mode : Application들은 hardware resources에 완전한 접근을 할 수가 없다.(제한됨) - Kernel mode : OS 는 모든 resource 들에 대해서 접근을 할 수가 있다. 이 때 나오는 ..

    [운영체제] 프로세스(Process)와 가상화(Virtualization)

    본 내용은 [Operating Systems : Three Easy Pieces]를 참고하였습니다. 여기 하나의 복숭아가 있다고 해보자. 나는 이 복숭아를 A, B, C 세 명에게 공유를 해주려고 한다. 문제는, 내가 이 복숭아를 세 명의 사람에게 공유하면, 자기 뿐만 아니라 또 다른 사람이 같은 복숭아를 공유한다는 사실에 A, B, C 각자는 불쾌해할 수도 있다. 요지는, 그들이 "각각 자신만의 복숭아를 지급받았다고 생각하도록 해야한다는 것"이다. 여기서의 복숭아가 바로 CPU(혹은 메모리)이고, A, B, C는 프로세스가 된다. 즉, CPU또는 메모리를 프로세스 A, B, C가 각자가 혼자 소유하고 사용하고 있다고 여기도록 하는 것이다. 그렇다면, 실제로는 모두가 이 복숭아를 공유하고 있는데, 어떻게..