티스토리 뷰

Four Components of a Computer System

  • 컴퓨터는 크게 하드웨어, 운영체제, 어플리케이션 프로그램, 유저 이 4가지 요소로 구성된다.
  • 보편적으로 받아들여지는 운영체제의 정의는 사실 없다. 하지만 굳이 정의를 해보자면, 운영체제는 컴퓨터 상에서 항상 실행되고 있는 프로그램이라고 할 수 있으며, 운영체제의 가장 핵심적인 부분을 커널(kernel) 이라고 부른다.
  • 커널에는 시스템 프로그램과 어플리케이션 프로그램이라는 두 가지 타입의 프로그램이 있다.
운영체제는 하드웨어를 관리하는 역할을 하며 사용자를 위해 작동한다. 사용자가 컴퓨터 시스템에서 프로그램(소프트웨어)을 구축하거나 실행하고자 할 때 이를 지원한다. 이 시스템은 CPU, 메모리(레지스터, 캐시, 주 메모리 포함), HDD(또는 SSD), 장치, 네트워크 인터페이스로 구성된다. 따라서 컴퓨터 하드웨어가 각각 개별적으로 및 협력적으로 어떻게 작동하는지를 잘 이해하는 것이 중요.

✔️ OS의 14가지 원칙

1. 컴퓨터 시스템은 CPU, 메모리, 하드웨어&IO device로 이루어진다.

2. CPU와 메인 메모리는 'internal' device이다.

 

3. HDD를 포함해 이를 제외한 다른 모든 다른 하드웨어는 'external' device이다.

 

4. Stoarge는 2가지로 구분된다.

  • Internal Stoarge: 레지스터, 캐시, 메인 메모리가 여기에 포함되며 휘발성이다.
  • External Stoarge: HDD, SDD가 여기에 포함되며 휘발성이 아니고 영구적이다. (운영체제에서는 HDD만 다룰 것이다.)

 

5. 모든 파일은 초기에 HDD에 저장된다.

하드디스크에서 저장되는 이유는 영구적으로 보존하기 위해서이다. 하드디스크는 저장 장치들을 비휘발성 메모리를 사용한다. 따라서 전원이 꺼져도 데이터가 사라지지 않게 된다.


6. 모든 프로그램은 CPU에 의해 실행되려면 하드웨어에서 메인메모리로 '로드'가 되어야 한다.

  • Load: Upward Data movement (ex. hard disk에서 main memory로의 이동은 'Load'이다)
  • Store: Downward Data movement (ex. main memory에서 hard disk로의 이동은 'Store'이다)
메모리 계층이 Load 연산이 실행될 때 상위 계층으로 갈수록 접근 속도가 빨라지고, Store 연산이 실행될 때 하위 계층으로 갈수록 저장 용량이 커진다.

 

7. 메인 메모리는 폰 노이만 구조 이다. 

Architecture = Machine Architecture = Computer Architecture


8. 모든 "(internal) activities"은 CPU가 메인 메모리를 사용하여 프로그램을 실행하는 것이다.

즉, 컴퓨터 시스템 내에 activities가 있다면, CPU가 메인 메모리를 사용하여 특정 프로그램들을 실행하고 있다는 뜻이다.

 

9. 프로그램은 두 가지 유형: 사용자 프로그램(및 시스템 프로그램)과 OS 프로그램 만 있다.

 

브라우저, 컴파일러, 편집기 등과 같은 시스템 프로그램들을 모두 사용자 프로그램이다.

 

10. 사용자 프로그램을 제외한 모든 프로그램은 OS 프로그램이다.

⭐️ 11. OS는 Process Management (프로세스 관리), Resource Management (자원 관리), Control Programs(프로그램 제어) 를 수행한다. 

Process Managements :
      - 실행 시작, 실행, 중지(종료, 일시 정지, 죽임(=종료))
      - 스케줄링, 통신, 동기화 등.
Resources 
      - 물리적 자원: CPU, 메모리, 입출력 장치 등.
      - 논리적 자원: 시간, 파일 등.
Program Control: 
        컴퓨터의 오류와 부적절한 사용을 방지하기 위해

 

12. 앞으로 다룰 게시글은 모두 단일 CPU/다중 사용자 시스템을 가정한다.

각 사용자는 여러 프로세스를 가질 수 있다. 따라서 시스템 내에는 동시에 많은 프로세스가 존재한다.

 

⭐️ 13. 프로세스에 의해 공유되는 컴퓨터 시스템은 모든 사용자와 프로그램을 만족시켜야 한다.

만족은 사용자의 편의성에서 비롯된다. 또한 이를 위해 OS는 효율적인 자원 관리를 위해 노력해야 한다.

 

⭐️ ⭐️  14. OS의 이유이자 목적은 User Convenience(사용자 편의성)과 Resource protection(자원 보호)이다.

도서관에서 책을 대출할 때를 생각해보자.
도서관의 책은 많은 사용자들이 공유하므로 
사용자가 직접 책들을 빼거나 다시 꽂을 권한이 없다.
오직 사서(책 운영자)만이 책들을 빼거나, 다시 꽂을 권한이 있다.
사용자가 책을 사용하려면 반드시 사서(책 운영자)에게 요청해야 한다.

컴퓨터에서의 OS는 사서와 같은 역할을 한다. 
컴퓨터의 하드웨어는 많은 유저들이  공유하므로
유저가  “직접” 하드웨어를 사용(제어)할  권한이 없다.
오직 운영체제만이  하드웨어를 사용(제어)할 권한이 있다.
유저가 하드웨어를 사용하려면, 반드시 운영체제에게 요청해야 한다.

 

'CS > OS' 카테고리의 다른 글

운영체제 0장 - CPU Instruction Cycle (컴퓨터 구성 내용)  (0) 2024.07.02