안녕하세요. BTC95 입니다.
오늘은 OS의 역할과 구조에 대해 간단히 알아보겠습니다.
운영체제의 역할
자원관리
컴퓨터 시스템 자원 효율적 관리
(시스템 자원 - CPU, Memory, I/O장치와 같은 하드웨어 자원과 프로세스, 파일 메시지 등의 소프트웨어 자원)
자원 보호
프로그램이나 다른 사용자가 데이터를 삭제하거나 중요 파일에 접근하지 못하게 컴퓨터 자원들 보호
인터페이스 제공
하드웨어 인터페이스와 사용자 인터페이스 제공하여 편리하게 사용하도록 지원
운영체제의 구조
커널 (Kernel)
운영체제는 규모가 매우 큰 프로그램이므로, 운영체제의 모든 부분을 메모리에 올려놓는 것은 메모리의 측면으로 봤을 때 굉장히 비효율적입니다. 따라서, 운영체제는 필요한 부분만을 메모리에 올려서 사용하게 되는데, 이 때 메모리에 상주하는 운영체제의 핵심 부분을 커널이라고 합니다.
커널은 메모리에 상주하는 부분이므로, 운영체제의 핵심 부분이라고 볼 수 있기 때문에, 주로 '운영체제 = 커널' 이라고 말합니다.
시스템 콜 (System Call)
사용자는 운영체제의 기능을 담당하는 커널에 직접 접근할 수가 없습니다. 따라서, 사용자와 커널 사이에 인터페이스 역할이 필요한데, 시스템 콜이 바로 이 역할을 하게 된다고 합니다.
사용자가 커널 영역을 사용할 수 있게, 즉 응용프로그램이 시스템 자원에 직접 접근하여 필요한 기능을 사용할 수 있게 해주는 함수를 의미합니다. 하지만 보통은 응용프로그램은 시스템 콜을 직접 사용하지 않고, 해당 시스템 콜을 사용하여 만든 언어 별 라이브러리 API를 통해 커널에 접근할 수 있습니다.
API (Application Programming Interface)
운영체제가 응용 프로그램을 위해 제공하는 함수의 집합입니다. 사용자가 마우스 클릭을 인식시키기 위해서 마우스 버튼이 눌리는 순간부터 컴퓨터 내부의 모든 동작들을 모두 관여하여 프로그래밍하는 것은 너무 비효율적이기 때문에, 기본적이고 최소한의 기능들을 함수로 제공하여, 사용자가 함수를 호출해서 사용할 수 있도록 도와주는 역할을 합니다.
쉘 (Shell)
쉘은 운영체제가 사용자를 위해 제공하는 인터페이스입니다. 사용자가 운영체제의 기능을 조작할 수 있도록 인터페이스를 제공하는 일종의 응용프로그램으로 CLI 환경과 GUI 환경 두 종류로 분류됩니다.
- GUI: 그림이나 아이콘, 버튼 등을 통해 소통하는 방식입니다.
우리가 마우스를 통해서 컴퓨터에서 어떤 작업을 할 때 그때의 환경을 GUI라고 합니다. GUI 방식은 CLI에 비해 접근성이 좋아 GUI 방식의 도입으로 컴퓨터가 널리 활용되게 되었습니다.
- CLI: 글자의 입출력을 통해 사용자아 컴퓨터 간 소통하는 방식입니다.
초창기 컴퓨터가 발명되었을 때는 마우스가 없었기 때문에 자연스럽게 CLI 방법을 사용하였는데 CLI는 GUI와 다르게 새로운 언어를 배우는 것처럼 배워서 사용해야 해 진입 장벽이 있습니다.
감사합니다.
'OS' 카테고리의 다른 글
[OS]Mac OS의 역사 - 2 (0) | 2022.06.07 |
---|---|
[OS]Mac OS의 역사 - 1 (0) | 2022.05.30 |
[OS]운영체제(OS: Operating System)의 종류 (0) | 2022.04.27 |
[OS]운영체제(OS: Operating System)의 역사 (0) | 2022.04.14 |
[OS]운영체제(OS: Operating System)의 정의 (0) | 2022.04.07 |
댓글