본문 바로가기

분류 전체보기184

컴퓨터 네트워크 40장 - 네임 서버 & 해석기 - 컴퓨터 네트워크 40장- 네임 서버 & 해석기 - DNS 서비스에서 가장 중요한 것은 분산 네트워크 서비스의 형태를 지원하는 것이다. 이를 위해 네임 서버가 여러 곳에 흩어져 전체 네임 스페이스의 일부 정보를 전적으로 책임지며 유기적인 연관 관계를 통해 전체 네임 서버의 정보를 일관성 있게 관리한다. 응용 프로그램이 해석기라고 부르는 DNS 클라이언트에게 정보 제공을 요청하는 것으로 DNS 서비스가 이루어진다. 해석기는 DNS 메시지 형식의 질의를 생성하고 이 질의를 네임 서버에게 전달하면 네임 서버는 회신용 DNS 메시지에 결과를 담아 해석기에 회신을 하게 된다. 네임 서버의 부담을 줄이기 위하여 캐시 정보를 활용하는데 캐시 데이터라고 한다. 원래는 인증 데이터로 해당 데이터를 직접 관리할 책임이 있는.. 2017. 5. 13.
컴퓨터 네트워크 39장 - 도메인 네임 스페이스(Domain Name Space) - 컴퓨터 네트워크 39장- 도메인 네임 스페이스(Domain Name Space) - DNS는 거대한 분산 데이터베이스 시스템이며 도메인 네임 스페이스, 네임 서버, 해석기로 구성되어 있다. 이 중 도메인 네임 스페이스에 대해 알아보도록 하자. 도메인 네임 스페이스는 DNS가 저장 관리하는 계층적 데이터베이스이다. 최상위에 루트가 존재하고 그 아래로 모든 호스트가 트리 구조로 이어져 있다. 도메인 네임 스페이스의 호스트는 크기가 최대 63바이트인 레이블을 이름으로 갖는다. 도메인 이름은 점으로 구분한 레이블의 연속이라고 할 수 있다. 루트 호스트는 크기가 0인 널 레이블을 가지므로 이름이 없는 것이다. 도메인이라는 것은 계층적 구조를 가지고 같은 레벨에서는 레이블(이름)이 유일해야 한다. 도메인 이름은 최.. 2017. 5. 13.
컴퓨터 네트워크 38장 - DNS 서비스 - 컴퓨터 네트워크 38장- DNS 서비스 - 인터넷에 연결된 모든 컴퓨터는 32비트 숫자로 구성된 고유의 IP 주소를 부여받는다. IP 주소는 32 비트의 크기를 가지며 사용자 편의를 위해 8 비트 크기의 10진수 4개로 표현을 하는 것이 일반적이다. 이 숫자가 IP 프로토콜의 패킷 속에 기록되어 적절한 경로를 선택하는 길잡이 역할을 한다. IP 프로토콜의 주소 체계는 클래스별로 구분할 수 있다. 구분의 기준은 네트워크 주소와 호스트 주소를 표시할 수 있는 비트의 크기이다. A 클래스의 경우는 호스트를 위한 주소 범위가 크고 C 클래스의 경우 호스트를 위한 주소 범위가 작다. 이외에도 새로운 형태의 서비스를 지원하기 위해 할당된 클래스 D가 존재한다. 호스트 주소를 표현하는 모든 비트의 값이 0인 경우는 .. 2017. 5. 13.
운영체제 24장 - 메모리 관리(11) : 페이지 교체 알고리즘 - 운영체제 24장- 페이지 교체 알고리즘 - 가상 메모리는 요구 페이지 기법을 통해 필요한 페이지만 backing store에서 메모리로 적재를 하고 사용하지 않는 부분은 그대로 둔다. 하지만 필요한 페이지만 올린다고 하더라도 메모리가 나중에는 가득 차게 되고 올라와있던 페이지가 사용이 다 된 후에도 자리만 차지하고 있을 수 있다. 메모리가 가득 차면 추가로 페이지를 가져오기 위해 어떤 페이지는 page-out을 해야 하고 그 빈 공간에 필요한 페이지가 page-in을 해야 한다. 여기서 어떤 페이지를 backing store로 page-out을 시킬 것인지에 대해서 고민을 하게 된다. page-out이 되는 페이지를 victim page라고 부르는데 기왕이면 수정이 되지 않는 페이지를 선택하려고 한다. .. 2017. 5. 13.
인공지능 1장 - 인공지능 소개 (1) - 인공지능 1장- 인공지능 소개 (1) - 일반인들에게 인공지능을 말하게 되면 알파고가 가장 익숙하게 떠올릴 수 있다. 이외에도 영화에 나오는 다양한 인공지능들이 존재한다. 아이로봇이라는 영화나 터미네이터나 트랜스포머와 같은 영화들에는 인공지능을 장착한 로봇들이 나타나게 된다. 인공지능이 이렇게 다양하게 사람들에게 익숙해져 있지만 실제로 인공지능이 무엇인가에 대해 설명을 하라고 하면 분명하게 대답하기 힘들다. 인공지능에 앞서 지능에 대해 알아보면 지능은 본능적이나 자동적으로 행동하는 대신에, 생각하고 이해하여 행동하는 능력을 말한다. 따라서 인공지능은 인공적으로 만들어진 지능이라고 할 수 있다. 인공지능을 기본적인 바탕을 생각해본 사람은 앨런 튜링이다. 튜링 테스트를 통해 지능의 조작적 정의를 내렸다. 조.. 2017. 5. 11.
컴퓨터 네트워크 37장 - HTTP & CGI - 컴퓨터 네트워크 37장- HTTP & CGI - HTTP는 분산 하이퍼미디어 환경에서 빠르고 간편하게 데이터를 전송하는 프로토콜이다. 웹 브라우저는 URL을 이용하여 원하는 자원을 표현한다. HTTP 메서드를 이용하여 데이터를 요청하거나 회신하는 과정을 반복한다. 클라이언트가 서버에 요청할 때에는 GET 메서드를 사용하고 클라이언트에서 서버로 회신할 때는 POST 메서드를 사용한다. HTTP는 클라이언트-서버 모델이므로 요청과 응답이 클라이언트와 서버로 존재한다. 요청은 HTTP 클라이언트가 서버에 요청을 전송하는 것이고 응답은 HTTP 서버가 요청의 결과인 응답 코드가 포함된 정보를 회신하는 것이다. 비상태 연결은 요청과 응답 이후 연결이 끊어지는 프로토콜을 의미하는데 HTTP의 경우 요청과 응답이 진.. 2017. 5. 11.
컴퓨터 네트워크 36장 - HTML - 컴퓨터 네트워크 36장- HTML - HTML은 HyperText Markup Language의 약자로 웹 브라우저에서 데이터를 어떻게 표시하는지를 나타내는 역할을 하는 언어이다. HTML로 작성한 문서는 서버에 보관되고 클라이언트는 그 문서를 받아 화면에 표시한다. HTML의 문서를 살펴보면 로 시작하고, 로 종료되게 된다. 전체 내용은 크게 헤더와 바디의 두 부분으로 구성된다. 헤더는 로 끝나고 바디의 경우에는 와 태그를 이용한다. HTML에는 위에서 말한 태그를 포함해서 다양한 태그가 존재한다. 일반적으로 웹 문서에서 사용하는 태그는 특정 구역을 설정하여 시작과 종료 부분을 표시하며 태그 이름 좌우에 를 붙여 문자를 표기한다. 의 경우에는 n값에 1~6까지의 상수를 넣는데 제목을 표시하며 .. 2017. 5. 11.
컴퓨터 네트워크 35장 - 웹 서비스 구조 - 컴퓨터 네트워크 35장- 웹 서비스 구조 - 웹은 익명 FTP 기능과 유사한 네트워크 서비스로 인터넷에 연결된 다수의 사용자가 로그인 절차 없이 WWW 서버에 접속할 수 있게 해준다. 웹 환경은 서비스를 제공하는 서버와 서비스를 이용하는 클라이언트의 연결 구조를 지원하는 클라이언트-서버 모델을 사용한다. 전 세계적으로 웹 서버의 TCP 포트 번호는 80번으로 지정된다. 보안을 위해 8000, 8080 등을 이용하기도 한다. 보안이 강화된 HTTPS의 경우 TCP 포트 번호 443을 이용한다. 웹 브라우저는 http 또는 https 서비스에 지정된 포트를 통해 서버와 연결을 시도한다. 실제로 인터넷 익스플로러, 구글 크롬과 같은 다양한 웹 브라우저가 존재한다. 웹 서버와 연결이 되면 클라이언트의 정보 요구.. 2017. 5. 11.
운영체제 23장 - 메모리 관리(10) : 페이지 교체 - 운영체제 23장- 페이지 교체 - 요구 페이징은 요구되어지는 페이지만 backing store에서 가져와 메인 메모리에 적재하는 방법이다. 필요한 페이지만 메인 메모리에 올리므로 메모리의 낭비를 줄이는 방법으로 사용되었다. valid 비트를 추가한 페이지 테이블과 필요하지 않은 페이지를 보관하는 backing store를 가지고 기능을 수행할 수 있다. 하지만 프로그램 실행이 계속 진행되게 되면 요구 페이지가 늘어나게 되고 언젠가는 메모리가 가득 차게 될 것이다. 페이지를 backing store에서 가져와 메모리에 올려야 되는데 메모리에 자리가 없는 것이다. 이럴 경우 메인 메모리에 있는 특정 페이지를 내보내야할 필요가 있다. 그 자리에 필요한 다른 페이지를 올려야한다. 이를 페이지 교체라고 한다. 메.. 2017. 5. 11.
운영체제 22장 - 메모리 관리(9) : 유효 접근 시간 및 지역성의 원리 - 운영체제 22장- 유효 접근 시간 및 지역성의 원리 - 프로세스를 메인 메모리에 적재할 때 모든 부분을 다 올리게 되면 메모리 공간이 많이 부족하게 된다. 따라서 프로세스를 적재를 할 때 지금 당장 필요로 하는 코드의 부분만 올리는 방법을 택하여 프로세스들이 다 메모리상에 올라와 있는 것처럼 보이게 하여 메모리 공간이 더 커보이게 보인다. 이러한 방법이 바로 가상 메모리를 사용하는 것이다. 가상 메모리는 요구 페이징 기법을 사용하여 메모리에 올리게 된다. 프로세스는 페이지의 집합이므로 지금 필요한 페이지만 메모리에 올리고 사용하지 않는 페이지들은 backing store에 저장한다. 페이지 테이블은 메인 메모리에 적재되어 있는지 backing store에 있는지를 구분하는 valid 비트를 가지게 된다... 2017. 5. 8.