Computer Science 14

컴퓨터 시스템의 기본

컴퓨터의 동작 방식 컴퓨터가 동작하는 방식은 아래의 세 단계를 반복하는 것과 같다. 입력 장치 혹은 네트워크 어댑터를 통해 컴퓨터에 처리 요청이 들어온다. 메모리에 있는 명령을 읽어 CPU에서 실행하고 그 결과를 다시 메모리의 다른 영역에 기록한다. 메모리의 데이터를 하드디스크(HDD)나 SSD 등의 저장 장치에 기록하거나 네트워크를 통해 다른 컴퓨터에 전송하거나, 혹은 디스플레이 등의 출력 장치를 통해 결과를 보여준다. 이러한 순서를 반복해서 하나의 처리(기능)으로 정리한 것을 프로그램이라고 하는데, 프로그램은 크게 애플리케이션, 미들웨어, OS(운영체제)로 구분할 수 있다. 프로그램의 종류 애플리케이션: 사용자가 직접 사용하는 프로그램. 오피스, 계산기, 브라우저 등 미들웨어: 여러 애플리케이션이 공..

메모리계층

메모리 장치의 계층 구조 [레지스터] - [캐시 메모리] - [메모리] - [저장장치] 크기 작음 크기 크다 가격 비쌈 가격 저렴 속도 빠름 속도 느림컴퓨터의 동작 흐름 명령어를 바탕으로 메모리에서 레지스터로 데이터를 읽는다. 레지스터에 있는 데이터를 바탕으로 계산을 수행한다. 계산 결과를 메모리에 쓴다. 컴퓨터는 레지스터에서 계산하는 시간보다 메모리에 접근하는 데 걸리는 시간, 레이턴시가 극도로 느리다. (2)단계가 아무리 빨라도 (1)과 (3)단계에서 병목이 발생하여 전체 처리속도는 메모리에 읽고 쓰는 레이턴시와 별 차이가 없게 되버린다. 캐시 메모리 캐시 메모리를 통해 레지스터 안에서 계산하는 것과 메모리에 접근하는 것 양 쪽 처리 시간의 차이를 메운다. [레지스터] - [캐시 메모리]의 레이턴시가..

메모리관리

리눅스는 커널의 메모리 관리 시스템으로 시스템에 탑재된 메모리를 관리한다. 각 프로세스는 물론이고 커널 자체도 메모리를 사용한다. 메모리 통계정보 메모리 통계정보는 free 명령어로 확인할 수 있다. (base) [user@server ~]$ free total used free shared buff/cache available Mem: 65387028 16650384 7639664 233184 41096980 48005532 Swap: 32767996 6065624 26702372 (base) [user@server ~]$ (base) [user@server ~]$ free -h total used free shared buff/cache available Mem: 62G 15G 7.3G 227M 39..

네트워크의 구조 - 네트워크, 패킷, 대역폭

네트워크 두 대 이상의 컴퓨터가 연결되면 네트워크라고 할 수 있다. 네크워크를 사용하여 컴퓨ㅜ터 간의 데이터 전송, 웹 사이트 열람, 메일 송수신과 같은 일을 할 수 있다. 인터넷은 전 세계의 큰 네트워크부터 작은 네트워크까지 연결한 거대한 네크워크를 말한다. 패킷 웹사이트를 보거나 데이터를 주고받기 위해서는 규칙이 있어야 한다. 그 규칫에는 패킷을 사용한다. 패킷은 컴퓨터 간에 데이터를 주고받을 때 네크워크를 통해 전송되는 데이터의 작은 조각을 의미한다. 패킷을 사용하는 이유 큰 데이터를 패킷으로 나누지 않고 그대로 보내면 네트워크의 대역폭을 너무 많이 점유하여 다른 패킷의 흐름을 막는다. 대역폭 일반적으로 네트워크에서 이용 가능한 최대 전송 속도로, 정보를 전송할 수 있는 단위 시간당 전송량을 말한다..