현대 컴퓨터의 구조 - 폰노이만 구조
모든 프로그램은 메모리에 올라간다.
운영체제 역사
-1980
개인용 컴퓨터 시대
CLI(command Line Interface):터미널 환경
GUI(Graphical User Interface): GUI 환경
-1990
응용 프로그램 시대 by GUI 환경, 개인용 컴퓨터 사용자 증대
+엑셀, 워드, 프로세서 등
+WINDOWS OS 대중화
네트워크 기술 발전 -월드와이드 WWW 인터넷 대중화
오픈소스 운동 활성화 시작
UNIX 계열 OS 활성화
-2000년대 이후
1.오픈소스 활성화
리눅스 운영체제, Apache(웹서버), MYSQL(데이터베이스)
요즘.. 안드로이드, 딥러닝, 데이터사이언스, IOT관련, 가상머신, 대용량 병렬 처리 활성화
정리
1950년대: OS없음 (프로그램이 시스템 자원 직접제어)
1960년대 :배치 처리 시스템
1970년대: GUI, 개인용 컴퓨터
1990년대: 다양한 응용 프로그램, 인터넷 발달, 오픈소스 운동 활성화
2000년대 : 오픈소스 활성화, 가상머신, 대용량 병렬 처리
시스템 콜
시스템 호출 인터페이스
운영체제가 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공
프로세스 스케줄링
멀티 프로그래밍의 목적 - 최대한 CPU를 많이 활용하도록 하는 시스템
시간대비 cpu 활용도를 높이자.
응용프로그램을 짧은 시간 안에 실행 완료를 시킬 수 있다.
실제로는 시분할 시스템, 멀티 프로그래밍, 멀티 태스킹은 유사한 의미로 통용된다.
시분할 시스템: 다중 사용자 지원, 컴퓨터 응답시간을 최소화하는 시스템
멀티 태스킹: 단일 CPU에서 하나의 응용 프로그램을 병렬로 실행하게 해서 실행속도를 높이는 기법
멀티 프로그래밍 : 최대한 CPU를 일정 시간당 많이 활용하는 시스템