Network - [2] DNS, 웹 통신
·
Computer Science
DNS Round Robin 방식[1] DNS 라운드 로빈여러 서버 IP 주소를 DNS 응답에 순차적으로 나열해서 부하를 분산시키는 방식 로드밸런싱 알고리즘알고리즘설명특징Round Robin서버를 순차적으로 순회단순하지만 부하 고려 XLeast Connection연결 수가 가장 적은 서버로 전달실시간 트래픽 분산에 유리IP Hash클라이언트 IP 해시값 기준으로 고정 서버 연결세션 유지에 유리Weighted Round Robin가중치를 설정한 RR고성능 서버에 더 많은 요청Consistent Hashing요청의 해시값을 서버에 매핑서버 추가/제거에도 안정적Flow Hash (NLB) 요청의 속성을 해싱해서 매핑동일 흐름 일관성 유지 [2] DNS Round Robin 방식의 문제점서버의 수 만큼 공인 I..
Network - [1] HTTP, HTTPS, TCP
·
Computer Science
HTTP의 GET과 POST 비교둘 다 HTTP 프로토콜을 이용해서 서버에 무엇인가를 요청할 때 사용하는 방식 [1] GET요청하는 데이터가 HTTP Request Message의 Header 부분에 url에 담겨서 전송된다.때문에 url 상에 ? 뒤에 데이터가 붙어 request를 보내게 되는 것이다.이러한 방식은 url이라는 공간에 다겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이다.보안이 필요한 데이터에 대해서는 데이터가 그대로 url에 노출되므로 GET 방식은 적절하지 않다. (password) [2] POSTrequest는 HTTP Request Message의 Body 부분에 데이터가 담겨서 전송된다.때문에 바이너리 데이터를 요청하는 경우 POST 방식으로 보내야 하는 것 처럼 데이터 ..
OS (Operating System) - [3] 동기화, 메모리 관리
·
Computer Science
메모리 관리 전략 메모리 : 프로세스가 CPU에서 실행되기 위해 대기하는 곳CPU : 명령어를 실행하는 연산 장치멀티 프로그래밍 : 여러 개의 프로그램을 메모리에 올려놓고 동시에 실행시키는 것 [1] 메모리 관리 배경각각의 프로세스는 독립된 메모리 공간을 갖고, OS 혹은 다른 프로세스의 메모리 공간에 접근할 수 없는 제한이 걸려있다.OS만이 OS 메모리 영역과 사용자 메모리 영역의 접근에 제약을 받지 않기 때문에 OS에서 메모리를 관리한다.멀티프로그래밍 환경으로 변화하면서 한정된 메모리를 효율적으로 사용해야 했다. [2] 메모리 추적 방식Page Table : OS는 프로세스 마다 Page Table 하나씩 유지, 가상 주소를 물리 주소로 매핑해주는 역할을 함, 같은 주소를 갖고 있더라도 프로세스 A와..
OS (Operating System) - [2] 스케줄러, 동기화
·
Computer Science
스케줄러[1] 프로세스 스케줄링 Queue 종류Job Queue : 현재 시스템 내에 있는 모든 프로세스의 집합Ready Queue : 현재 메모리 내에 있으면서 CPU를 잡아서 실행되기를 기다리는 프로세스의 집합Device Queue : Device I/O 작업을 대기하고 있는 프로세스의 집합프로세스 스케줄링 하는 이유여러 프로세스가 동시에 실행될 때, 각 프로세스가 CPU 자원을 효율적으로 사용할 수 있도록 관리하는 과정이다.프로세스가 번갈아가면서 실행하여 CPU 자원을 효율적으로 사용해야 한다.사용자에게 빠른 응답을 제공하기 위해서 프로세스 실행 순서를 적절하게 조정해야 한다.각 프로세스가 공평하게 CPU 자원을 받을 수 있어야 한다. [2] 각각의 Queue에 프로세스들을 넣고 빼주는 스케줄러 종..
OS (Operating System) - [1] 프로세스, 스레드
·
Computer Science
OS 역할[1] 자원 관리CPU 스케줄링 : 여러 프로세스가 CPU를 사용할 수 있도록 스케줄링메모리 관리 : 프로세스에 메모리 할당/해제, 가상 메모리 등보조 기억 장치 관리 : 하드디스크 등 저장 장치 공간 할당, 파일 저장, 삭제 등입출력 장치 관리 : 키보드, 마우스, 프린터 등 I/O 장치 제어 및 데이터 처리프로세스 관리 : 실행 중인 프로그램을 프로세스로 관리 (생성, 삭제, 상태 변경 등)파일 시스템 관리 : 파일 생성, 삭제, 디렉토리 구조 관리 등 [2] 시스템 관리시스템 보호 : 사용자, 프로세스 간 권한 분리 및 접근 제어보안 : 외부 공격, 침입 방지, 암호화, 인증 등네트워킹 : 여러 컴퓨터 간의 통신, 자원 공유 지원 (TCP/IP 등)에러 탐지 및 복구 : 하드웨어, 소프트웨..