CPU(프로세서)
Memory(메인 메모리)
I/O(입출력장치)
GPU
보조기억장치(HDD,SSD)
입력장치, 출력장치
ALU : 연산을 담당함
Registers: 용량이 제일 작은 저장장치, 당장 ALU의 연산에 필요한 데이터들을 저장함
Cache: 레지스터보다는 용량이 큼, 레지스터와 연결됨
위에서부터 CPU에 가까움
CPU와 가까울수록 용량은 작지만 전송속도 빠르다
이러한 구조를 잘 활용하기 위해 저장장치는 데이터를 알고리즘에 의해 replacement 한다
시스템 콜이란?
하드웨어와 어플리케이션 사이를 연결하는 function들
소프트웨어에서 OS를 통해 하드웨어에 접근하기 위한 방법
프로그래밍 언어로 작성된 코드를 기계어 코드로 변환해주는 도구
모든 코드를 한꺼번에 변환하는 방식과 코드 각 문장을 하나씩 변환하면서 직접 실행하는 방식이 있음 (컴파일 방식 VS. 인터프리터 방식)
UI가 없는 명령어 실행기
시스템의 상태를 보여주거나 편리한 기능을 구현하기 위한 명령어들
물리적인 컴퓨터의 개념과 논리적인 컴퓨팅 자원의 개념을 분리한 것
<전가상화>
Hypervisor: 가상화가 가능하도록 하는 소프트웨어
<반가상화>
위와같은 기술을 컨테이너 기술이라 함
Docker 와 같은 것들이 위와 같은 구조를 사용
현재 가장 많이 사용되는 구조
이진수 데이터
각 데이터가 가지는 의미는 표현 방법의 구현을 통해 (사람이 정의 함)
저장 가능한 데이터의 양이 표현 가능한 정보를 결정
오픈소스 소프트웨어, 글로벌 개발 커뮤니티
거의 모든 제품의 기반 운영체제
다양한 하드웨어 지원
시스템 요구 사항, 목적에 따른 다양한 패키지(실시간, 모바일, 최소형 등)
커뮤니티 기반 검증(기능, 성능)