목록전체 글 (115)
뭉크테크

프로세스와 스레드컴퓨터에서 자원은 CPU를 사용하는 경우와 RAM을 사용하는 경우가 있다. 또한 HDD같은 2차 메모리에서도 사용을 한다. 여기서 RAM + HDD를 Virtual Memory형태로 관리를 한다.프로세스 개념즉, 자원이라고 하면CPU(user mode application process) Virtual Memory이다. 그래서 자원이라고 하는 것을 운영체제마다 다르겠지만 기본적으로 프로세스한테 준다. 윈도우 OS기준으로는 스레드 기준으로 CPU를 준다. 또한 Virtual Memory같은 것도 process단위로 주어진다. 또한 OS입장에서 프로세스를 관리를 해야하는데 그것을 위해 등장하는게 바로 PCB이다. PCB한테 운영체제가 어떤 관리에 필요한 정보를 잔뜩 담아두고 그 정보를 가지고..

https://namu.wiki/w/CPU%20%EA%B2%8C%EC%9D%B4%ED%8A%B8 CPU 게이트대부분의 현대 x86 CPU와 IBM의 POWER CPU , 그리고 ARM 일부 아키텍처에서 몇 가지 중대한namu.wiki I/O 관리자가 CPU의 연산을 보고 미리 예측해서 명령과 데이터를 가져온다. 그런데 여기서 핵심은 '시키지도 않은 일'이라는 것이다. 그래서 심각한 사고가 발생했는데 바로 CPU 게이트 사건이다. 흔히 'Meltdown' 혹은 'Spectre'라는 것이다.예를 들어보자. 해외 순방 중인 대통령을 암살하려는 범죄조직이 있다고 하자. 이 조직은 대통령이 어느 호텔의 A동에 묵는다는 것까지는 알아냈다. 그러나, 몇 호실에 있는지는 알아내지 못했다. 여기서는 A동 202호라고 하..

개요 CPU는 연산장치다. 연산장치에서 중요한 것은 연산 속도인데 연산속도가 올라갈 수록 연산 양이 늘어나고 처리속도가 올라가 성능이 올라간다.즉, 클럭속도를 올리는 방향으로 CPU가 개발되다가 어느 순간 한계를 맞아 코어 개수를 늘리는 방향으로 개발되어가고 있다 예측을 위한 공간, 캐시 메모리여기서 코어는 CPU의 연산처리를 맡아서 한다. 연산을 처리할 데이터는 RAM에 존재한다. 그레서 RAM의 데이터를 CPU 영역까지 읽고 쓰는 것을 반복한다. 그런데 문제는 CPU안에 레지스터와 RAM의 속도차이가 엄청 커서 그 중간에 완충역할을 하는 애가 있는데 바로 캐시 메모리이다. 캐시 메모리는 종류가 3가지로 나뉘는데 코어마다 붙어있는 L1,L2 캐시메모리가 존재하고 (제조사마다 다름.)CPU에 1개만 존..

DMA를 알면 고성능 소켓이 보인다.위 그림은 저번 포스팅에서 이야기 했던 과정이다. 여기서 I/O 관리자는 CPU가 어떤 장치한테 뭔가를 직접 가져오면 장치가 반응이 늦을 것을 대비하여 I/O관리자(M/B)가 도와준다. 또한 RAM의 일부를 Device를 위해 예약을 걸수도 있는데 이 과정에서 I/O관리자한테 알려준다.CPU가 어떤 장치한테 정보를 보내는 방법CPU가 RAM의 예약된 메모리에 정보를 보낸다. (복사)어떤 경우는 데이터가 RAM의 내부에서 또 일어난다. (복사)복사된 데이터를 장치의 RAM에 또 복사한다.이 모든 과정에서 I/O 매니저는 역할을 수행한다. 근데 의문점이 이렇게 복사하는게 아니라 한번에 CPU에서 Device로 보낼 수 있는 방법은 없을까?CPU에서 Device로 한번에 보..

인터럽트사전적 의미로 '끼어들다', '중단시키다' 정도의 의미를 가지는 말로 프로그램을 실행하는 도중에 예기치 않는 상황이 발생할 경우 현재 실행중인 작업을 멈추고 발생된 상황을 처리한 후 다시 실행중인 작업을 복귀하는 것을 말한다. 인터럽트의 종류외부 인터럽트전원이상 인터럽트(Power faul interrupt): 말 그대로 정전 + 절전모드, 파워이상등기계착오 인터럽트(Machine check interrupt): CPU의 기능적 오류외부신호 인터럽트(External interrupt):타이머에 의한 인터럽트: Preemptive 개념을 생각하면 된다. 자원이 할당된 시간이 다 끝난 경우키보드로 인터럽트 키를 누른 경우: Control + Alt + Delete => 작업 관리외부장치로부터 인터럽트..

개요운영체제는 S/W다. 일종의 platform이다. S/W는 logical이며, 이를 다른말로 하면, Virtual, 즉 가상화이다. 가상화기술은 H/W를 S/W로 구현한 것이 가상화 기술이다.운영체제는 MS Word와 같은 S/W다. 단, 차이는 user application 단의 process들을 support한다. 즉, application process들이 잘 작동하도록 도와주는 것이다. 또 하나 다른 점은 H/W를 제어 및 관리한다. 대부분 범용 OS가 멀티 태스킹 즉, 멀티 프로세싱 시스템이다. 그리고 나쁜 프로세스들을 감지하여 나쁜짓을 하지 못하게 막는 역할도 한다.H/W 용어 정리Interrupt: 한마디로 '벨 소리'이다. 내가 CPU라고 가정하고 나를 방해하는 요소가 있는데 그 요소가..

개요네트워크같은 인프라구조를 공부할 때 가장 중요한 것이 뭐냐면 전체적인 구조를 이해하는 것이다. 웹서비스에서 쓰이는 기본 프로토콜이 HTTP이다. 근데 HTTP라는 것은 TCP/IP연결 다음에 존재한다. 그러니까 HTTP 트래픽은 소켓 수준에서 만들어진 것이고 따라서 스트림 즉, 끝을 알기 어려운 데이터가 쭉 나열진 형태에서 파생된 것이다. 문제는 네트워크(TCP/IP와 같은 인터넷 네트워크)로 무언가를 보낼 때는 IP 최대크기 단위 MTU가 1500 밖에 안되니까 이 스트림을 TCP 스택 수준에서 짜른다. 이 짤려진 조각 1개를 세그먼트라고 한다면 이 세그먼트를 패킷으로 Encapsulation 해서 전송한다. 이렇게 스트림 데이터는 분해가 일어난다. 그래서 HTTP 트래픽은 가로형태로 데이터를 이..

굵고 짧게 살펴보는 HTTPHTTPHTTP는 HTML문서를 전송받기 위해 만들어진 응용프로그램 계층 통신 프로토콜이다.1996년에 1.0스펙이 발표되었으며, 1999년 6월에 1.1이 발표되었다.기본적으로 클라이언트의 요청에 대응하는 응답형식으로 작동한다.헤더는 다음과 같이 분류된다.일반 헤더요청 헤더응답 헤더엔티티 헤더요청에 사용되는 메서드는 주로 GET, POST이다.HTTP는 HTML문서를 전송하고 전송받기 위해 만들어진 L7 프로토콜이다. 핵심은 헤더이다. 헤더는 TCP/IP에서 이야기가 많이 나왔다. 어떤 단위로 데이터다 잘라지는데 IP 네트워크인 경우 최대 MTU로 잘라진다. 그래서 이 MTU에 IP Header가 나오고 그 뒤에 Payload가 온다. 중요한 것은 단위 데이터로 잘라지다 보니..

URL과 URIUniform Resource LocatorUniform Resource Identifier웹 기술을 이야기 앞에 있어서 기본적인 용어정리가 필요하다. 그 중에 가장 중요한 용어 2가지가 URL과 URI다. 우리가 앞서서 도메인에 대해 배웠다. 도메인에는 Domain Name과 Host Name으로 분리해서 생각하는게 좋다. 여기서 중요한게 URL이 있고 URI가 있는데URL은 Uniform Resource Locator로 위치지정자로 말할 수 있고URI는 Uniform Resource Identifier로 식별자라 말할 수 있다.( 자원의 위치에 의존하지 않는 고유한 식별자로 사용)그럼 여기서 Resource는 무엇일까? 웹 기술이라는 것에 한정지어서 생각해보자. 웹을 이야기할 때 가장 ..

웹 기술 창시자와 대한민국 인터넷웹 기술의 창시자CERN(입자물리연구소)에서 컨설턴트로 근무정보검색 시스템 구축이를 바탕으로 현재의 웹 기술을 창안HTML, HTTP의 창시자개요(어쩌다 나오게 되었나)아마도 네트워크 공부하는 분들의 많은 이유 중 하나가 웹을 제대로 이해하기 위한 부분도 있을 것이다. 좋든 싫든 2023년 현재 왠만한 서비스들은 웹기술로 작동한다. 이런 웹기술을 처음 창시한 분이 팀 버너스리이다. 팀 버너스리라는 원래 유럽의 입자물리 연구소에서 일을 하였다. 또한 여기서 정보검색 시스템을 구축하였다. 그리고 그게 바탕이 되서 오늘날의 웹 기술이 탄생한 것이다. 여기서 한가지 주목해봐야 하는 것이 '입자물리연구소'이다. 연구소의 임직원분들이 하는 일이 논문을 보는것이다.A라는 논문에는 제목..