Ch1.10 Summary

Park Choong Ho·2021년 8월 18일
0

1.10 Summary

컴퓨터 시스템들은 프로그램을 동작하는데 서로 협력하는 하드웨어와 시스템 소프트웨어들로 구성되어 있습니다. 컴퓨터 내부 정보들은 그룹화된 비트들로 표현되며 context에 따라 다르게 해석됩니다. 프로그램들은 다른 프로그램들에 의해 여러 다른 형태들로 변환됩니다. ASCII 텍스트 파일로 시작해, 컴파일러와 링커로 인해 binary executable 파일로 변환됩니다.

프로세서들은 메인 메모리에 저장된 binary 인스트럭션들을 읽고 해석합니다. 컴퓨터들은 대부분 시간을 CPU 레지스터, 입출력 장치, 메모리 사이사이에 데이터를 복사하는데 사용하므로, 시스템에서 저장장치들은 계층구조로 이루어져 있습니다. CPU 레지스터가 최상단에 있으며, 그다음 여러 단계의 캐시 메모리들, DRAM, 디스크가 순서대로 따라옵니다. 더 높은 계층구조의 저장 장치들은 더 낮은 단계의 저장 장치보다 비트당 더 빠르고 값 비쌉니다. 계층 구조상 더 높은 저장 장치들은 더 낮은 저장 장치들의 캐시로서 작용합니다. 프로그래머들은 이러한 메모리 계층구조를 이해하고 활용함으로써 C 프로그램의 성능을 최적화할 수 있습니다.

운영체제 커널은 프로그램과 하드웨어 사이의 중재자 역할을 합니다. 운영체제는 3개의 핵심적인 추상화

1) 파일: 입출력 장치 추상화
2) 가상 메모리: 메인메모리와 디스크 추상화
3) 프로세스: 프로세서, 메인 메모리, 입출력 도구 추상화

를 제공합니다.

마지막으로, 네트워크는 한 컴퓨터 시스템이 다른 컴퓨터 시스템과 의사소통하는 방법들을 제공합니다. 특정 시스템 측면에서 보았을 때, 네트워크는 단지 또 다른 입출력 장치일 뿐입니다.

profile
백엔드 개발자 디디라고합니다.

0개의 댓글