일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- it
- 대학수업
- 컴퓨터
- 네트워크
- nvidia
- 컴퓨터네트워크
- Network
- ICT이노베이션스퀘어 인공지능 교육
- 파이썬
- IOT
- NVIDIA DLI워크숍
- DEEP LEARNING INSTITUTE
- Developer
- front-end
- Dit
- AI프로그래밍
- ICT
- pc
- DEEPLEARNINGINSTITUTE
- 운영체제
- 딥러닝
- 컴퓨터수업
- DeepLearning
- Stem
- DLI워크숍
- Back-End
- NVIDIADLI워크숍
- Python
- 컴퓨터운영체제
- Ai
- Today
- Total
코딩 이야기
[2022-2] 운영체제 - 220922 본문
1) 입출력 프로그래밍
① 처리 속도의 차이
- 전자 장치 : CPU, Main Memory
→ 칩의 고밀도화로 꾸준히 성능(처리속도) 향상
→ CPU와 Main Memory는 동기적 수행* (** CPU와 Main Memory는 어깨동무를 하고 같이 갈 수 있는 사이)
* 동기적 수행 : 시스템 클럭 (clock) 펄스에 맞춰서 동작, 서로 박자를 맞춰 고속으로 동작 가능
- 기계 장치 : 입출력장치 (Printer, ...)
→ 기계적 작동 처리 특성상 속도 향상의 한계
- CPU와 입출력 장치는 비동기적으로 수행 될 수 밖에 없음
→ 비동기적 수행 : 프린터가 출력하는 동안 CPU는 기다리지 않고 다른 일을 처리
→ 병행적 수행
- 입출력 장치의 느린 속도를 보완하는 방법들
① 버퍼링(buffering)
→ 주기억 장치의 일부(buffer)를 입출력 데이터를 저장하는 곳으로 활용
→ 채널 (channel)을 이용하여 복잡한 버퍼링도 가능
② 스풀링(SPOOLing)
→ Simultaneous Peripheral Operation On-Line
→ 보조기억장치(HDD, SSD, ...)를 매우 큰 버퍼로 활용
→ 다수의 프로세스가 제한된 입출력 장치를 가상장치(virtual device) 개념으로 공유할 수 있도록 함
→ 운영체제의 일부인 SPOOL 프로그램으로 구현
→ 각보조기억 장치 공간을 가상 입출력 장치로 제공
→ 각 프로세스는 독립적인 입출력 장치를 가진 것으로 동작
③ 채널(channel) :
→ 입출력 전담 처리기
→ CPU는 채널을 통해서 입출력 처리
2) BIOS (Basic Input / Output System)
- 컴퓨터에 전원 들어왔을 때, CPU가 실행할 명령은?
→ ROM Chip에 저장된 프로그램이 실행됨 → BIOS
- 부팅에 필요한 프로그램 포함
- firmware : 컴퓨터 칩에 저장된 프로그램
3) 부트 진행 과정 (boot process)
- Power ON
- 부트 로더 초기화
- POST 실행
→ POST (Power-On Self-Test)
→ 교재 P.33 참조
- 다른 BIOS 초기화
- Memory Test
- P&P 장치 초기화
...
- OS 초기화
4) 인터럽트 (interrupt)
- 명령을 실행 중인 CPU가 별도로 발생한 상황을 우선 처리하는 매커니즘
① 인터럽트 종류
1) 입출력 (I/O) 인터럽트
- 입출력 장치의 동작 완료, 오류 발생 등
2) 외부 인터럽트
- 타이머 만료, 사용자 요청(Ctrl-C, Ctrl-d, ...) 등
3) SVC (SuperVisor Call) 인터럽트
- 사용자 프로그램의 요청 (입출력 실행, 메모리 할당 등...)
- 운영체제의 입장에서 볼 때는 인터럽트이다.
4) 기계검사 (machine check) 인터럽트
- H/W (HardWare) 장애, 오류 발생 등
5) 프로그램 에러 인터럽트
- divide by 0, stack overflow, ...
6) 재시작 인터럽트
- 시작 버튼 후 다시 시작 버튼 누르기 (수동 재부팅)
- 전원 버튼 5초 이상 누를 경우 (강제 재부팅)
'University Study > 운영체제' 카테고리의 다른 글
[2022-2] 운영체제 - 221103 (0) | 2022.11.03 |
---|---|
[2022-2] 운영체제 - 221020 (0) | 2022.10.20 |
[2022-2] 운영체제 - 221013 (0) | 2022.10.13 |
[2022-2] 운영체제 - 220929 (0) | 2022.09.29 |
[2022-2] 운영체제 - 220915 (0) | 2022.09.20 |