전체 글 (283) 썸네일형 리스트형 가상메모리_3 가상메모리는 왜 필요할까??가상메모리는 실제의 물리메모리 기능과 개발자의 논리메모리 개념을 분리한다. 따라서 가상메모리를 사용하면 프로세서 전체의 내용을 메모리에 올릴 필요 없이 필요한 부분만 메모리에 올려 실행이 가능하다. 어떻게 필요한 정보만 올려줄 수 있을까??필요한 페이지만 물리 메모리에 적재하는 요구페이징 기법을 사용하여 동작한다.이 기법에서는 주소공간이 하나의 단위가 아니라 여러개의 페이지로 나눠져있다. 그 중에서 지금 당장 필요한 페이지들만 물리 메모리에 가져와 사용한다. 필요한 페이지가 물리메모리에 올라와 있는지 아닌지를 어떻게 알까??특정 페이지 메모리 존재임을 구분하기 위해 유무효 비트를 사용한다. Valid 비트는 해당페이지가 메모리에 올라와 있음을 뜻한다. InValid 비트는 해당.. 가상메모리_2 CPU가 바라보는 주소를 논리주소라 한다.CPU가 일을 하기 위해서는 논리 주소가 메인 메모리상에 올라와 있어야 한다. 논리 주소가 물리적 메모리의 특정위치로 맵핑되는데 이 작업을 주소바인딩이라고 한다.바인딩 시점에 따라서 논리주소와 물리주소의 값이 같을 수도 있고 아닐 수도 있다. 바인딩 방식은 물리적메모리 주소가 결정되는 시기에 따라컴파일 타임 바인딩로드 타임 바인딩실행 시간 바인딩으로 나뉘어 진다. 가상메모리를 사용하기 위해서는 실행시간 바인딩이 지원되어야 한다.이 기법을 사용하면 논리주소와 물리주소의 값이 달라지게 된다. 실행시간 바인딩을 하기 위해서는 하드웨어적인 지원이 필요하다. CPU가 주소를 참조할 때마다 주소 매핑 테이블을 이용해 바인딩을 점검한다. 그러기 위해서는 기준 레지스터, 한계 .. 가상 메모리_1 가상메모리메모리 관리 기법중 하나로 프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하도록 하는 기법사용자 프로그램이 물리 메모리의 제약에서 벗어난다. -> 사용자 프로그램이 물리 메모리보다 커져도 된다.-> 프로그래머는 물리 메모리 크기를 신경쓰지 않아도 되기 때문에 실제 해결하고자 하는 문제에 집중가능하다.각 프로그램이 더 작은 메모리를 차지하기 때문에 더 많은 프로그램을 동시수행 가능한 것처럼 보인다. -> 프로세스 당 메모리 사용량이 감소하고, 더 많은 프로세스를 수용가능응답시간은 늘지 않으면서 CPU 이용률과 처리률이 높아짐프로그램을 메모리에 올리고 swap하는데 필요한 IO 횟수가 줄어듦-> IO가 적게 일어나므로 더 빨리 실행가능 CPU가 연산을 하려면 메모리의 값을 참조해야하는데,.. 서버? 한 컴퓨터가 네트워크로 연결된 다른 하나, 또는 그 이상의 컴퓨터들에게 저장된 사진들을 보여주거나 반대로, 이것들을 업로드 받아서 보관해주거나 한 컴퓨터가 톡을 보내면 다른 컴퓨터에 알림을 보내거나 위치와 목적지를 받아서, 가는 길과 소요시간을 계산해주거나, 여럿이 참여할 수 있는 게임을 열어주거나 하면, 그 serve 해주는 컴퓨터가 서버(server) 그 서비스를 받는 컴퓨터가 클라이언트(client)가 된다. 서버는 보통 IDC, 인터넷 데이터 센터라는 시설에 있다. 인터넷의 작동 방식 수천만리 떨어진 곳에 위치할 수 있는 데이터 센터의 입자 회로 소자 SSD에 영상이 저장되어 있다. 이 데이터가 어떻게 휴대폰이나 노트북에 전송될까?데이터를 전송하는 쉬운 방법은 위성을 사용하는 것이다. 데이터 센터에서 안테나를 통해 위성으로 신호를 전송한 다음 위성에서 나의 위치에 가까이 있는 다른 안테나를 통해 나의 휴대폰으로 신호가 전송되는 것이다.하지만 이런 식으로 신호를 전송하는 것은 별로 좋은 방법은 아니다.왜?위성에서 신호가 장거리로 수신되는데 상당한 지연이 된다.데이터 센터와 장치 사이에 연결되는 광섬유 케이블의 복잡한 네트워크를 통해 이행된다. 셀룰러 데이터나 와이파이 라우터를 통해 휴대폰을 인터넷에 연결할 수 있지만 궁극적으로는 광섬유 케이블 네트워크에 연결된다.SSD는 서버의 내부 메.. 인터넷과 웹의 역사 웹90년대 / 릴버너스리가 연구원들의 소통 문제를 파악하여 해결하기 위해 Web server, Web Client, HTML, HTTP를 혼자 만들었다.인터넷60년대 / 전세계적으로 가장 거대한 네트워크인터넷 위에 수많은 동작하는 서비스가 있다. (웹, 이메일, ftp) 이 서비스들이 전세계에서 구동할 수 있도록 연결되어있는 통신망 Bit와 Byte 컴퓨터는 0과 1 두가지의 종류 중 하나만 담을 수 있는 비트라는 가장 최소의 단위를 가지고 있고 이 비트를 여러개 묶어서 더 많은 데이터를 저장할 수 있다. 그리고 컴퓨터 프로그래밍에서는 1byte를 가장 최소의 단위로 잡는다.만약 29를 2진수로 나타내려면 2로 나누어지지 않을 때까지 계속해서 2로 나누면 된다. 다시 2진수를 10진수로 변환하고 싶다면 나누기 했던 것과 반대로 각각의 bit의 위치를 2^0, 2^1과 같이 숫자를 증가시키면서 곱한 다음 곱한 결과값을 모두 더하면 10진수로 만들 수 있다.ASCII아스키 코드의 한계점은 이 세상에는 다양한 다국어와 문자열들이 많은데 아스키 코드에는 그런 다양한 문자열이 들어있지 않다.유니코드우리 지구상에서 만날 수 있는 다양한 문자열을 포함하는 것유니.. 웹과 인터넷 개념 WWW(World Woid Web)하이퍼텍스트와 멀티미디어를 통해 서비스를 이용할 수 있도록 구축사용자끼리 정보를 공유할 수 있는 공간HTTP 프로토콜(Protocol)요청과 응답의 형태로 이루어진 웹 통신 규약웹 서버 : 클라이언트의 요청을 처리하여 응답함클라이언트 : 웹 서버에 원하는 정보를 요청함웹 페이지(Web Page)클라이언트가 웹 서버에 정보를 요청한 후 서버에게 보낸 정보를 담고 있는 문서웹 브라우저(Web Browser)HTML로 작성된 웹 페이지를 해석하여 사용자에게 보여줌일종의 컴파일러로 생각될 수 있으며, W3C에서 이에 대한 표준을 제공Chrome, Internet Explorer, Microsoft Edge, Firefox, Safari, Whale 등이 있음W3C(World W.. 이전 1 ··· 32 33 34 35 36 다음