· 목차
운영체제란 무엇인가?
안녕하세요 이번에는 운영체제에 대해서 배워보려고 합니다.
운영체제론을 본격적으로 배우기 이전에 운영체제가 무엇인지에 대해서 알고 가야하지 않을까 싶습니다.
일상속에서 운영체제에 대해서 많이 들어보셨을 거라고 생각하는데요, 대표적으로 Microsoft사의 Window가 있고
Apple사의 Mac OS가 있다는 것을 잘 아실 것이라고 생각합니다.
그렇다면 운영체제가 어떤 것을 의미하는지는 어렴풋이 알지만, 구체적으로 하는 것이 무엇일까요?
"운영체제의 역할은 사용자 프로그램에게 컴퓨터에 대한 보다 좋고, 단순하고, 깨끗한 모델을 제시하고, 메모리, 디스크 마우스, 디스플레이 등 자원을 다루는데에 있습니다."
다시 말하면, "운영체제는 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어입니다."
이제 대충 운영체제가 어떤 역할인지는 이해가 가지만, 아직은 구체적으로 어떤 역할을 하는 것인지 잘 모르실 것 입니다.
이제 학습하면서 운영체제 구체적으로 어떤 것인지에 대해서 학습해보겠습니다.
위의 그림은 운영체제의 위치를 보여주는 구조입니다.
위에서 User mode와 Kernel mode란 무엇일까요?
User mode와 Kernel mode에 대해서 설명하기 전에 쉘(Shell)과 GUI(Graphical User Interface)라는 것이 있는데요,
쉘과 GUI는 커널과 사용자 사이의 중간 역할을 하며, 사용자가 입력한 명령어를 받아서 커널에 전달하는 역할을 하게 됩니다.
그렇다면 쉘과 GUI란 무엇일까요?
사용자가 대화하기 위해 사용하는 프로그램, 즉 텍스트 기반 시스템에서 쉘(Shell)과
아이콘을 사용하는 경우 GUI(Graphical User Interface)라고 부르는 것은 운영체제를 이용해서 일을 하지만
실제 운영체제의 일부는 아닙니다.
대부분의 컴퓨터는 커널(Kernel)모드와 사용자 모드라는 이중 실행 모드를 갖고 있습니다.
이중 실행 모드란 컴퓨터 시스템에서 프로그램의 실행을 보호하고 시스템 자원의 안정적인 관리를 위해
두 가지 모드로 구분하여 실행하는 방법입니다. 시스템의 보안과 안정성을 보장하는 핵심 기술인데,
만약에 모든 프로그램이 하드웨어 자원에 직접 접근할 수 있다면, 각 프로그램이 다른 프로그램에 간섭하거나
시스템의 중요한 자원(메모리, CPU 등)을 잘못 사용할 위험이 있기 때문입니다.
이를 방지하기 위해서 사용자 모드에서 동작하는 프로그램이 하드웨어 자원에 직접 접근하지 못하도록 제한하고,
커널 모드에서만 자원 접근이 가능하게 하는 것 입니다.
운영체제는 가장 기본적인 소프트웨어로 커널 모드에서 실행되며, 해당 모드에서 운영체제는 모든 하드웨어에 대한
완전한 접근이 가능하며 기계가 실행할 수 있는 어떤 명령도 실행할 수 있습니다.
나머지 소프트웨어는 기계 명령 중 일부만을 실행할 수 있는 사용자 모드에서 실행하게 됩니다.
그러므로 기계의 제어에 영향을 미치거나 I/O를 하는 명령들은 사용자 모드에서 실행할 수 없습니다.
그렇다면 위의 그림 중에서 사용자 인터페이스 프로그램(User Interface Program)에서는 어떤 일이 일어날까요?
사용자 인터페이스 프로그램인 쉘이나 GUI는 사용자 모드 소프트웨어 중에서 가장 낮은 계층에 존재하며 웹 브라우저,
이메일 프로그램, 또는 음악 재생기와 같은 다른 프로그램들을 시작할 수 있도록 해줍니다.
지금까지 내용들은 전반적으로 어렵지는 않은 것 같은데요, 더 많은 것들이 있지만 계속해서 배워나갈 것이기 때문에
이해가 가지 않더라도 쫓아오다 보면 모두 이해하실 수 있으실 것 입니다.
다음 포스팅부터 운영체제에 대해서 구체적으로 알아보도록 하겠습니다.
읽어주셔서 감사합니다!
'전자전기공학 > 운영체제' 카테고리의 다른 글
[Operating System/운영체제][Synchronization] (0) | 2024.10.14 |
---|---|
[Operating System/운영체제][Thread] (4) | 2024.10.08 |
[Operating System/운영체제][Process] (8) | 2024.10.07 |
[Operating System/운영체제][Trap, System Call, Fault, Interrupt] (0) | 2024.09.30 |
[Operating System/운영체제][운영체제와 하드웨어] (0) | 2024.09.15 |