컴퓨터 구조 &운영체제/컴퓨터구조 + 운영체제

운영체제 기초

busy맨 2023. 8. 14. 15:21

1. 운영체제(Operating System)

  • 컴퓨터 하드웨어 바로 위에 설치되어, 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 프로그램
  • 컴퓨터 시스템은 하드웨어, 운영체제, 소프트웨터, 사용자로 구분
  • 커널(Kernel)
    • 컴퓨터의 전원이 켜지면 항상 메모리에 상주하는 프로그램
    • 운영체제의 핵심
    • 커널 구현에는 List, Stack, Queue, Linked List, Tree, Hash Function, Bitmap등의 자료구조가 사용

  • 운영체제의 역할
    • 사용자 관점
      • 컴퓨터를 쉽고 편하게 사용하는 것이 목적
    • 시스템 관점
      • 운영체제가 컴퓨터 자원을 적절하게 할당하고 제어하여 효율적으로 시스템이 작동되게 하는 것이 목적

 

2. 운영체제 구분

  1. 동시 작업 가능 여부
    • 단일 작업(Single Tasking)
      • 한 번에 하나의 작업만 가능한 운영체제
      • 한 명령이 끝나기 전에 다른 명령 수행 불가
    • 다중 작업(MultiTasking)
      • 동시에 두 개 이상의 작업 처리가 가능
  2. 사용자의 수
    • 단일 사용자
    • 다중 사용자
  3. 처리 방식
    • 일괄 처리(Batch Processing)
      • 작업을 일정량을 모아 한 번에 처리
      • 작업이 완전히 종료될 때까지 대기
    • 시분할(Time Sharing)
      • 여러 작업 수행 시 컴퓨터 처리 능력을 일정 시간 단위로 분할하여 처리
      • Batch 방식에 비해 짧은 응답 시간 
      • 현대 컴퓨터가 사용하는 방식
    • 실시간(Real Time)
      • 정해진 시간(Deadline) 안에 작업을 반드시 처리

 

3. 컴퓨터 시스템 구조

  • Single-Processor System
    • 과거 대부분의 컴퓨터로, 하나의 메인 CPU만 탑재된 시스템
    • 장치에 따라 특별한 목적을 가진 프로세서가 추가  
  • Multi-processor System
    • 현대 컴퓨터 시스템으로 2개 이상의 프로세서를 가짐
    • 각각의 CPU는 각자의 레지스터와 캐시를 가짐
    • 장점
      • 처리량(Throughput)의 증가
        • 프로세서가 증가하여 처리량이 증가하고 더 빠른 연산이 가능
        • 무작정 프로세스를 늘린다고 성능이 한없이 좋아지진 않음
      • 규모의 경제
        • 멀티 프로세서 시스템은 여러 싱글 프로세서 시스템을 구축하는 것보다 비용이 적게 듬
          • 멀티 프로세서 시스템은 주변 장치(Peripherals)를 공유할 수 있기 때문
      • 신뢰성의 증가
        • 여러 프로세스에 기능이 분산되면, 한 프로세서가 작동을 멈춰도 시스템은 멈추지 않음
  • 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