운영체제란
windows10, Linux, MacOS
Operating system: 뭔가 운영하는 체제: 컴퓨터 시스템을 운영하는 소프트웨어
운영체제는 응용 프로그램(Application Programs)과 하드웨어(Hardware) 사이에 위치
응용 프로그램을 통해서 어떤 서비스를 요청하면 응용 프로그램은 운영체제에게 메시지를 전달하고 하드웨어를 조작해달라고 요청한다.
그 전달을 받은 운영체제는 서비스에 맞는 하드웨어(CPU, 메모리, HDD, 모니터 등)를 작동시켜 서비스를 완수한다.
예를들어 응용프로그램을 이요해 3+4에 대한 결과를 요청한다.-> 프로그램 내에 수식 계산하는 명령어 os에 전달한다. -> os는 cpu, 메모리, h/w를 조작하여 7이라는 답을 도출하고 반환한다.
컴퓨터의 정의
스마트폰과 같은 정보를 처리하는 기계
정보의 정의
불확실한 상황을 측정해서 수치적으로 표현한다.
컴퓨터의 정보처리
정보의 최소단위: bit(binary digit)
정보의 처리: 정보의 상태변환(0->1)(1->0)
부울대수: (Boolean Algebra) NOT, AND, OR
논리게이트: NOT, AND, OR, XOR, NAND, NOR
논리회로: IC, LSI, VLSI, ULSI, SoC - 무어의 법칙, 황의 법칙
정보의 저장과 전송: flip-flop, 데이터버스(넣어 보냄), RF
컴퓨터가 어떻게 처리하는가?
덧셈: 반가산기, 전가산기
뺄셈: 2의 보수 표현법, 덧셈 이용
곱셈, 나눗셈: 덧셈, 뺄셈 반복
실수연산: 부동소수점표현법
함수: GOTO 원하는 곳으로 점프
이 모든거 다 할 수 있으면: 미분, 적분, 사진 촬영, 동영상 재생
범용성이 있다. (만능 x)
NOT, AND, OR 게이트만으로 모든계산 할 수 있다.
NAND 게이트 만으로 모든 계산할 수 있다.
범용컴퓨터: general-purpose computer : 어떤 목적으로 사용할지는 s/w에 달려 있다. s/w를 지원하는 h/w(computer) universality(범용성)을 가지고 있다. 휴대폰(옛날)은 전화만 가능 했으므로 general-purpose computer가 아니다.
계산가능성: computability
Turing-computable: 튜링 머신으로 계산가능한 것
정치문제: Halting problem : 튜링머신으로 풀 수 없는 문제
=> 모든 문제 풀 수 있는 건 아니고 튜링머신으로 풀 수 있는건 풀 수 있다.
컴퓨터의 할아버지
Alan Turing - Turing Machine 현대적컴퓨터의 원형
컴퓨터의 아버지
John Von Neumann - ISA: Instruction Set Architectur 라고 부르는 현대적 컴퓨터 만듦
앨런튜링이 할아버지인 이유
테이프가 있고 헤드가 있다. 여러 대의 TM(튜링머신)이 있으면 유니버셜 튜링머신 만들 수 있다.
현대에는 CPU, 메모리, 응용프로그램, OS가 되었다.
폰 노이만이 아버지인 이유
내장형 프로그램 방식(stored-program) 처음 도입
메모리에 프로그램을 저장
명령어를 가져와서 실행한다. 폰노이만 아키텍처: ISA
프로그램이란
명령어들의 집합
모든 아키텍처가 폰노이만이 설계한 ISA
운영체제도 프로그램인가?
running at all time 컴퓨터에서 항상 실행중인 유니버셜 튜링머신에 해당
시스템 서비스를 애플리케이션 프로그램에 제공
프로세스를 관리, 리소스(파일, 프린터 인풋, 아웃풋) user 인터페이스 (마우스 키보드 입력출력) 관리
OS가 H/W감싸고 "나한테 다 요청해" 애플리케이션이랑 프로그램이랑 인터페이스 역할
'OS 공부' 카테고리의 다른 글
OS 공부- 프로세스, PCB, Context switch, thread (2) | 2024.10.10 |
---|---|
OS 공부 - 컴퓨터 시스템 구성, 구조, 운영체제 연산 (10) | 2024.10.10 |
OS 공부 - CPU 스케줄링, RR, Priority, MLQ, MLFQ (1) | 2024.10.10 |
OS 공부 - CPU 스케줄링, FCFS, SJF, SRTF, (0) | 2024.10.10 |
OS 공부 - CPU 스케줄러, Preemptive, Non-preemptive, context switch (1) | 2024.10.10 |