운영체제가 뭐길래?

Koo·2023년 9월 4일
post-thumbnail

운영체제란?

  • 운영체제란 무언가를 운영하는 체제
  • 컴퓨터를 운영하는 시스템을 운영체제라 한다
  • 하드웨어 장치(디바이스)를 제어
  • 애플리케이션이 하드웨어 서비스를 받을 수 있도록 인터페이스 역할
  • 아두이노 등 초소형 기기는 운영체제 없이도 하드웨어 제어를 할 수 있음

컴퓨터란?

  • 정보를 처리하는 기계

정보량은 다음과 같다.
I(x)=log2P(x)I(x) = -log_2P(x)

정보란 불확실성을 측정하여 수치적으로 표현한 것

ex1)

  • 주사위를 던져, 주사위가 떨어지기 전까지는 정보를 갖고 있지 않음
  • 주사위가 떨어져 3이 나오면 정보가 발생
  • 다른 사람에게 3이라는 숫자를 알려주면 정보의 전달이 발생
    주사위의 정보를 임의로 맞출 확률은 p(x)=16p(x) = \frac{1}{6}
    따라서 정보의 양은, log261=log26-log_26^{-1} = log_26이 된다

ex2)
동전은 앞과 뒤의 정보만을 가짐
동전의 정보를 임의로 맞출 확률은 p(x)=12p(x) = \frac{1}{2}
따라서 정보의 양은, log221=1-log_22^{-1}=1

컴퓨터가 정보를 어떻게 처리하는지

  • 정보의 최소 단위: bit(binary digit)
  • 정보를 처리하기 위해서는 정보의 상태를 변환해야 함 (0에서 1로, 1에서 0으로)
  • 부울 대수를 이용해 정보의 상태를 변환할 수 있음 - NOT, AND, OR
  • 논리 게이트 - NOT, AND, OR, XOR, NAND, NOR
  • 논리 회로 - IC, LSI, VLSI, ULSI, SoC ...
    • 무어의 법칙 - 집적도가 1년 6개월에 2배씩 늘어남
    • 황의 법칙 - 메모리가 1년에 2배씩 늘어남
    • 양자 현상에 의해 물리적 한계가 일어남
  • 정보의 저장과 전송 - 플립-플롭, 데이터 버스
  • 뎃셈 - 반가산기, 전가산기
  • 뺄셈 - 2의 보수를 이용해 값을 표현
  • 곱셈과 나눗셈 - 덧셈과 뺄셈의 반복
  • 실수 연산 - 부동 소수점 표현
  • 함수, 반복문, 조건문 - GOTO
    • 함수를 구현할 수 있으면 삼각함수, 미분, 적분, 사진 촬영, 동영상 재생 등이 모두 가능

컴퓨터가 만능인지

만능 → 범용성

  • 범용성(universality)
    • NOT, AND, OR 게이트만으로 모든 계산을 할 수 있음
      • NOT, AND, OR를 이용해 집적회로를 만들기 어렵기 때문에 NAND 게이트만으로 계산할 수 있게 수학적으로 계산함
    • NAND 게이트만으로 모든 계산을 할 수 있음
    • 범용 컴퓨터 - general-purpose computer
  • 계산가능성(computability)
    • Turing-computable - 튜링 머신으로 계산가능한 것
    • 정지 문제 - Halting Problem: 튜링 머신으로 풀 수 없는 문제
    • 컴퓨터가 모든 것을 계산할 수 없고 튜링 머신으로 풀 수 있는 문제만 풀 수 있음

컴퓨터를 누가 만들었는지

  • Alan Turing - Turing Machine
  • John von Neumann - ISA: Instruction Set Architecture

Alan Turing의 역할

튜링머신은 튜링머신과 유니버셜 튜링 머신, 헤드, 테이프로 구성

튜링 머신 응용 프로그램
유니버셜 튜링 머신 운영 체제
헤드 CPU
테이프 메모리
  • 튜링머신은 어떠한 목적을 가진 튜링 머신을 만들 수 있음
  • 유니버셜 튜링 머신은 튜링 머신을 똑같이 따라함
  • 헤드와 테이프는 각각 CPU, 메모리에 해당
  • 튜링 머신은 하나의 목적을 가진 기계로 응용 프로그램에 해당
  • 유니버셜 튜링 머신은 운영체제에 해당

von Neumann의 역할

  • turing machine은 일종의 오토마타
  • von Neumann은 내장형 프로그램 방식을 최초로 도입
    • von Neumann은 fetch-execute cycle을 가진 stored-program computer를 최초로 설계
    • von Neumann architecture는 ISA(Instruction Set Architecture)로 운영됨
    • 명령어 집합으로 컴퓨터를 운영
  • 메모리에 프로그램을 저장하는 컴퓨터
    • 메모리에 있는 프로그램은 명령어를 가짐
    • CPU는 명령어를 fetch하고 execute함

프로그램이란?

  • 프로그램은 컴퓨터 하드웨어에게 특정 테스크를 시키는 명령어의 집합
  • 프로그래밍 언어는 컴파일러를 통해 기계어로 변환
  • 기계어 또한 하나의 정보에 해당함

운영체제도 프로그램인가?

운영체제

  • 운영체제에는 컴퓨터에서 항상 실행되는 프로그램
  • 튜링머신에서 유니버셜 튜닝머신에 해당
  • 시스템 서비스를 애플리케이션에 제공
    • 사용자가 하드웨어를 직접 제어하기 어려움
    • 운영체제는 애플리케이션과 하드웨어 사이에 상호작용을 할 수 있게 함
    • 프로세스(3~8장), 리소스(파일, 프린터, I/O), UI(키보드, 마우스 등) 등을 관리
profile
스터디를 해보자

0개의 댓글