본문 바로가기

2017/0572

운영체제 25장 - 메모리 관리(12) : 프레임 할당 - 운영체제 25장- 프레임 할당 - CPU의 이용률과 프로세스의 수는 어떤 관계를 가지고 있을까? CPU의 이용률이 높을수록 효율이 높다고 할 수 있다. 프로세스의 개수가 증가할수록 CPU의 이용률은 증가한다. 왜냐하면 프로세스의 수가 많아지면 적절하게 프로세스에 CPU를 할당할 수 있게 되고 이로 인해 CPU는 항상 일을 할 수 있게 된다. 하지만 앞에서 배운 요구 페이지 기법을 사용하게 되면 일정 범위 이상의 페이지가 메인 메모리에 올라오게 되면 CPU의 이용률이 감소하게 된다. 왜냐하면 페이지가 메인 메모리에서 가득 차 있게 되면 page-in/out을 통해 페이지 결함으로 CPU가 동작을 못 하는 시간이 늘어나기 때문이다. CPU가 동작을 못하는 시간이 늘어나면 당연히 이용률이 낮아지는 것을 의미하.. 2017. 5. 14.
웹 사이트 만들기 웹 사이트 만들기 - 포트폴리오박스 일반 사용자가 웹이 무엇인가에 대해 질문을 한다면 인터넷이라고 대답할 수도 있고 단순하게 홈페이지라고 대답할 수도 있다. 물론 틀린 말은 아니다. 인터넷에서 웹을 지원하고 홈페이지가 웹의 형식이기 때문이다. 하지만 웹 사이트를 만드는 입장에서는 웹 서핑하기 위한 서비스인 웹 서비스로 이해를 할 수 있다. 일반 사용자가 보기에는 뉴스나 특정 글에 대해 읽기만 하지만 이러한 정보들은 분명 어딘가에서 서비스를 제공해야만 보이기 때문이다. 따라서 웹이라는 것은 웹 문서와 함께 웹 서버로 불리는 환경까지 신경을 써야한다. 개발자 입장에서는 웹 문서를 의미하는 프론트엔드와 이 문서들을 제공하는 웹 서버인 백엔드를 모두 합쳐 웹 서비스라고 말한다. 그러면 사람들은 웹 서비스인 웹 .. 2017. 5. 14.
인공지능 2장 - 인공지능 소개 (2) - 인공지능 2장- 인공지능 소개 (2) - 앞선 장에서는 인공지능의 정의와 역사에 대해서 살펴보았다. 이번 장에서는 인공지능의 요소 기술과 주요 응용분야에 대해서 살펴볼 것이다. 인공지능 요소 기술로는 탐색이 있을 수 있다. 탐색은 문제의 답이 될 수 있는 것들의 집합을 공간으로 간주하고 문제 대한 최적의 해를 찾기 위해 공간을 체계적으로 찾아보는 것을 의미한다. 탐색 방법에는 너비 우선 탐색이나 깊이 우선 탐색을 의미하는 무정보 탐색이 있고 경험적인 정보를 바탕으로 탐색하는 휴리스틱 탐색이 있다. 대표적인 휴리스틱 탐색의 알고리즘으로 A* 알고리즘이 존재한다. 또한 게임 트리 탐색으로 mini-max 알고리즘, pruning 알고리즘, 몬테카를로 트리 탐색 등의 방법을 통해 탐색을 진행한다. 몬테카를로 .. 2017. 5. 13.
컴퓨터 네트워크 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.