CS

CS/네트워크

[네트워크] 1-4. 패킷 교환 네트워크에서의 지연, 손실과 처리율

중요해서 따로 뺐다. 1. 노드 처리 지연패킷 헤더를 조사하고, 그 패킷을 어디로 보낼지 결정하는 시간이다.노드를 처리한 후에는 라우터 A가 해다 패킷을 라우터 B의 입력 링크 큐로 보낸다. 2. 큐잉 지연큐에서 출력 링크로 전송되기를 기다리는 시간이다.먼저 도착한 패킷의 수가 많을수록 해당 지연은 길어진다.큐가 비어있으면 대기할 필요가 없기 때문에 큐잉 지연은 0이다. 3. 전송 지연데이터를 네트워크로 보내는 데 걸리는 시간이다.이는 패킷의 모든 비트를 링크로 밀어내야 하기 때문에 패킷의 길이가 L, 전송률을 R이라 했을 때 L/R 공식을 가진다. 4. 전파 지연신호가 송신 측에서 수신 측으로 전파되는 데 걸리는 시간이다.쉽게 말해서 출력 링크로 나온 패킷이 다음 라우터까지 전파되는 데 걸리는 시간이다..

CS/네트워크

[네트워크] 1. 컴퓨터 네트워크와 인터넷

을 읽으면서 발췌한 내용이다. 전공 수업을 들을 때 읽었는데 중요한 내용이 정말 많이 담겨있어서 한 번 더 읽게 되었다. 세그먼트와 패킷통신 링크는 구리선, 광케이블 등 실제 물리 매체로 구성되며, 각각의 링크들은 다양한 전송률을 이요하여 데이터를 전송한다.이때 한 종단 시스템이 다른 종단 시스템으로 보낼 데이터를 갖고 있을 때, 이 데이터를 세그먼트로 나누고, 각 세그먼트에 헤더를 붙인다. 이렇게 만들어진 정보 패키지가 패킷이다. 패킷 교환기 (스위치)도착한 패킷을 입력 통신 링크로 받아, 출력 통신 링크로 내보낸다.최종 목적지까지 위 방식으로 패킷을 전달한다.ex) 라우터(네트워크 코어), 링크 계층 스위치(접속 네트워크)💡 Cisco라는 회사가 스위치 및 라우터 등 유선 통신장비 분야에서 업계 1..

CS/블록체인

[블록체인/Regtest] Bitcoin Core 설치 및 실행 (Mac OS)

1. Bitcoin Core 설치 https://bitcoin.org/ko/download 다운로드 - Bitcoin Bitcoin.org is a community funded project, donations are appreciated and used to improve the website. Make a donation bitcoin.org 해당 사이트에 들어가서 최신 버전의 Bitcoin Core을 다운로드한다. https://github.com/bitcoin/bitcoin GitHub - bitcoin/bitcoin: Bitcoin Core integration/staging tree Bitcoin Core integration/staging tree. Contribute to bitcoin/..

CS/운영체제

[OS] 멀티레벨 피드백 큐 (MLFQ)

MLFQ 목적 짧은 작업을 먼저 실행하여 반환 시간을 최적화 대화형 시스템으로 사용자에게 빠른 응답을 제공하기 위해 반환 시간을 최적화 MLFQ는 동적으로 우선순위를 부여함으로써 위 목적을 달성한다. MLFQ 특징 여러 개의 큐를 가지고 있다. 각 큐는 서로 다른 우선순위를 갖는다. 준비 상태인 모든 프로세스들은 특정 큐에 들어있다. 때문에 두 개의 프로세스가 서로 다른 큐에 들어있다면 우선순위가 높은 큐에 들어있는 프로세스 먼저 실행한다. 만약 동일한 우선순위인 큐에 들어있다면 라운드 로빈 스케줄링으로 수행한다. 🙋🏻‍♀️ 그러면 어떻게 동적으로 우선순위를 부여하나요? 작업 진행 과정에서 작업의 정보를 얻고, 이 정보를 통해 예측한 미래 행동을 토대로 우선순위를 부여한다. 예시를 들어보자. 1. 키보드..

CS/운영체제

[OS] 벨레이디의 모순(Belady's anomaly)이란?

벨레이디의 모순에 대해 알기 위해서는 먼저 페이징에 대한 개념이 필요하다. 페이징프로세스가 사용하는 메모리 공간을 잘게 나누어 비연속적으로 실제 메모리에 할당하는 메모리 관리 기법으로, 이때 잘게 나눈 것의 단위가 페이지이다. 논리 주소 공간과 물리 주소 공간의 분리 : 주소의 동적 재배치 허용전용 하드웨어 MMU : 논리 주소와 물리 주소의 변환 페이징의 장점구현 용이높은 이식성 및 융통성메모리 활용 우수오버헤드 감소하나의 프로그램이 수행될 때, 한 번에 메모리에 올리지 않고 페이지 단위로 쪼개서 올리기 때문에 저장장치에서 일부만 불러와 사용 가능하다. ➡️ 여러 개의 프로그램을 메모리에 올릴 수 있다. ➡️ 메모리 용량보다 프로그램의 크기가 큰 경우에도 수행이 가능하다. ➡️ 프로세서의 가용률이 높아..

CS/운영체제

[OS] 스레드의 상태 변화와 구현

스레드란? 프로세스의 두 가지 특성인 자원과 제어 중 제어로 분리된 실행 단위 프로세스 == 한 개 이상의 스레드 스레드들은 프로세스의 직접 실행 정보를 제외한 나머지 관리 정보를 공유 다른 스레드와 코드, 전역 데이터, 힙을 공유 스택은 독립적으로 소유 ➡️ 응용 프로그램에는 적어도 하나의 프로세스가 있고, 프로세스는 적어도 하나의 스레드로 이루어져 있다. 스레드 사용 시 이점 사용자 응답성 증가 : 병렬 프로그래밍으로 다중 스레드를 적용한 브라우저는 스레드가 한 개가 파일을 로딩하는 동안 다른 스레드는 사용자와 상호작용 프로세스의 자원과 메모리 공유 가능 : 하나의 주소 공간에서 시스템 성능 향상 경제성이 좋음 : 스레드를 생성하여 문맥을 교환하면 오버헤드 감소 다중 처리로 성능과 효율 향상 : 각 ..

CS/운영체제

[OS] 프로세스의 상태 변화와 관리

프로세스란? 실행 중인 프로그램 비동기적 행위 실행 중인 프로시저 운영체제에 들어있는 프로세스 제어 블록 ➡️ 디스크에 있던 프로그램을 메모리에 적재하여 운영체제의 제어를 받는 상태 (자신만의 메모리 공간이 있음을 의미) ex) 웹 브라우저 창을 한 개 열면 프로세스 한 개, 창을 두 개 열면 프로세스 두 개 프로세서 점유 시간, 메모리, 파일, 입출력장치 같은 자원은 프로세스를 생성하거나 실행할 때 할당 스택 데이터를 일시적으로 저장하는 영역 (지역변수에 사용) 호출한 함수의 반환 주소, 반환 값, 매개변수 등에 사용 함수를 호출하면 생성되고, 반환하면 소멸 힙 코드 영역과 별도로 유지되는 자유 영역 동적으로 메모리를 할당하기 위해 사용한 후 해제 데이터 프로그램의 가상 주소 공간 전역변수나 정적변수를..

CS/운영체제

[OS] 운영체제의 서비스와 구조

운영체제의 서비스 1. 부팅 서비스 컴퓨터 하드웨어를 관리하고 프로그램을 실행할 수 있도록 컴퓨터에 시동을 검 운영체제를 메인 메모리에 적재 시스템 장치 초기화, 시간 설정, 명령 해석기 적재 및 준비 2. 사용자 서비스 프로그래머가 프로그래밍 작업을 쉽게 수행할 수 있도록 함 사용자 인터페이스 제공 ➡️ 프로그램 실행 ➡️ 입출력 동작 수행 ➡️ 파일 시스템 조작 ➡️ 네트워크 통신 ➡️ 오류 방지 3. 시스템 서비스 자원 할당 : 다수의 사용자나 작업을 동시에 실행할 때 자원을 각각 할당하고 관리 계정 : 각 사용자가 자원을 얼마나 사용하는지에 대한 정보를 저장하고 추적 보호와 보안 : 사용자가 다수인 컴퓨터 시스템에서 여러 프로세스를 동시 실행하려면 서로의 활동에서 프로세스를 보호 4. 시스템 호출..

yo0oni
'CS' 카테고리의 글 목록