201230 개발일지(23일차) - 컴퓨터 시스템 정리 : 1장 컴퓨터 시스템으로의 여행(4)

고재개발·2020년 12월 30일
0

Computer System

목록 보기
4/13

네트워크

어원은 그물의 net와 work의 합성어로, 그물을 짜는 행위를 가리킨다. 여기서 임의의 연결망을 지칭하는 용어로 의미가 확장됐다고 볼 수 있다.
아래 그림을 통해 이 책에서 말하는 네트워크의 개념을 좀 더 알아보자.
어떤 시스템은 네트워크를 사용하여 다른 시스템과 통신한다. 이러한 관점에서 볼 때, 네트워크는 위의 그림처럼 단지 또 다른 입출력장치로 볼 수 있다.

Amdahl의 법칙

요약 : 시스템의 한 부분을 개선할 때, 전체 시스템 성능 개선에는 효과가 생각보다 적을 수 있다. 즉, 전체 시스템의 성능을 개선하기 위해서는 전체 시스템의 매우 큰 부분의 성능을 개선해야 한다.
Ex) 전체 성능의 60%를 차지하는 부분의 속도를 3배 늘린다고 하면, 실제 속도 향상은 약 1.67배이다.

한 부분의 성능을 개선할 때, 전체 시스템 성능 개선에 대한 효과는 그 부분이 시스템 성능에 관여하는 비율과 향상 속도 비율의 곱이다.

컴퓨터 시스템에서 추상화의 중요성

추상화를 통해서 내부 동작을 고려하지 않으면서 코드를 사용할 수 있다.
입출력 장치의 추상화 : 파일
프로그램 메모리의 추상화 : 가상 메모리
실행 중인 프로그램의 추상화 : 프로세스
운영체제, 프로세서, 프로그램 모두의 추상화 : 가상머신

1장 요약

컴퓨터 시스템은 응용프로그램을 실행하기 위해 함께 동작하는 하드웨어와 시스템 소프트웨어로 구성된다. 컴퓨터 내의 정보는 상황에 따라 다르게 해석되는 비트들의 그룹으로 표시된다. 프로그램은 ASCII 문자로 시작해서 컴파일러와 링커에 의해 바이너리 실행파일들로 번역되는 방식으로, 다른 프로그램들에 의해 다른 형태로 번역된다.

프로세서(CPU)는 메인 메모리에 저장된 바이너리 인스트럭션을 읽고 해석한다. 컴퓨터가 대부분 시간을 메모리, 입출력장치, CPU 레지스터 간에 데이터를 복사하는 데 쓰고 있으므로 시스템의 저장장치들은 계층구조를 형성하여 최상위 부터 CPU 레지스터, 하드웨어 캐시 메모리, DRAM 메인 메모리, 디스크 저장장치 등이 순차적으로 위치한다.
계층 구조가의 상부일 수록 비트당 단가가 더 비싸고, 더 빠르다. 계층구조 상부의 저장장치들은 하부의 장치들을 위한 캐시 역할을 수행한다. 프로그래머들은 이러한 메모리 계층구조를 이해하고 활용해서 자신이 작성한 프로그램의 성능을 최적화할 수 있다.

운영체제 커널은 응용프로그램과 하드웨어 사이에서 중간자의 역할을 수행한다. 운영체제는 세 가지 근본적인 추상화를 제공한다. (1) 파일을 입출력장치의 추상화, (2) 가상메모리는 메인 메모리와 디스크의 추상화, (3) 프로세스는 프로세서, 메인 메모리, 입출력 장치의 추상화다.

profile
고재개발

1개의 댓글

comment-user-thumbnail
2021년 1월 1일

컴퓨터로의 여행 다 오ㅏ띠

답글 달기