일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 테스트주도개발
- 페이지교체알고리즘
- 3XN 타일링
- 풀이
- TDD란?
- 구현
- REACT
- 1796
- tfjs
- 메모리계층
- LOLIN D32
- c++
- mediastream
- 구슬탈출
- Vite 사용 이유
- 적두트리
- 자료구조
- OpenVidu
- 2623
- 13459
- TDD
- stl
- dp
- RBT
- ESP32
- 백준 2133
- 데이터 링크 계층
- 백준
- WebRTC란
- 9996
- Today
- Total
그냥 블로그
[운영체제] 운영체제와 컴퓨터 본문
1.1 운영 체제의 역할과 구조
운영 체제란?
사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스로 시스템 자원을 효율적으로 분배하는 역할을 한다.
1.1 운영 체제의 역할과 구조
1.1.1 역할
1.1.2 구조
1.1.3 컴퓨터의 요소
1.1.1 운영체제의 역할
1. CPU 스케줄링과 프로세스 관리
2. 메모리 관리
3. 디스크 파일 관리
4. I/O 디바이스 관리
1.1.2 운영체제의 구조
운영체제는 보통 하드웨어 위에 4단계로 구성되어 있다.
위에서 부터 GUI-시스템콜-커널-드라이버
+ 커널은 운영체제의 핵심!
시스템콜?
유저모드 ↔ 커널모드 간의 접근을 하기 위한 인터페이스
커널 영역의 기능을 사용자 모드가 사용 가능하게, 즉 프로세스가 하드웨어에 접근해서 필요한 기능을 사용할 수 있게 해준다.
보안에 대한 장점을 갖고 있다. 유저 모드에서 바로 i/o 장치에 접근하는 것은 보안적으로 굉장히 취약하다.
modebit?
유저 모드와 커널 모드를 시스템 콜이 구분 가능하도록 0과 1로 나타내는 bit이다.
1.2 컴퓨터의 요소
1.2.1 CPU
1.2.2 그 외
1.2.1 CPU
컴퓨터는 기본적으로 CPU, DMA 컨트롤러, 메모리, 타이머, 디바이스 컨트롤러 등으로 이루어진다.
CPU? 제어 + 산술 논리 연산 장치 + 레지스터
CPU는 산술논리연산장치, 제어장치, 레지스터로 구성되어 있다. 인터럽트에 의해 단순히 메모리에 존재하는 명령어를 해석해 실행한다.
- 제어 장치(CU, Control Unit) : 프로세스 조작을 지시하는 CPU의 한 부품이다. 입출력장치 간 통신을 제어하고 명령어들을 읽고 해석해 데이터 처리를 위한 순서를 결정한다.
- 레지스터 : CPU에 내장되어 있는 임시 기억 장치이다. CPU는 데이터를 저장할 방법이 없기 때문에 레지스터를 거쳐 데이터를 전달해야한다.
- 산술 논리 연산 장치 : 덧셈, 뺄셈과 같은 산술 연산을 수행한다
CPU의 연산 처리
1) 제어 장치가 메모리에 계산할 값을 로드 + 레지스터 로드
2) 제어장치가 레지스터에 있는 값을 계산하라고 ALU에 명령
3) 제어장치가 계산한 값을 다시 레지스터에서 메모리로 저장.
인터럽트?
어떤 신호가 들어왔을 때 CPU를 잠깐 정지시키는 것이다.
1) 하드웨어 인터럽트
키보드를 연결 한다거나 마우스를 연결하는 일 등의 IO 디바이스에서 발생하는 인터럽트.
인터럽트 라인이 설계되면 순차적 인터럽트 실행을 중지하고 운영체제에 시스템 콜을 요청해 원하는 디바이스로 향해
디바이스에 있는 작은 로컬 버퍼에 접근해 일을 수행한다.
2) 소프트웨어 인터럽트
소프트웨어 인터럽트는 트랩이라한다. 프로세스 오류 등으로 프로세스가 시스템 콜을 호출할 때 발동
1.2.2 그 외
DMA 컨트롤러 (Direct Memory Acess)
I/O 장치가 메모리에 바로 접근할 수 있도록 하는 역할이다. 이는 CPU의 부하를 줄여준다. 또 하나의 작업을 CPU와 DMA 컨트롤러가 동시에 하는 것도 막아준다고...
메모리
전자 회로에서 데이터나 상태, 명령어 등을 기록하는 장치다. 크면 많은 일을 동시에 진행 가능하다.
타이머
CPU를 한 프로그램이 독점하는 경우를 방지한다. 시간 제한
디바이스 컨트롤러
컴퓨터와 연결되어 있는 IO 디바이스들의 작은 CPU를 말한다. 옆에 있는 로컬 버퍼는 각 디바이스에서 데이터를 임시 로 저장하기 위한 작은 메모리다.
++ I/O 장비들의 입력은 굉장히 느리고, CPU가 모든 일을 멈추고 기다린다면(인터럽트) 굉장히 비효율 적일 것이다. 이 때문에 디바이스 컨트롤러가 존재한다. 컨트롤러를 이용(작은 CPU)해서 실행하고 주 기억장치에 DMA 컨트롤러를 사용해 바로 보내버려서 CPU의 효율을 높이는 것이다.
https://www.yes24.com/Product/Goods/108887922
https://victor8481.tistory.com/280
https://jihooyim1.gitbooks.io/iknowosbasic/content/contents/00.html
https://blockdmask.tistory.com/69
https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html
http://www.kocw.net/home/search/kemView.do?kemId=1046323
'CS > 운영체제' 카테고리의 다른 글
[Linux] 파일 및 디렉토리 구조/시스템 (1) | 2024.08.05 |
---|---|
[운영체제] 🧐 프로세스 메모리 구조 모델 (0) | 2024.07.22 |
[운영체제] 교착 상태 (1) | 2023.10.29 |
[운영체제] 프로세스와 스레드 (1) | 2023.10.28 |
[운영체제] 메모리 (1) | 2023.10.22 |