본문 바로가기

2017/0572

운영체제 20장 - 메모리 관리(7) : 세그멘테이션(Segmentation) - 운영체제 20장- 세그멘테이션(Segmentation) - 앞선 장들에서 페이징을 배우면서 프로세스를 일정 크기인 페이지 단위로 잘라서 메모리에 적재하는 방법을 알았다. 페이지는 정확하게 일정한 간격으로 자르는 단위였다. 하지만 프로세스를 물리적인 단위인 페이지 말고 논리적 내용 단위인 세그먼트로 자를 수 있는 세그먼테이션 방법이 있다. 예를 들면 우리가 돼지를 잡아서 보관을 한다고 생각해보자. 페이징의 방법을 사용하면 돼지를 모두 같은 단위로 잘라서 보관을 하는 것이다. 반면에 세그먼테이션은 부위별로 다른 크기로 잘라서 보관하는 것이다. 세그멘테이션은 프로세스를 세그먼트의 집합으로 생각한다. 사실 하나의 프로세스가 동작하려면 기본적으로 코드, 데이터, 스택 세 가지의 세그먼트는 항상 가지고 있다. 그리.. 2017. 5. 5.
운영체제 19장 - 메모리 관리(6) : 페이징(3) - 운영체제 19장- 페이징(3) - 모든 프로그램들은 실행되기 전에 하드디스크에 보관된다. 그리고 사용을 하고자 하는 프로그램들이 메인 메모리에 적재되어서 CPU를 할당받아 기능을 수행하게 된다. 처음에 메인 메모리에 프로세스의 적재를 배울 때에는 프로세스들이 연속적으로 하나씩 메모리에 적재되는 것으로 알고 있었다. 하지만 이런 방법은 메모리의 공간을 매우 낭비시켜 효율을 떨어뜨린다는 것을 배웠다. 이를 해결하기 위해 프로세스를 페이지라는 단위로 나누어서 메모리에 적재하는 방법인 페이징 기법을 사용하였다. 재배치 레지스터를 사용하여 페이지 테이블에 맞는 주소로 논리 주소를 물리 주소로 변환시켜 프로세스의 메모리 주소 위치를 파악하는 방법이다. 운영체제는 프로세스 관리와 메모리 관리 외에도 다양한 일을 수행.. 2017. 5. 4.
재택 알바(집에서 할 수 있는 부업) : 설문조사 재택 알바(집에서 할 수 있는 부업) : 설문조사 모든 사람들이 인터넷을 사용할 수 있을 정도로 인터넷이 발달된 사회가 되었다. 특히 한국의 경우 90%이상의 인구가 인터넷을 사용하고 있다는 것으로 통계되고 있을 정도이다. 그런데 이렇게 많은 사람들이 인터넷을 사용하는데 인터넷으로 돈을 버는 방법은 없을까? 당연히 존재한다. 이번에는 그 방법 중 하나인 설문조사를 통해 돈을 버는 방법을 소개할까한다. 인터넷을 사용하면서 가끔 시간이 날 때 설문조사를 하면서 쏠쏠한 이득을 얻을 수 있을 것이다. 설문조사 재택 알바는 다양한 형태가 존재한다. 일반적으로 회원가입 후 이메일 인증을 통해 정회원이 된다. 이메일 인증을 하면 자신에게 맞는 설문조사가 올라올 때마다 이메일을 통해 확인할 수 있다. 이 후 간단한 설.. 2017. 5. 3.
데이터 마이닝3 - 데이터 마이닝 분석 기법 - 데이터 마이닝3- 데이터 마이닝 분석 기법 - 데이터 마이닝을 사용하는 분석 기법들의 종류는 다양하다. 이에 대해 간단하게 살펴볼 것이다. 연관 규칙 분석에는 Association Rules이라는 규칙이 있다. Association Rules 대규모의 데이터 항목들 중에서 유용한 연관성과 상관관계를 찾는 기법이다. 상품 또는 서비스간의 관계를 살펴보고, 이로부터 유용한 규칙을 찾아내고자 할 때 이용한다. 함께 구매하는 상품의 조합이나 서비스 패턴을 발견하고 싶을 때 많이 사용하여 장바구니 분석이라고도 불린다. 예를 들어 감자 칩을 구입하는 고객의 40%는 콜라도 함께 구입한다. 목요일 저녁 맥주 구입 고객의 30%는 기저귀도 함께 구입한다. 와 같은 연관성을 분석하는 기법을 말한다. 확률 값을 보고 제일.. 2017. 5. 3.
컴퓨터 네트워크 29장 - RTP 프로토콜 - 컴퓨터 네트워크 29장- RTP 프로토콜 - 실시간 서비스로 멀티미디어 서비스 환경에 변화가 생겼다. 기존에는 비디오, 오디오 파일 전체를 다운받은 후 서비스를 받는 것이었다면 실시간 스트리밍 서비스의 등장으로 실시간으로 다운로드하며 재생하는 시대로 바뀌었다. 이로 인해 데이터를 전송하는 방식에서 데이터 변형/분실 오류를 복구하는 기능이 상대적으로 덜 중요하고 도착순서나 패킷의 지연 간격, 데이터 압축 등이 더 중요하게 되었다. 이런 멀티미디어의 서비스를 제공하기 위해서 프로토콜이 필요한데 TCP는 패킷의 순서와 신뢰성에 지나치게 강조를 하여 재전송 기능, 복잡한 흐름 제어 기능으로 인해 실시간 환경에서는 부적합하다. UDP의 경우 기능이 단순하여 빠른 전송을 할 수 있지만 데이터그램을 보낼 때 순서를 .. 2017. 5. 3.
컴퓨터 네트워크 28장 - UDP 프로토콜 & OSI TP 프로토콜 - 컴퓨터 네트워크 28장- UDP 프로토콜 & OSI TP 프로토콜 - UDP는 비연결형 서비스를 제공하여 작지만 빠른 전송을 할 수 있는 프로토콜이다. 헤더와 전송 데이터에 대한 체크섬 기능을 제공한다. Best Effort 전달 방식을 지원하여 데이터 전송에 최선을 다하지만 제대로 도착했는지는 보장할 수 없다는 것을 의미한다. 전송한 데이터가 제대로 도착했는지 확인을 하지 않아 신뢰성이 낮지만 데이터 처리가 빠르게 되어 데이터 전송 시간이 민감한 환경에서는 유리할 수 있다. UDP의 헤더는 매우 간단한 구조이다. UDP는 앞에서 말했듯 수행하는 기능이 매우 간단하다. 데이터 전송에 대한 제어도 하지 않으므로 헤더에 포함되어야할 정보가 비교적 많지 않다. 송수신 포트 번호에 대한 필드가 있고 UDP 데이.. 2017. 5. 3.
운영체제 18장 - 메모리 관리(5) : 페이징(2) - 운영체제 18장- 페이징(2) - 다중 프로그래밍 환경으로 바뀌면서 다양한 프로그램들이 메인 메모리 공간에 올라가서 프로세스로 되어 동작하기 시작했다. 프로그램들은 필요할 때 메인 메모리로 적재되고 사용이 다 되면 다시 하드디스크로 돌아가게 된다. 이런 작동이 반복되면서 메모리 공간에는 hole이라고 하는 빈 공간이 만들어지게 된다. 이런 빈 공간이 흩어져 있게 되어 총 합으로는 충분한 공간의 빈 메모리 공간이 있을지라도 사용할 수 없는 공간이 되어버린다. 왜냐하면 프로세스는 연속된 공간에서 존재해야 동작했기 때문이다. 이러한 문제를 외부 단편화라고 했다. 그리고 외부 단편화를 해결하고자 노력을 많이 하였다. 연속 메모리 할당을 하는 방식에 차이를 두기도 하고 compaction 기법을 사용하기도 하였다.. 2017. 5. 3.
데이터 마이닝2 - 데이터 마이닝 분석 절차 - 데이터 마이닝2- 데이터 마이닝 분석 절차 - 데이터 마이닝 분석 철차에 대해서 알아보도록 하자. 데이터 마이닝 분석하기 위해서 먼저 적용 업무에 대한 정의가 필요하다. 어떠한 업무에 사용하기 위해서 데이터 마이닝을 사용하는지에 대해 먼저 판단을 만들어야 한다. 그 후 어떤 데이터를 사용할지를 선택해야한다. 원천 데이터를 선택하는 것이다. 데이터를 선택한 후 이 데이터로부터 우리가 직접적으로 사용하고자 하는 데이터를 끄집어 내야한다. 데이터 클리닝, 코딩, Enrichment 등을 통해 원천 데이터로부터 우리가 직접 사용하고자 하는 데이터를 가지고 나와야한다. 이 후 데이터 마이닝 툴을 선정한다. 데이터 마이닝을 하는 방법에는 여러 가지 방법이 있다고 했다. 이러한 통계적 다양한 방법들 중 우리 데이터에.. 2017. 5. 2.
컴퓨터 네트워크 27장 - TCP 프로토콜을 이용한 데이터 전송 - 컴퓨터 네트워크 27장- TCP 프로토콜을 이용한 데이터 전송 - TCP 프로토콜은 전이중 방식의 양방향 통신을 지원하므로 가상 회선으로 연결된 두 프로세스가 동시에 데이터를 전송할 수 있다. 따라서 전송 데이터와 응답 데이터를 함께 전송하는 피기배킹 기능을 사용한다. TCP 프로토콜은 연결형 서비스를 제공하므로 데이터를 전송하는 과정은 연결 설정, 데이터 전송, 연결 해제 3단계를 순차적으로 진행하게 된다. 연결 설정은 3단계 설정을 통해 이루어진다. A 프로세스와 B 프로세스가 있다고 가정하면 A 프로세스에서 먼저 연결 설정을 요청한다. 임의의 순서번호를 선택한 후 SYN(연결 설정 요청하는 플래그 비트)을 전송한다. B 프로세스는 이에 대해 응답을 하는데 A 프로세스가 보낸 순서 번호에 1을 더해서.. 2017. 5. 2.
컴퓨터 네트워크 26장 - TCP - 컴퓨터 네트워크 26장- TCP - TCP는 IP 프로토콜 위에서 연결형 서비스를 지원하는 전소 계층의 프로토콜로 Transport Control Protocol이다. 연결형 서비스를 제공하고 전이중 방식의 양방향 가상회선을 제공한다. 연결형 서비스이므로 신뢰성 있는 데이터 전송을 보장한다. 신뢰성 있는 데이터를 전송하나다는 것은 오류 제어, 흐름 제어를 통해 데이터를 안전하게 전송한다는 것을 의미한다. 일반적으로 전송계층 프로토콜은 운영체제 내부 기능으로 구현되므로 시스템 콜이라는 프로그램 호출 방식을 이용해야 서비스를 사용할 수 있다. TCP에서는 데이터를 세그먼트라는 블록 단위로 분할하여 전송한다. 데이터 링크 계층에서는 프레임, 네트워크 계층에서는 패킷이라는 단위를 사용했다. 세그먼트라는 블록의 .. 2017. 5. 2.