1.10-Summary

컴퓨터 시스템은 "하드웨어와 소프트웨어를 결합"해서 애플리케이션을 구동시킨다.
정보는 비트로 저장되며, 이를 해석하는 방법은 그 맥락() 에 따라 다르다.

프로그램은 다른 프로그램에 의해 다른 형태로 번역되어, 아스키코드에서 실행가능한 바이너리 코드로 변한다.

프로세서는 메인 메모리에 저장되어 있는 이진 명령어를 읽고 해석한다.
컴퓨터는 데이터 읽고 쓰기에 많은 시간을 할당한다.
하드 디스크, 메모리, I/O 장치, CPU 간에 서로 끊임없이 교환된다.
이를 완화하기 위해 라는 개념을 도입한다.
상위 계층의 저장장치의 데이터를 하위 계층이 캐싱을 하여, 더 이상 내려가지 않고, 빠르게 접근한다.
상위 계층은 빠르지만, 비싸기 때문에 용량이 작아진다.
L1 cache 는 빠르지만 몇 KB 등 용량이 작으며, 반대로 SSD 는 몇 TB 로 용량이 매우 크지만, 속도가 cache 에 비해 느리다.(절대적인 속도는 기술의 발전으로 빨라지긴 했다.)

OS 커널은 애플리케이션(소프트웨어)와 하드웨어의 중간통로이다.
커널은 아래 3가지 추상화를 제공한다.

  • : 에 대한 
  • : 에 대한 
  • : 에 대한 

는 다른 시스템과 상호작용할 수 있는 방법을 제공한다.
하지만, 시스템 입장에서는 다른 I/O 장치와 차이점이 존재하지 않는다.