공부
-
[AWS, Kafka] ec2 프리티어를 사용할 경우 생기는 에러공부/Kafka 2022. 5. 21. 23:55
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N ec2 프리티어를 사용할 경우 생기는 오류이다. M2.micro의 램 크기가 1GB이기 때문에 kafka와 zookeeper의 메모리 사용 용량을 줄여야한다. 내가 설치한 카프카는 kafka_2.12-2.5.0이므로 cd 명령어를 사용하여 들어간다. cd kafka_2.12-2.5.0 kafka의 메모리 할당량을 줄인다. vi bin/kafka-serv..
-
3. e-mail, DNS공부/컴퓨터 네트워크 2022. 5. 18. 19:48
이 글은 Computer Networking: A Top-Down Approach 7th를 읽고 정리한 글입니다. 1. 인터넷 전자메일 전자메일은 일반 우편처럼 내가 원할 때 메시지를 보내거나 읽을 수 있는 비동기적인 통신 매체이다. 이메일의 주요 요소는 아래와 같다. 1. 사용자 에이전트 (user agent) 2. 메일 서버 (mail server) 3. SMTP (Simple Mail Transfer Protocol) 사용자 에이전트 먼저 사용자 에이전트는 사용자가 메시지를 읽고, 응답하고, 전달하고, 구성하게 해준다. 사용자가 메시지 작성을 끝내면, 사용자 에이전트는 메시지를 메일 서버로 보내고 메시지는 메일 서버의 출력 메시지 큐에 들어간다. 그리고 메일을 받은 사람이 메일을 읽고 싶으면 그 사..
-
2. 애플리케이션 계층공부/컴퓨터 네트워크 2022. 5. 17. 19:36
이 글은 Computer Networking: A Top-Down Approach 7th를 읽고 정리한 글입니다. 1. 네트워크 애플리케이션의 원리 1.1 네트워크 애플리케이션 구조 현재 사용되는 애플리케이션 구조는 클라이언트-서버 구조와 Peer-to-Peer(P2P 구조가 있다. 클라이언트-서버 구조 항상 켜져 있는 호스트를 서버라고 부르고, 서버는 클라이언트라는 다른 많은 호스트들의 요청을 받는다. 웹 서버가 클라이언트 호스트로부터 객체를 요청받으면 웹 서버는 클라이언트 호스트로 요청된 객체를 보내어 응답한다. 클라이언트의 특징은 클라이언트끼리 서로 직접적으로 통신을 하지 않고, 클라이언트 호스트는 서버와 다르게 항상 연결되어 있지 않고 가끔씩만 연결된다.서버의 특징은 항상 켜져 있고, 고정 IP ..
-
1. 컴퓨터 네트워크와 인터넷공부/컴퓨터 네트워크 2022. 5. 10. 00:58
이 글은 Computer Networking: A Top-Down Approach 7th를 읽고 정리한 글입니다. 1. 인터넷이란 무엇인가? 1.1 구성요소로 본 인터넷 인터넷으로 연결된 모든 장치는 호스트(host), 종단 시스템(end system)이라고 부른다. 종단 시스템은 통신 링크와 패킷 스위치의 네트워크로 연결되어 있다. 패킷: 한 종단 시스템이 다른 종단 시스템으로 보낼 데이터를 가지고 있을 때, 송신 종단 시스템은 그 데이터를 세그먼트로 나누고 각 세그먼트에 헤더를 붙여 만들어진 정보 패키지 링크: 광케이블, 구리선과 같은 다양한 물리 매체로 구성되어 있으며, 각각의 링크들은 다양한 전송률로 데이터를 전송한다. 패킷 스위치: 최종 목적지 방향으로 패킷을 전달하는 것으로 가장 유명한 것은 ..
-
-
[공룡책] Ch.8 교착 상태공부/운영체제(OS) 2022. 5. 1. 22:04
이 글은 공룡책을 읽고 정리한 글입니다. 0. 소개 다중 프로그래밍 환경에서는 여러 스레드가 한정된 자원을 사용하려고 서로 경쟁할 수 있다. 한 스레드가 자원을 요청했을 때, 그 시각에 그 자원을 사용할 수 없는 상황이 발생할 수 있고, 그러면 스레드는 대기 상태로 변경된다. 이처럼 대기 중인 스레드들이 결코 다시는 그 상태를 변경시킬 수 없는 상황을 교착 상태라고 부른다. 책에서는 교착 상태를 프로세스 집합 내의 모든 프로세스가 그 집합의 다른 프로세스에 의해서만 일어날 수 있는 이벤트를 기다리는 상황으로 정의하였다. 교착 상태의 가장 좋은 예는 "두 기차가 교차로에서 서로 접근할 때, 둘 다 완전히 정지해야 하며 상대방이 없어지지 않는 한 누구도 다시 출발할 수 없다."이다. 1. 시스템 모델 시스템..
-
[공룡책] Ch.6 동기화 도구공부/운영체제(OS) 2022. 4. 27. 17:03
이 글은 공룡책을 읽고 정리한 글입니다. 0. 소개 3장에서 우리는 협력적 프로세스에 대해 배웠다. 협력적 프로세스는 논리 주소 공간을 직접 공유하거나, 공유 메모리 / 메시지 전달을 통해서만 데이터를 공유할 수 있다. 이때 공유 데이터를 동시에 접근하면 일관성을 망칠 수 있는데, 이 장에서는 논리 주소 공간을 공유하는 협력적 프로세스의 질서 있는 실행을 보장하는 것에 대해 논의한다. 1. 배경 우리는 3장에서 프로세스가 병행 또는 병렬로 실행할 수 있다는 것을 배웠고, 4장에서 CPU 스케줄러가 프로세스 사이를 오가며 모든 프로세스를 병행 실행시킨다는 것을 배웠다. 이것은 한 프로세스가 다른 프로세스가 스케줄 되기 전에 일부분만 진행한다는 것을 의미한다. 이때 한 변수에 서로 의존하는 경우 값이 변경되..
-
[공룡책] Ch 5. CPU 스케줄링공부/운영체제(OS) 2022. 4. 27. 02:56
이 글은 공룡책을 읽고 정리한 글입니다. 0. 소개 CPU 스케줄링은 다중 프로그램 운영체제의 기본이다. CPU 스케줄링을 통해 보다 더 효율적으로 CPU를 사용할 수 있다. 그래서 이 장에서는 스케줄링 개념과 여러 스케줄링 알고리즘을 소개한다. 그리고 일반적인 스케줄링을 논의하는 경우에는 프로세스 스케줄링이라는 단어를 사용하고, 스레드에 국한된 개념에는 스레드 스케줄링이라는 단어를 사용한다. 1. 기본 개념 코어가 하나인 시스템에서는 한순간에 오직 하나의 프로세스만이 실행될 수 있다. 나머지 프로세스는 CPU의 코어가 가용(available) 상태가 되어 다시 스케줄 될 수 있을 때까지 기다려야 한다. 다중 프로그래밍의 목적은 CPU 이용률을 최대화하기 위해 항상 실행중인 프로세스를 가지게 하는데 있다..