본문 바로가기
컴퓨터의 이모저모

컴퓨터구조와 운영체제 기본 중의 기본 개념 파악하기 (What is OS?)

by doodlie 2024. 3. 29.

컴퓨터구조(Computer Architecture)와 운영체제(Operating System)에 대해 알아보자. 아래 그림만 봐도 자칫 추상적이고 이해하기 어려워 보이지만, 간단하고 기본적인 구조와 개념을 파악하는 것이 목표이다. 

 

컴퓨터 구조란? 

3가지 주요 구성 요소로 나눠볼 수 있다: 

1) CPU 중앙 처리 장치

  • Computer Processing Unit (CPU)는 위에 그림에서 볼 수 있듯이 컴퓨터의 두뇌같은 역할을 하며, 모든 계산과 명령 실행을 담당한다.
  • 이 장치 안에 Control Unit (CU)라는 연산을 수행하는 산술 논리 단위도 있고, Arithmetic & Logic Unit (ALU)라는 명령어의 순서를 제어하는 제어 유닛 등을 포함하고 있다. 
  • 예를 들어, 문서에 글을 쓰거나, 게임을 할때 모든 작업은 CPU를 통해 처리된다. 

2) Memory 메모리 

  • 메모리는 데이터와 명령어를 임시로 저장하는 공간이다. 
  • 흔히 들어봤을 Random Access Memory (RAM)이 바로 주 메모리로 사용되는 메모리로, CPU가 현재 실행 중인 프로그램의 데이터와 명령어를 빠르게 읽고 쓸 수 있게 해준다. 
  • 예를 들어, 워드에 문서를 작성하고 있다면, 이 내용은 RAM에 저장된다. 이 저장된 데이터는 CPU가 빠르게 접근 할 수 있어 프로그램이 신속하게 실행될 수 있게 해준다. 

3) I/O Device 입출력시스템

  • 입출력 시스템은 컴퓨터와 외부 세계 사이의 데이터 교환을 담당한다. 여기서 I/O란 Input (입력)과 Output (출력)을 가리킨다.
  • 예를 들어, input으로는 마우스나 키보드를 통해 컴퓨터로 전달 될수 있고, output을 모니터나 프린터에 출력할 수 있다. 

쉽게 말해, CPU가 데이터를 처리하고, 메모리가 데이터를 임시저장하고, 입출력시스템으로 사용자와 상호작용을 할 수 있게 한다. 

 

그렇다면, 컴퓨터구조와 운영체제는 어떤 연관성을 가지고 있을까? 

 

운영체제(OS)란? 

하드웨어와 사용자 사이의 중재자

  • 운영체제는 컴퓨터에서 가장 중요한 소프트웨어 중 하나로, 컴퓨터 하드웨어(hardware)와 사용자(user)를 이어주는 역할을 한다.
  • 앞서 말한 다양한 입출력 장치를 관리하고, 장치 드라이버를 통해 하드웨어와 소프트웨어 사이의 통신을 가능하게 한다.
  • 쉽게 말해, 운영체제는 컴퓨터를 사용하기 쉽게 만들어주는 프로그램이다.  

 

 

운영체제의 주요기능

  • 1) 자원관리 
    • CPU, 메모리, 저장공간, 등 모든 자원을 관리한다 
    • 여기서 관리란 여러 프로그램과 사용자가 컴퓨터 자원을 공정하게 사용할 수 있도록 조정하는 것을 포함한다
  • 2) 파일 관리 
    • 파일을 저장, 검색, 수정할 수 있는 시스템을 제공한다
    • 덕분에 우리는 쉽게 파일을 관리할 수 있다
  • 3) user interface 제공
    • 주로 사용되는 Graphic User Interface (GUI)를 제공하여, 우리가 마우스 클릭이나 터치로 작업할 수 있게 한다
    • 우리가 컴퓨터 화면에서 보이는 그림을 클릭 할 수 있는 것들이 GUI라고 생각하면 된다  
  • 4) 프로그램 실행
    • 우리가 실행하려는 프로그램을 메모리에 옮기고, 실행할 수 있게 해주며, 충돌없이 여러 프로그램을 동시에 실행할 수 있도록 관리한다 
  • 5) 보안 
    • 시스템에 대한 무단 접근을 방지하고, 파일과 데이터를 보호한다

 

운영체제 예시

개발된 운영체제는 정말 여러가지가 있지만, 우리가 가장 흔히 알고 있는 데스크톱 운영체제 3개를 뽑자면:

  • Windows - 가장 널리 사용됨 
  • macOS - 맥에서 사용
  • Linux - 오픈소스, 무료

이외에도 모바일 운영체제 (Android, iOS), 서버 운영체제(Debian) 등이 존재한다, 임베디드 운영체제(RTOS) 등이 있다. 각 범주내에서도 수십 수백가지의 운영체제가 존재 할 수 있고, 오픈 소스 운영체제는 다양한 배포판을 가지고 있어 정확한 수를 파악할 순 없다. 

 

 

개발자들은 왜 Linux를 가장 많이 사용할까? 

Windows, macOS는 일반인에게 친절, 그치만 Linux는 날 것 그 자체

  • 다른 운영체제들은 개발자가 아닌 사람들이 손쉽게 컴퓨터를 사용할 수 있게 환경을 제공한다 (GUI 제공)
    • 사용자의 별다른 조작없이 의도대로 쓰는 완제품
  • 프로그래머들은 새로운 것으로 조작할 수 있는 오픈소스 Linux를 사용한다 
    • Linux를 개조하여 자신만의 버전도 만들 수 있다!
    • Linux는 무료이다!