운영체제는 하드웨어를 관리한다.
운영체제에서 사용되는 추상화
- 파일: 입출력 장치의 추상화
- 가상 메모리: 메인 메모리와 입출력 장치의 추상화
- 각 프로세스들이 메인 메모리를 독점으로 사용하는 것 같게 느끼게 함.
분할된 메모리 영역에서 가상주소를 받고 그걸 사용함. - 예시) 프로세스 A가 메모리를 할당받는다면, A 속 어떤 명령의 가상 주소 = k,
A 속 어떤 명령의 물리적 주소 = 프로세스 A의 물리적 주소 + k
- 각 프로세스들이 메인 메모리를 독점으로 사용하는 것 같게 느끼게 함.
- 프로세스: 프로세서, 메인 메모리, 입출력 장치의 추상화
- 프로세스는 여러개 동시에 실행 가능
(프로세스를 재빨리 바꿔 동시에 실행하는 것처럼 보임(context switching).
바뀔 때 실행한 내용은 저장하고 서로 참조함.) - 요즘엔 프로세스를 쓰레드라는 다수의 실행 유닛으로 구성함.
쓰레드는 저장된 자료를 참고하기 더 용이해서
프로세스 여러개 돌리는 것보다 쓰레드 여러개 돌리는게 더 효율적.
- 프로세스는 여러개 동시에 실행 가능
- 기타 등등
동시성과 병렬성
- 동시성: 단지 다수의 일이 동시에 벌어지는 것을 뜻함
- 병렬성: 동시성을 사용해서 시스템이 빠르게 동작하는 것을 뜻함
- 쓰레드 수준 동시성(한 프로세서 내 다양한 동작)
- 시간 공유: 프로세서들끼리 빠르게 전환해 동시에 실행하는 것처럼 보이게 하는 방법
- 단일 프로세서 시스템: 실질적 계산을 한개의 프로세서에서만 하게 시스템 구성하는 방법
- 멀티 프로세서 시스템: 여러개의 프로세서를 동시에 돌리기 (멀티코어 프로세서, 하이퍼쓰레딩)
- 인스트럭션 수준 병렬성(최근엔 여러개의 명령어(인스트럭션)를 한번에 실행할 수 있게 됨)
- 싱글 인스트럭션, 다중 데이터 병렬성
728x90
반응형
'CS > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조](11)[어셈블리어 2] (0) | 2025.01.21 |
---|---|
[컴퓨터 구조](10)[어셈블리어 1] (0) | 2025.01.20 |
[컴퓨터 구조](8)[하드웨어의 동작 + 암달의 법칙] (0) | 2025.01.16 |
[컴퓨터 구조](7)[컴퓨터 구조 훑어보기] (3) | 2025.01.15 |
[컴퓨터 구조](6)[부동 소수점의 연산] (2) | 2025.01.14 |