본문 바로가기

전체 글184

컴퓨터 네트워크 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.
운영체제 20장 - 메모리 관리(7) : 세그멘테이션(Segmentation) - 운영체제 20장- 세그멘테이션(Segmentation) - 앞선 장들에서 페이징을 배우면서 프로세스를 일정 크기인 페이지 단위로 잘라서 메모리에 적재하는 방법을 알았다. 페이지는 정확하게 일정한 간격으로 자르는 단위였다. 하지만 프로세스를 물리적인 단위인 페이지 말고 논리적 내용 단위인 세그먼트로 자를 수 있는 세그먼테이션 방법이 있다. 예를 들면 우리가 돼지를 잡아서 보관을 한다고 생각해보자. 페이징의 방법을 사용하면 돼지를 모두 같은 단위로 잘라서 보관을 하는 것이다. 반면에 세그먼테이션은 부위별로 다른 크기로 잘라서 보관하는 것이다. 세그멘테이션은 프로세스를 세그먼트의 집합으로 생각한다. 사실 하나의 프로세스가 동작하려면 기본적으로 코드, 데이터, 스택 세 가지의 세그먼트는 항상 가지고 있다. 그리.. 2017. 5. 5.
운영체제 19장 - 메모리 관리(6) : 페이징(3) - 운영체제 19장- 페이징(3) - 모든 프로그램들은 실행되기 전에 하드디스크에 보관된다. 그리고 사용을 하고자 하는 프로그램들이 메인 메모리에 적재되어서 CPU를 할당받아 기능을 수행하게 된다. 처음에 메인 메모리에 프로세스의 적재를 배울 때에는 프로세스들이 연속적으로 하나씩 메모리에 적재되는 것으로 알고 있었다. 하지만 이런 방법은 메모리의 공간을 매우 낭비시켜 효율을 떨어뜨린다는 것을 배웠다. 이를 해결하기 위해 프로세스를 페이지라는 단위로 나누어서 메모리에 적재하는 방법인 페이징 기법을 사용하였다. 재배치 레지스터를 사용하여 페이지 테이블에 맞는 주소로 논리 주소를 물리 주소로 변환시켜 프로세스의 메모리 주소 위치를 파악하는 방법이다. 운영체제는 프로세스 관리와 메모리 관리 외에도 다양한 일을 수행.. 2017. 5. 4.
재택 알바(집에서 할 수 있는 부업) : 설문조사 재택 알바(집에서 할 수 있는 부업) : 설문조사 모든 사람들이 인터넷을 사용할 수 있을 정도로 인터넷이 발달된 사회가 되었다. 특히 한국의 경우 90%이상의 인구가 인터넷을 사용하고 있다는 것으로 통계되고 있을 정도이다. 그런데 이렇게 많은 사람들이 인터넷을 사용하는데 인터넷으로 돈을 버는 방법은 없을까? 당연히 존재한다. 이번에는 그 방법 중 하나인 설문조사를 통해 돈을 버는 방법을 소개할까한다. 인터넷을 사용하면서 가끔 시간이 날 때 설문조사를 하면서 쏠쏠한 이득을 얻을 수 있을 것이다. 설문조사 재택 알바는 다양한 형태가 존재한다. 일반적으로 회원가입 후 이메일 인증을 통해 정회원이 된다. 이메일 인증을 하면 자신에게 맞는 설문조사가 올라올 때마다 이메일을 통해 확인할 수 있다. 이 후 간단한 설.. 2017. 5. 3.