: vacuum tube를 이용한 binary, plug boards
HW가 0,1을 표현하는가?
memory는 rotating capacitor 이용
ENIAC (1942-1945)
: 5000 ops/sec
→ 공간, 파워 둘다 많이 필요
: transistors, batch system
card reader → tape driver → input tape → system tape → output tape → printer
Disk by IBM (1956)
: random access to storage 허용
multiprogramming
: os가 지금꺼 끝내고 다음에 어떤거 실행시킬지 결정
문제점 : 여전히 i/o동안 cpu가 idle
: IC & multiprogramming
→ big, cheap memory : disk에 쓰기는 느림
↔
연산 disk(CPU, memory)에 읽고 쓰기는 상대적으로 빠름
memory에 여러 program 넣기
: program의 전체 사용량 ⬆️
→ 목적 : system에서 처리하는 job의 개수 ⬆️
→ 문제점 : 그래도 여전히 batch system
해결 방안: time sharing
: 여러 유저가 동시에 interact할 수 있도록
→ multiple terminals into one machine
→ 각 user는 전체 machine 다 쓰고 있다고 착각
e.g. 학과 리눅스 서버
: 빨리 처리해서 사용자는 알 수 없음
→ response time이 중요
: time slicing → CPU 나눠서 사용
→ MIT Multics
: 최초로 도입, UNIX의 시초
UNIX
: c language로 OS
→ 이식성 ⬆️
→ 한 UNIX에서 개발된 시스템은 다른데서 돌아가지 x →porting 다시
: present computers
→ 실리콘 가격 급등과 network로
Distributed system
여러개의 system을 네트워트로 엮어서
→ 속도 ⬆️
→ os가 job들 사이의 communications, sharing of distributed resources support
personal computer
: 1972 XEROX ALTO
parallel systems (1980s)
: high speed interconnects allow multiple processors to cooperate on a single program
high spped
multiple parallel threads/processes를 multiple cpu에서 동시에
종류
SMPs : 한 PC →보통
MPPs : 대형 PC → 256개 등 스케일이 훨씬 큼
NOWs : 여러 PC 연결 → interconnection이 아닌 network
→ 통신 속도 : NOW < SMP < MPP
Internet (1990s)
←→ internet : network가 연결된 시스템
Ubiquitous Computing
Personal Computer OS
Digital research → CP/M
Microsoft : 컴파일러 + 개발환경
Apple Mac OS
→ 같은 성능 대비 mac이 훨씬 비싼 이유 ?
: IBM pc는 여러 회사에서
IBM
MS가 graphic interface 만들기 시작
e.g. Windows 3.1, 95, 98, Me, Windows NT