1. 운영체제의 정의와 컴퓨터 자원
운영체제?
컴퓨터 자원을 효율적을 관리하는 SW
컴퓨터자원?
운영체제가 관리하는 주요 컴퓨터 자원
- 메모리: 주기억장치(RAM)와 보조기억장치(디스크)
- CPU: 프로세스 실행을 담당하는 중앙처리장치
- 입출력 장치: 키보드, 마우스, 디스플레이, 네트워크 카드 등
2. 운영체제의 구조
2-1. 커널
운영체제의 핵심, 컴퓨터 자원 관리, 소프트웨어와 하드웨어 사이의 중개자
(운영체제는 컴퓨터의 자원을 효율적으로 관리하는 SW인데, 커널은 그 SW의 핵심입니다.
그렇다면!!
커널이라는 것은 운영체제가 하는 일을 실행하는 핵심이라고 볼 수 있습니다.)
a. CPU 관리
- 프로세스 스케줄링: 프로세스에 CPU를 배분하고 작업에 필요한 환경 제공
- 컨텍스트 스위칭: 여러 프로세스 간 CPU 작업 전환
b. 메모리 관리
- 프로세스 메모리 할당 및 해제: 각 프로세스가 필요한 만큼의 메모리 할당 및 해제
- 가상 메모리 지원: 물리적 메모리 부족할 때 가상 공간 제공
- 메모리 보호: 프로세스간 메모리 접근 충돌 방지
c. 파일 시스템 관리
- 데이터 저장 및 접근: 파일의 생성, 수정, 삭제 제어
- 파일 권한 관리: 사용자가 파일에 접근할 수 있는 권한 설정
d. I/O 장치 관리
- 하드웨어 장치와 애플리케이션 간의 데이터 전달 담당
- 장치 드라이버를 통해 다양한 하드웨어 제어
2-2. 인터페이스
a. 사용자와의 커뮤니케이션
- CLI, GUI
b. 응용 프로그램과의 커뮤니케이션
- 응용 프로그램은 컴퓨터 자원에 직접 접근 불가
- 항상 커널에게 컴퓨터 자원 사용을 요청해야함
시스템 콜(system call)
역할
- 응용 프로그램이 커널 기능을 호출할 수 있도록 함수 형태의 인터페이스 제공
작동 방식
- 사용자 모드에서 실행 중인 응용 프로그램이 특정 자원을 요청할 경우, 시스템 콜을 통해 커널 모드로 전환
- 커널 모드에서 요청을 처리한 후 다시 사용자 모드로 전환
ex) 파일 열기, 데이터 읽기/쓰기, 네트워크 연결 요청 등
c. 하드웨어와의 커뮤니케이션
드라이버
- 하드웨어를 제어하기 위한 소프트웨어
- 커널이 하드웨어에 액세스 시, 해당 요청을 하드웨어가 이해할 수 있는 기계어로 변환하여 하드웨어로 전달
펌웨어
- 드라이버로부터 받은 기계어를 해석하고 실행
'운영체제' 카테고리의 다른 글
프로세스와 운영체제의 이해 (1) | 2024.12.15 |
---|---|
컴퓨터의 구성과 동작원리 (0) | 2024.12.11 |