1. 운영체제(Operating System)
- 컴퓨터 하드웨어 바로 위에 설치되어, 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 프로그램
- 컴퓨터 시스템은 하드웨어, 운영체제, 소프트웨터, 사용자로 구분
- 커널(Kernel)
- 컴퓨터의 전원이 켜지면 항상 메모리에 상주하는 프로그램
- 운영체제의 핵심
- 커널 구현에는 List, Stack, Queue, Linked List, Tree, Hash Function, Bitmap등의 자료구조가 사용
- 운영체제의 역할
- 사용자 관점
- 컴퓨터를 쉽고 편하게 사용하는 것이 목적
- 시스템 관점
- 운영체제가 컴퓨터 자원을 적절하게 할당하고 제어하여 효율적으로 시스템이 작동되게 하는 것이 목적
- 사용자 관점
2. 운영체제 구분
- 동시 작업 가능 여부
- 단일 작업(Single Tasking)
- 한 번에 하나의 작업만 가능한 운영체제
- 한 명령이 끝나기 전에 다른 명령 수행 불가
- 다중 작업(MultiTasking)
- 동시에 두 개 이상의 작업 처리가 가능
- 단일 작업(Single Tasking)
- 사용자의 수
- 단일 사용자
- 다중 사용자
- 처리 방식
- 일괄 처리(Batch Processing)
- 작업을 일정량을 모아 한 번에 처리
- 작업이 완전히 종료될 때까지 대기
- 시분할(Time Sharing)
- 여러 작업 수행 시 컴퓨터 처리 능력을 일정 시간 단위로 분할하여 처리
- Batch 방식에 비해 짧은 응답 시간
- 현대 컴퓨터가 사용하는 방식
- 실시간(Real Time)
- 정해진 시간(Deadline) 안에 작업을 반드시 처리
- 일괄 처리(Batch Processing)
3. 컴퓨터 시스템 구조
- Single-Processor System
- 과거 대부분의 컴퓨터로, 하나의 메인 CPU만 탑재된 시스템
- 장치에 따라 특별한 목적을 가진 프로세서가 추가
- Multi-processor System
- 현대 컴퓨터 시스템으로 2개 이상의 프로세서를 가짐
- 각각의 CPU는 각자의 레지스터와 캐시를 가짐
- 장점
- 처리량(Throughput)의 증가
- 프로세서가 증가하여 처리량이 증가하고 더 빠른 연산이 가능
- 무작정 프로세스를 늘린다고 성능이 한없이 좋아지진 않음
- 규모의 경제
- 멀티 프로세서 시스템은 여러 싱글 프로세서 시스템을 구축하는 것보다 비용이 적게 듬
- 멀티 프로세서 시스템은 주변 장치(Peripherals)를 공유할 수 있기 때문
- 멀티 프로세서 시스템은 여러 싱글 프로세서 시스템을 구축하는 것보다 비용이 적게 듬
- 신뢰성의 증가
- 여러 프로세스에 기능이 분산되면, 한 프로세서가 작동을 멈춰도 시스템은 멈추지 않음
- 처리량(Throughput)의 증가
- Multicore Design
- 하나의 칩(Chip)에 여러 개의 코어(Core)가 들어간 것을 멀티코어(Multicore)라고 부름
- 코어는 동일한 성능의 CPU 여러 개를 1개의 칩 속에 넣어둔 것이
- 칩 내부의 통신이 칩 사이의 통신보다 빠르기 때문에 더 효율적
- Clustered System
- 멀티 프로세서 시스템의 일종인 클러스터 시스템(Clustered System)은 여러 CPU를 모아놓은 구조
- 클러스터 컴퓨터들이 하나의 저장소를 공유하고, 이를 네트워크로 연결한 시스템을 클러스터 시스템이라고 함
- 비동기식 클러스터링(Asymmetric Clustering)
- 하나의 서버가 작업을 수행하고 다른 서버들은 모니터링하며 대기
- 동기식 클러스터링(Symmetric Clustering)
- 동시에 작업을 수행하면서 서로를 모니터링
'컴퓨터 구조 &운영체제 > 컴퓨터구조 + 운영체제' 카테고리의 다른 글
CPU Scheduling (0) | 2023.08.29 |
---|---|
프로세스 (0) | 2023.08.14 |
메모리 (0) | 2023.08.14 |
CPU의 구조 (0) | 2023.08.12 |
컴퓨터 구조 (0) | 2023.08.10 |