728x90
운영체제란?
- 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공
- 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공
- 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행
- 컴퓨터 시스템의 자원을 효율적으로 관리
- CPU, 메모리, I/O 장치 등의 효율적 관리
- 주어진 자원으로 최대한의 성능을 내도록 -> 효율성
- 특정 사용자/프로그램의 지나친 불이익이 발생하지 않도록 -> 형평성
- 사용자 및 운영체제 자신의 보호
- CPU, 메모리, I/O 장치 등의 효율적 관리
컴퓨터 시스템의 구조
- CPU 작업공간 = 메모리
- CPU는 I/O device와 소통하기 위해 I/O controller(작은 CPU 개념)와 통신
- CPU 스케줄링 : 어떤 프로그램에게 CPU 사용권을 줄까?
- 하드웨어와 협조
- 메모리관리 : 한정된 메모리를 어떻게 쪼개어 쓰지?
- 디스크 스케줄링 : 디스크에 들어온 요청을 어떤 순서로 처리할까?
- 디스크는 CPU의 백 만배 정도 느림
- 메모리는 CPU의 백 배 정도 느림
- 엘리베이터 스케줄링과 동일함
- 인터럽트, 캐싱 : 빠른 CPU와 느린 I/O 장치간 속도차를 어떻게 극복하지?
프로세스의 상태
출처 : kocw 이화여자대학교 반효경 교수님의 운영체제 강의
728x90
'프로그래밍공부(Programming Study) > 운영체제(OS)' 카테고리의 다른 글
멜트다운(Meltdown)과 스펙터(Spectre): CPU 보안 취약점의 이해 (0) | 2024.09.19 |
---|---|
하이퍼스레딩(Hyper-Threading)이란? 개념, 특징, 장단점, 그리고 실제 사례 (1) | 2024.09.19 |
macOS에서 하드웨어 정보 확인하는 법 (0) | 2024.09.19 |
[운영체제]2. 운영체제의 기능과 종류 (0) | 2023.03.26 |
메모리 계층과 메모리 관리 (0) | 2022.07.27 |
댓글