운영체제가 뭐냐
Operating System
Window, Linux, Mac
어떤 *컴퓨터 시스템을 운영하는 소프트웨어
그럼 *컴퓨터란?
폰도 컴퓨터라고 함
계산기는 컴퓨터 아님
왜냐. 컴퓨터란
information 정보를 처리하는 기계다.
a machine that processes *information
그럼 정보가 뭔데?
클로드 섀넌이 정보를 수학적으로 정의함.
x가 사건일 때, I는 정보량.
왜 근데 이걸 설명하냐,
근데 도량할때 무게는 kg 거리는 m인데,
bit로 표현된다 저 정보량이 "b"inary dig"it"
정보라는것은 불확실성 동전던지기 확률을 저 P(x)에 넣었을 때 정보량으로 딱 나오는 녀석들.
인데
이걸 처리하는게 컴퓨터라고,
정보 0,1 switch
부울 대수를 통해서 NOT, AND, OR이런걸로 정보를 표현한다고.
이걸 응용한게 논리게이트 XOR, OR, AND, NOT, NAND 이런거
논리게이트를 통해 집적회로 만듬 집적도는 날마다 높아짐 ->무어의 법칙
IC, VSI, VLSI, ULSI, SoC
근데 이제 무어의 법칙이 양자 뭐시기 때문에 이제 두배 힘들어짐. 한계에 부딪힘.
황의법칙도 있따.
자 그래 컴퓨터가 저 논리들을 통해서 정보를 처리하고
거기서 할 수 있는게 덧셈, 뺄셈이다. 반가산기, 전가산기를 통해서
근데 덧셈, 뺄셈을 할 수 있으면, 곱셈, 나눗셈도 된다. 곱해야하는 횟수만큼 더하면되고 하니까요
그럼 컴퓨터가 못하는게 머임
범용성 : universality
- NOT, AND, OR 게이트 만으로 모든 계산을 할 수 있다.
- NAND게이트만으로 모든 계산을 할 수 있다.
범용 컴퓨터 : general purpose computer
근데 이렇게 다 할 수 있는 똑똑이는 범용 컴퓨터가 되는데,
계산기 처럼 특수한 목적을 지닌 애는 컴퓨터가 안되는 것이다.
사실 근데 뭐든 할 수 있는 것은 아니다.
계산 가능성 : computability
Turing Computer : 튜링 머신으로 계산 가능한 것.
정지 문제 : Halting Problem -> 튜링머신으로는 계산할 수 없는 것.
앨런 튜링이 컴퓨터 만들었다 할아버지
그다음에 실제로 동작하는 컴퓨터를 폰 노이만 컴퓨터의 아버지가
되부럿다.
근데 앨런 아조시가 도대체 왜 컴퓨터의 할아버지냐
그 AI 수업 들으면 지겹게 들을 수 있는 오토마타..
오토마타를 만든 새럼이다..
근데 오토마타가 튜링머신이라고 보면 되나?
머 찾아보니 실제 머신이 아니라 추상적인 수학 개념의 오토마타이다.
이 오토마타 개념을 이용해서 테이프를 임시저장장소에 둔 것이 튜링 머신..!
이거는 찾아보면 쉬운데
이미지를 저작권땜에 못가져오겠다.
저학년때 컴퓨팅적 사고를 배울 때 튜링 머신이 어떻게 작동하는 지 배울 때,
어떤 메모리가 적힌 테이프가 있고 그걸 헤더가 읽는다.
그걸 유니버셜 튜링머신이 어째어째(아마도 기본 베이스를 제공하는듯)하고, 그걸 튜링머신(어떤 목적성을 띈 파트를 해결하나봄)이 어째어째한다.
근데 그것이 오늘날 발전되어 우리가 흔히 아는 컴퓨터가 된 것은 자명하다.
여기서 테이프는 메모리가 된 것이고, 헤더는 cpu가 된 것으로 볼 수 있다.
유니버셜 튜링 머신은 운영체제가 된 것이고, 튜링머신은 응용프로그램이 된 것이다.
이런 현대적 컴퓨터의 원형을 제공했기 때문에 튜링분이 컴퓨터의 하라버지라고 불리울 수 있는 것이다.
그러면 폰 노이만은 왜 컴퓨터의 아버지인가.
stored-program방식을 도입했기 때문이다.
이제 메모리에 프로그램을 저장할 수 있게 된 것.
램 이라는 메모리에 프로그램을 저장하게 된 것.
ISA이다
Instruction Set Architecture;
명령어 집합 구조이다.
RAM에 저장된 program에 있는 명령어를
버스를 타고 cpu에 전달하고
CPU가 그 명령어를 fetch한 다음에
실행(execute)하는 것이다.
fetch-execute 구조다.
이 구조를 처음 설계한 사람이 폰 노이만..
아 저학년 수업들을때 다 들었던건데 또 정리하고있다.
그때 그냥 뇌에 문신을 딸걸.
근데 램에 프로그램을 저장한다했자나
근데 우리가 게임하는 프로그램 머 이런거 존나 익숙한데
근데 여기서 말하는 프로그램은 도대체 뭐냐~
아까 "program에 있는 명령어"라고했자나
그냥 명령어를 싸잡아서 그럴싸한걸 만들어둔 집합 정도로 보면 될 것 같다.
그러면 그 명령어가 어떤 하드웨어에게 이거하세요 저거하세요 뭐 뒤지세요 하는 것.
그러면 컴구시간에 배운,
movl, addl, leaq, call을 사용해서 어떤 필요한 명령어들을(아주 간단하게는 더하는 프로그램같은거) 저장하는거다.
이 기계어들은 컴퓨터 구조론 시간에 배웠는데, 다시 자세하게 보고싶지 않다. 컴퓨터계의 침팬지어가 아닌가 사실..
그래서 OS가 뭐냐고....
OS는 운영체제고 이 체제도 프로그램이다.
OS는 컴퓨터에서 항상 running중인, 범용(이것저것하고싶으니까 이것저것하게해주는) 어플리케이션들에게 서비스를 제공하는 것이다.
자원, UI, 프로세스들을 관리하고 뭐 그러는...
하드웨어가 있다.
그 하드웨어를 전체적으로 감싸서 이거 이케 해야함 기본 틀을 이루는 OS가 있고, 그 OS 위에 어플리케이션이 있는데, 기본적인 틀은 OS가 다 해준다. 하드웨어 device들을 제어해주고, 그 하드웨어에게 앱들이 서비스 받을 수 있도록 탄탄 다리..
아 지친다.
그렇게 해주는 운영체제도 여러개가 있고 그게 윈도우 맥 리눅스 이딴거다.
휴대폰, 텔레비전, 자동차, 지갑
뭐가 컴퓨터가 아니냐
?
아 나는 다 컴퓨터래
오에스 다 필요함
휴대폰은 ios android머 이런건 자명한데
티비는 요즘 스마트티비해서 유투브 넷플릭스같은 어플 쓰자나 그때 필요한 베이스 오에스가 필요한 것이고
자동차도 요즘 보면 카플레이니, 뭐 멜론이니 테슬라는 쥑여주는 컴터도 있다.
근데 월릿 지갑은
스마트월릿만 포함임
내 디올지갑은 아님.
스마트월릿에는 존나 작은 Nfc 칩 같은 것이 있고, 거기 초소형 오에스에 어플들을 차곡차곡 쌓아서
그 기능을 다르게해서
컴퓨터로 볼 수 있다.
걍 ㅇㅇ
'Computer Science > OS' 카테고리의 다른 글
OS의 개념과 구조 (0) | 2021.02.02 |
---|