728x90
반응형
OS(운영체제)
- OS는 컴퓨터 하드웨어와 응용프로그램을 관리하는 소프트웨어입니다.
- 하드웨어는 OS 없이는 독립적으로 동작할 수 없습니다.
- 하드웨어: CPU, 메모리, 입출력 장치(I/O device), 저장 장치(SSD, HDD) 등
- 응용프로그램은 OS를 통해 하드웨어 자원을 요청하고 사용합니다.
- OS는 응용프로그램에 하드웨어 자원을 효율적으로 분배 및 관리하여 프로그램이 원활히 작동하도록 지원합니다.
- OS는 SSD나 HDD와 같은 저장 장치에 저장되고, 컴퓨터가 켜질 때 메모리에 로드됩니다.
OS와 응용프로그램 간 상호작용
- 응용프로그램이 OS의 기능을 사용할 수 있도록 OS는 시스템 콜이라는 명령 또는 함수 인터페이스를 제공합니다.
- 보통 응용프로그램은 시스템 콜을 직접 사용하기보다는, 시스템 콜을 호출하는 각 언어의 라이브러리(API)를 통해 OS에 요청을 전달합니다.
- 시스템 콜이 없으면 OS에 기능을 요청할 수 없으며, OS의 기능을 사용할 수 없습니다.
- OS의 개발 과정은 다음과 같은 순서로 이루어집니다:
- OS의 핵심인 커널 개발
- 시스템 콜 인터페이스 개발
- 특정 프로그래밍 언어(예: C 언어)로 된 라이브러리(API) 개발
- 쉘 프로그램 개발(사용자가 OS와 상호작용할 수 있도록 CLI, GUI 제공)
- 최종적으로 응용프로그램 개발
- OS는 응용프로그램을 관리합니다.
- 응용프로그램 간 권한 관리: 응용프로그램이 임의로 시스템에 접근하거나 영향을 미치지 못하도록 제한합니다.
- 응용프로그램의 사용자 관리
- 부팅 시 사용자 로그인을 통해 OS는 사용자의 권한에 맞춰 응용프로그램과 시스템 리소스 접근 권한을 제한 및 부여
- 예) PC 부팅 시 사용자 선택 및 로그인 화면
OS와 사용자 간 상호작용
- 쉘 프로그램: GUI나 CLI를 통해 사용자가 OS의 기능 및 시스템 서비스를 제어하고 사용할 수 있도록 도와주는 인터페이스입니다.
CPU Protections Rings
- CPU는 보호 링(protection ring) 은 시스템 자원에 대한 접근 권한을 계층화하여 OS와 응용프로그램이 안전하게 작동하도록 하는 보안 구조입니다.
- 대부분의 CPU는 Ring 0과 Ring 3만 사용합니다.
- Ring 3: 사용자 모드로, 주로 응용프로그램이 이 모드를 사용합니다.
- Ring 0: 커널 모드로, OS의 커널이 이 모드를 사용하여 시스템 자원에 대한 특권 명령을 실행하고 하드웨어에 직접 접근할 수 있습니다.
- 사용자 모드와 커널 모드가 나뉘어 있어 응용프로그램이 임의로 시스템을 변경하거나 손상시키지 못하도록 보호합니다.
- 시스템 콜은 커널 모드에서 실행됩니다.
- 응용프로그램이 OS 기능이 필요한 API를 호출하면, 시스템 콜이 호출되어 CPU가 사용자모드에서 커널 모드로 전환됩니다.
- OS가 해당 명령을 처리한 후, 다시 사용자 모드로 돌아옵니다.
728x90
반응형
'Computer Science' 카테고리의 다른 글
프로세스 스케줄링 (0) | 2024.11.11 |
---|---|
OS History (4) | 2024.11.05 |
CS) CPU (0) | 2023.01.07 |
CS) filp-flop / RAM (0) | 2023.01.07 |