본문 바로가기

2017/0572

컴퓨터 네트워크 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.
컴퓨터 네트워크 34장 - 소켓 시스템 콜 - 컴퓨터 네트워크 34장- 소켓 시스템 콜 - 운영체제에서 구현되는 전송 계층 프로토콜인 TCP와 UDP를 사용하려면 소켓 시스템 콜이라는 라이브러리 함수를 이용한다. 소켓은 통신을 원하는 프로세스에 할당되는 자원이며, 고유의 소켓 주소가 부여된다. 소켓 주소는 소켓 시스템 콜을 통해 사용되며 이를 지원하는 다양한 함수들이 존재한다. 제공되는 다양한 함수들에 대해 자세히 알아보자. socket()함수는 소켓을 생성하며, 생성된 소켓의 디스크립터를 반환하는 기능을 수행한다. 사용할 프로토콜의 도메인을 의미하는 domain과 서비스 유형에 대한 값인 type과 적절한 프로토콜을 선택하도록 설정하는 protocol 값을 매개변수로 갖는다. protocol은 보통 0으로 지정한다. domain영역에 AF_UINX.. 2017. 5. 7.
컴퓨터 네트워크 33장 - 소켓의 주소 체계와 서비스 - 컴퓨터 네트워크 33장- 소켓의 주소 체계와 서비스 - 소켓이라는 통신 프로그램을 쉽게 개발할 수 있게 해주는 API의 일종이다. 인터넷 응용 프로그램을 작성하려면 C 언어를 포함한 고급 프로그래밍 능력이 필요하듯이 네트워크 기능을 위한 데이터 전송을 위해서는 반드시 소켓 프로그래밍을 할 수 있어야한다. 소켓은 네트워크 통신에서 종단의 교신점 역할을 한다. 예를 들어 우편배달을 하는 경우에는 우체통이라는 도구가 교신점 역할을 할 것이고 전화 서비스를 생각하면 전화기가 교신점 역할을 할 것이다. 프로토콜의 종류에 따라 사용하는 주소 체계가 다르다. 일반적으로 한 호스트에 존재하는 프로세스 사이의 통신을 지원하는 AF_UNIX와 다른 호스트에 존재하는 프로세스 사이의 통신을 지원하는 AF_INET가 존재한다.. 2017. 5. 7.
운영체제 21장 - 메모리 관리(8) : 가상 메모리 - 운영체제 21장- 가상 메모리 - 메인 메모리의 크기가 한정되어 있으므로 물리적인 메모리 크기보다 크기가 큰 프로세스를 실행시킬 수 없다. 예로 100MB 메인 메모리에서 200MB 크기의 프로세스를 실행할 수 없게 되는 것이다. 그렇다면 메인 메모리보다 크기가 큰 프로세스를 실행시키고 싶으면 어떻게 해야 할까? 단순히 메인 메모리가 더 큰 컴퓨터를 사용해야하는가? 이런 방법은 매우 비효율적일 것이다. 그래서 나온 방법이 바로 가상 메모리이다. 프로세스의 모든 코드는 항상 필요한 것이 아니다. 오류 처리하는 부분이나 필요 없는 배열 부분은 실제로 프로세스가 잘 동작한다면 필요 없는 부분이 된다. 따라서 프로세스는 필요한 부분만 메모리에 올림으로써 메인 메모리에 올라가는 프로세스의 크기를 줄인다. 프로세스.. 2017. 5. 7.
데이터 마이닝4 - 분석 기법 및 모형 평가 - 데이터 마이닝4- 분석 기법 및 모형 평가 - 분석 기법 중에서 사례 기반 추론 방법이 있다. 사례 기반 추론은 Case-based Reasoning으로 CBR이라고 불리는데 k-NN 알고리즘을 이용하여 검색된 유사 과거 사례들을 조합하여 새로운 문제에 대한 해를 도출하는 방법이다. 대표적인 예시로 대법원에서 판례집을 이용하는 경우라고 할 수 있다. 기존의 사건들을 일정한 규칙을 통해 case base라는 공간에 보관한다. 만약 새로운 사건이 발생했을 때 case base에 물어보고 어떻게 문제를 해결해야할 지를 결정하는 것을 말한다. 계속해서 다양한 case들이 쌓이게 되면 더욱 유용한 정보를 많이 가지고 있게 되어 더 좋은 결과를 도출할 수 있다. 로지스틱 회귀분석은 두 개의 집단을 분류하는 기준을 .. 2017. 5. 5.
컴퓨터 네트워크 32장 - 응용 계층 - 컴퓨터 네트워크 32장- 응용 계층 - 응용 계층의 하부에 있는 계층들은 신뢰성 있는 데이터 전송을 보장하는 역할을 수행한다. 이에 비해 응용 계층은 하부 계층들을 이용해 사용자에게 편리한 응용 환경을 제공하는 것에 초점을 둔다. 따라서 응용 계층의 구현은 사용자 프로그램 환경에서 이루어지며 운영체제에서 제공되는 계층 4의 인터페이스를 사용해 통신 기능을 구현한다. 필요에 따라 세션, 표현 계층의 기능을 포함한다. 응용 계층의 연결 설정 방식에는 하나의 서버 프로그램이 다수의 클라이언트에 응용 서비스를 제공하는 클라이언트-서버 모델이 있다. 서버가 반드시 먼저 대기 상태에 있어서 클라이언트가 서버에게 연결 요청을 하는 것으로 연결을 설정한다. 클라이언트-서버 모델을 구현할 때 먼저 고려할 사항은 비연결형.. 2017. 5. 5.
컴퓨터 네트워크 31장 - 표현 계층 - 컴퓨터 네트워크 31장- 표현 계층 - 표현 계층은 응용 프로세스 사이에 전송되는 메시지의 표현 방법을 다룬다. 전송 메시지에 표현된 문법 내용을 통신 양단의 프로세스가 해석하는 기능을 수행한다. 송신 프로세스가 전달하는 의미를 수신 프로세스가 정확히 이해하도록 하는 것이다. 데이터가 표현 될 때 추상 문법과 전송 문법이 있다. 추상 문법은 각 컴퓨터에서 사용하는 데이터 표현 규칙이다. 전송 문법은 네트워크 전체에서 일관성을 지니는 표현 규칙이다. 특정 컴퓨터에 독립적이면서 네트워크 전체에서 일관성을 가지는 새로운 표현 규칙인 전송 문법을 이용하여 전송해야한다. 각 컴퓨터는 각기 다른 추상 문법을 가지고 있기 때문이다. 수신 측에서는 자신의 컴퓨터에서 이해하는 추상 문법의 형태로 다시 변환하는 과정도 필.. 2017. 5. 5.
컴퓨터 네트워크 30장 - 세션 계층 - 컴퓨터 네트워크 30장- 세션 계층 - 앞선 장들에서 하위 계층들의 기능에 대해서 살펴보았다. 일반적으로 하위 계층들은 운영체제 내부에서 구현되어 사용된다. 이에 비해 상위 세 계층은 사용자 프로그램을 구현하는데 사용이 된다. 이에 대해 살펴볼 것이다. 세션 계층은 상위 계층에 제공하는 서비스로 세션 연결 설정과 해제, 세션 메시지 전송을 통해 동작한다. 세션 계층은 크게 동기 기능과 대화의 기능을 수행한다. 통신 양단끼리 서로 동의하는 논리적인 공통 시점인 동기점을 만들어 메시지가 제대로 처리가 되고 있는지를 파악하게 된다. 동기점은 오류 복구를 위하여 필수적으로 사용되는데 동기점 설정 이전까지는 서로 처리가 완료되었음을 합의하는 것을 의미한다. 동기점 이전 과정은 복구가 필요 없고 동기점 이후 처리 .. 2017. 5. 5.