티스토리 뷰
💾 컴퓨터 시스템의 구성 💾
1. 하드웨어
✅기본 계산용 자원 제공
✅중앙 처리 장치(CPU), 메모리 및 입출력(I/O) 장치
2. 운영체제
✅다양한 사용자를 위해 다양한 응용 프로그램 간의 하드웨어 사용을 제어하고 조절
3. 응용프로그램
✅사용자의 계산 문제를 해결하기 위해 이들 자원이 어떻게 사용될 지 정의
✅워드 프로세서, 스프레드 시트, 컴파일러, 웹브라우저 등
4. 사용자
✅컴퓨터 시스템을 이용하는 사람
✅응용프로그램을 실행하고자 하는 프로세스도 사용자가 될 수 있다.
사용자의 관점에서 운영체제의 역할
사용자의 관점은 인터페이스에 따라 달라진다.
사용자의 관점에서 봤을때 운영체제의 주 역할은 사용자가 수행하는 작업을 최대화하는 것이다. 따라서 운영체제는 대부분 사용자의 용이성을 위해 설계되고 자원의 이용에는 전혀 신경을 쓰지 않는다.
< 다양한 인터페이스에 따른 설계 >
1. 노트북이나 PC : 한 사용자가 자원을 독점하도록 설계
2. 스마트폰 및 태블릿과 같은 모바일 장치 : 터치스크린, Apple의 Siri 음성인식과 같은 사용자와의 상호작용에 중점
3. 가전제품, 자동차 내의 내장형 컴퓨터 : 사용자의 개입 없이 작동되도록 설계
시스템 관점에서 운영체제의 역할
시스템 관점에서 본 운영체제는 1. 자원할당자(resource allocator)이다. 하드웨어와 소프트웨어, CPU 시간, 메모리 공간, 저장장치 공간, 입출력 장치 등과 같은 자원들이 상충하지 않도록 관리한다. 컴퓨터 시스템을 효율적이고 공정하게 운영하도록 한다.
또한 운영체제는 2. 제어 프로그램(control program) 이다. 사용자의 하드웨어 부적절한 접근을 방지하기 위해 사용자 프로그램 수행을 제어한다. 사용자는 하드웨어에 접근하고 싶을 경우 관련된 응용프로그램을 실행시켜서 운영체제의 제어 안에서 접근할 수 있다. 특히, 운영체제는 입출력 장치의 제어와 작동에 깊이 관여한다.
운영체제의 정의
일반적으로 운영체제는 유용한 컴퓨팅 시스템을 만드는 문제를 합리적으로 해결하기 위해 존재한다. 이를 위해서 운영체제는 자원을 제어하고 할당하며 사용자의 용이성을 위해 설계된다. 그렇지만 운영체제에 포함된 기능은 각 운영체제마다 다르다. 따라서 운영체제를 하나로 정의할 수 없다.
운영체제를 하나로 정의할 수는 없지만 운영체제에 항상 포함되어있는 기능은 다음과 같다.
1. 항상 실행 중인 커널
2. 응용 프로그램 개발을 쉽게 하고 기능을 제공하는 미들웨어 프레임 워크
3. 시스템 실행 중에 시스템을 관리하는 데 도움이 되는 시스템 프로그램
운영체제의 구성 기능이 중요해짐에 따라 Microsoft는 운영체제에 많은 기능을 포함시켰다. 1998년 미국 법무부는 Microsoft가 운영체제에 너무 많은 기능을 포함하여 응용 프로그램 공급 업체의 경쟁을 막았기때문에 독점적 위치를 사용했다는 이유로 유죄를 선고했다.
그러나 오늘날 모바일 기기의 운영체제를 보면 운영체제를 구성하는 기능의 수가 다시 증가함을 알 수 있다. 모바일 운영체제에는 핵심 커널뿐만 아니라 미들웨어도 포함된다.
하드웨어만으로는 컴퓨터 사용이 쉽지 않기 때문에 응용프로그램이 개발되었다. 이러한 프로그램에 필요한 특정 공통 작업(입출력 제어 장치)을 처리하기 위해 운영체제가 등장했다.
'👩🏻💻개발공부 > 운영체제' 카테고리의 다른 글
[🦖운영체제 1.7, 1.8] 가상화, 분산 시스템 (0) | 2024.04.15 |
---|---|
[🦖운영체제 1.5] 자원관리 - 프로세스 관리, 메모리 관리, 파일 시스템 관리, 대용량 저장장치 관리, 캐시 관리, 입출력 시스템 관리 (3) | 2024.04.14 |
[🦖운영체제 1.4] 운영체제의 작동 - 다중 프로그래밍, 모드, 타이머 (0) | 2024.04.13 |
[🦖운영체제 1.3] 컴퓨터 시스템 구조 - 단일, 다중 처리기 시스템, 클러스터형 시스템 (3) | 2024.04.06 |
[🦖운영체제 1.2] 컴퓨터 시스템의 구성 - 인터럽트, 저장장치, 입출력 구조 (0) | 2024.04.02 |
- Total
- Today
- Yesterday
- 개발
- 백준
- 혼공
- 자바스크립트
- 깃 예제
- 혼공단 SQL
- C++
- 운영체제
- MySQL
- 해커톤
- SQL
- 혼공단 9기
- 교환학생
- 공룡책
- nodejs
- JavaScript
- 스페인
- Process
- 리눅스
- 혼공학습단
- JS
- Linux
- AWS
- 백엔드 개발
- 개발일지
- Signal
- 스페인 교환학생
- 프로젝트
- 혼공단
- googleapis
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |