[운영체제] 운영체제란 무엇인가

Woohyun Shin·2022년 2월 26일
1

운영체제

목록 보기
1/3

운영체제란?

운영체제란 컴퓨터 시스템을 운영하는 소프트웨어이다. ex)윈도우10, 리눅스, Mac OS

컴퓨터와 정보

컴퓨터란 정보를 처리하는 기계이다.

여기서 정보란 불확실성(uncertainty)를 측정하여 수치적으로(quantitative) 표현(representation)으로 나타낸 것이다.

정보의 최소 단위 : bit(binary digit)
정보의 처리 : 정보의 상태 변환(0->1 , 1->0)
부울 대수(Boolean Algebra) : NOT, AND, OR
논리 게이트 : NOT, AND, OR, XOR, NAND, NPR
논리 회로 : IC, LSI ... (무어의 법칙, 황의 법칙)
정보의 저장과 전송 : 플립-플롭, 데이터 버스

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

덧셈 : 반가산기, 전가산기
뺄셈 : 2의 보수 표현법
곱셈과 나눗셈 : 덧셈과 뺄셈의 반복
실수 연산 : 부동 소수점 표현법
함수 : GOTO

컴퓨터가 만능인가?

범용성(Universality) : NOT, AND, OR 게이트만으로 모든 계산을 할 수 있다.

또한 NAND 게이트만으로 모든 계산을 할 수 있다.

여러가지 S/W를 통해 범용적으로 계산을 할 수 있는 것을 범용 컴퓨터(General-purpose computer)라고 한다.(단순한 계산기와의 차이)

계산 가능성(Computability) : Turing-computable, 튜링 머신으로 계산가능한 것을 의미한다.

튜링 머신으로 풀 수 없는 문제에는 정지 문제(Halting Problem)이 있다.

컴퓨터는 누가 만들었는가?

컴퓨터의 할아버지는 앨런 튜링(튜링 머신), 아버지는 폰 노이만(ISA)이다.


앨런 튜링이 모든 현대 컴퓨터의 원형을 설계한 것이나 마찬가지.


폰 노이만은 내장형 프로그램(stored-program) 방식을 처음으로 도입하였다.

내장형 프로그램 컴퓨터란 메모리에 프로그램을 저장하는 컴퓨터를 의미한다.

컴퓨터라는 H/W는 S/W에 따라서 하드웨어의 목적이 달라진다.(범용성)

RAM이라는 메모리에 프로그램(명령어들의 집합)이 탑재되면 그 명령어들을 CPU가 하나씩 'fetch'하여 'execute'한다.

이러한 fetch-execute cycle을 가진 내장형 프로그램 컴퓨터를 처음으로 설계한 것이 폰 노이만이고, 이를 폰 노이만 아키텍쳐(ISA)라고 부른다.

프로그램이란?


프로그램이란 컴퓨터 하드웨어에게 특정한 일을 수행하도록 말해주는 '명령어들의 집합'이다.

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


운영체제는 하드웨어 위에서 애플리케이션 프로그램들에게 서비스를 제공하는 컴퓨터에서 항상 실행중인 프로그램이다.

  • 프로세스, 리소스, 유저 인터페이스 등을 관리


운영체제란 하드웨어를 제어하면서 APP에게 서비스를 제공하며 유저와의 인터페이스, 프로세스, 리소스등을 관리하는 소프트웨어이다.


1. 컴퓨터의 하드웨어를 제어/관리하는 소프트웨어
2. 운영체제는 애플리케이션 프로그램 및 유저들과 하드웨어간의 중간 매개역할

OS의 범용적인 정의는 없지만 공통적인 정의로는 "컴퓨터에서 항상 실행되고 있는 프로그램 한개"라면 kernel은 운영체제의 핵심이다.

Kernel에서 System programs와 Application programs에 대한 인터페이스를 제공해준다.(우리는 수업 때 kernel에 대해 배울 것)


현대 컴퓨터 시스템은 하나 이상의 CPU와 장치 제어자들과 버스로 연결되어있다.


부트스트랩 프로그램은 컴퓨터 전원을 키기 위한 첫번째 프로그램으로 프로그램들을 실행하기전에 메모리에 O/S를 로딩한다.


Interrupt란 시스템 버스를 통해 CPU에게 신호를 전송하는 방법이다. (CPU와 I/O device가 통신하는 방식)

Quiz


2)사건의 확률이 1/4 이므로 정보량은 -log2(2^(-2)) = 2 이다.


1,5)


3)


4)


1)


3)


1)


1)

profile
조급함보다는 꾸준하게

1개의 댓글

comment-user-thumbnail
2022년 5월 23일

안녕하세요. 먼저 좋은 글 써주셔서 정말 감사합니다. 그런데 몇 가지 질문을 남기고자 글을 씁니다.
먼저, 저는 유니버설 튜링 머신은 컴퓨터 그 자체에 대응된다고 알고 있었습니다.(정확히는 좁은 의미의 컴퓨터로서 메모리와 CPU) 왜냐하면, 다른 튜링 머신을 입력값으로 받고 이를 흉내내면서 그 튜링머신(소프트웨어)를 실행한다고 생각했기 때문입니다. 혹시 어떤 이유로 유니버설 튜링 머신을 운영체제라고 생각하셨는지 알 수 있을까요? 저 또한 현재 운영체제를 튜링 머신이란 개념 안에서 어떻게 해석해야 할 지 고민하고 있습니다.
그리고 CPU를 튜링 머신의 헤드로 대응을 시키셨는데, 이 또한 제가 알고 있기론, CPU는 튜링 머신의 입출력장치(상태를 가지고 입출력을 담당하는 장치)와 규칙표(ISA?)에 대응된다고 알고 있었습니다. 그런데 이를 헤드에 대응 시키신 이유는 어떤 것인지 조심스레 여쭤보고 싶네요.
이러한 글을 남기는 이유는 제가 시비를 걸기 위함이 아니라 순전히 저의 호기심 때문이란 것을 알아주셨으면 좋겠습니다. 마지막으로 글 정말 잘 읽었습니다!

답글 달기