그리드 컴퓨팅
- 필요한 기간만큼만 컴퓨터를 사용하고 사용한 금액만큼만 돈을 지불할 수 있는 컴퓨팅 환경
- 서로 다른 기종의 컴퓨터들을 묶어 대용량의 컴퓨터 폴을 구성하고 이를 원격지와 연결하여 대용량 연산을 수행하는 컴퓨팅 환경
- 그리드가 하드웨어적인 컴퓨팅 환경의 통합, Saas는 사용자가 필요한 소프트웨어 기능만을 필요할 때 이요하고 이용한 기능만큼만 비율을 지불
클라우드 컴퓨팅
- 언제 어디서나 응용 프로그램과 데이터를 자유롭게 사용할 수 있는 컴퓨팅 환경으로 그리드 컴퓨팅과 SaaS를 합쳐 놓은 형태
- 하드웨어를 포함 시스템이 구름에 가려진 것처럼 사용자에게 보이지 않는 컴퓨팅 환경
운영체제(OS) = 커널 + 인터페이스
- 컴퓨터 하드웨어 바로 위에 설치되어 응용프로그램 및 사용자와 하드웨어를 연결하는 SW계층
커널
- 프로세스 관리, 메모리 관리, 저장장치 관리, 파일 시스템 관리, 입출력 관리, 프로세스 간 통신 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것
인터페이스
- 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할
- 그래픽을 사용한 인터페이스를 GUI라 부름
시스템 호출
- 커널이 자신을 보호하기 위해 만든 인터페이스
- 커널은 사용자나 응용프로그램으로 부터 컴퓨터 자원을 보호하기 위해 자원에 직접 접근하는 것을 차단
시스템 호출을 통한 접근
- 응용 프로그램이 직접 하드디스크에 데이터를 저장하지 않고 커널이 제공하는 write()함수를 사용하여 데이터를 저장해달라고 요청
- 커널이 데이터를 가져오거나 저장하는 것을 전적으로 책임지기 때문에 컴퓨터 자원 관리가 수월
드라이버
- 커널과 하드웨어의 인터페이스를 담당하며 디바이스 드라이버라고도 불림\
- 마우스와 같이 간단한 제품은 드라이버를 커널이 가지고 있으나, 그래픽 카드와 같이 복잡한 하드웨어의 경우 제작자가 드라이버를 제공함
커널의 구성
단일형 구조
- 초창기의 운영체제 구조
- 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성
계층형 구조 커널
- 비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들고 계층 간의 통신을 통해 운영체제를 구현하는 방식
마이크로 구조 커널
- 프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등 가장 기본적인 기능만 제공
- 커널의 각 모듈은 세분화되어 존재하고 모듈 간의 정보 교환은 프로세스 간 통신을 이용하여 이루어짐
- CPU용량이 작은 시스템에 사용가능
가상 머신
- 운영체제와 응용 프로그램 사이에서 작동하는 프로그램
- 가상머신을 설치하면 응용 프로그램이 모두 동일한 환경에서 작동하는 것처럼 보임
CPU: 명령어를 해석하여 실행하는 장치로 인간으로 치면 두뇌에 해당
메모리: 작업에 필요한 프로그램과 데이터를 저장하는 장소
바이트 단위로 분할되어 있으며 분할 공간마다 주소로 구분
폰노이만 구조
-
프로그램은 하드디스크와 같은 저장 장치에 담겨있으나 폰노이먼 구조의 가장 큰 특징은 저장장치에서 바로 실행할 수 없고, 메모리로 가지고 올라와야지만 실행이 가능
-
메인 메모리가 유일한 작업 공간이며, 메모리 관리가 중요한 이슈
CPU 구성
- 산술논리 연산정치
- 데이터의 덧셈, 뺄셈, 곱셈, 나눗셈 같은 산술 연산과 AND, OR 같은 논리 연산을 수행
- 제어장치
- 레지스터
시스템 버스의 대역폭
- 한 번에 전달할 수 있는 데이터의 최대 크기
- CPU가 한 번에 처리할 수 있는 데이터의 크기와 같음
- CPU가 한 번에 처리할 수 있는 최대 데이터 크기를 워드라 부름
- 버스의 대역폭, 레지스터의 크기, 메모리에 한 번에 저장할 수 있는 데이터의 크기는 항상 같음
메모리의 종류
램: 메모리는 읽거나 쓸 수 있는
롬: 메모리 읽기만 가능