728x90

전체 글 260

[네크워크] HTTP의 GET과 POST 비교

GET과 POST 모두 HTTP 프로토콜을 이용해서 서버에 무엇인가를 요철항 때 사용하는 방식. 그러나 각각의 특징을 이해아고 기술의 목적에 맞게 알맞은 용도로 사용해야한다. - 프로토콜 : 복수의 컴퓨터 사이 또는 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약 GET GET방식은 요청하는 데이터가 HTTP Request Message의 Header 부분에 담겨서 전송된다. 따라서 url 상에 ? 뒤데이터가 붙어 request를 보내게 되는 것이다. GET 방식은 캐싱(caching: 캐시로 데이터를 가져와 접근하는 방식)을 사용하기 때문에 POST보다 빠르다. 이러한 방식은 url 이라는 공간에 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이다. 또한 보안이..

[네트워크] OSI 7계층

계층을 나누는 이유? 통신이 일어나는 과정을 단계적으로 알 수 있고, 어느 한 단계에 이상이 생기면 그 부분만을 수정할 수 있기 때문이다. OSI 7계층 1) Physical (물리) 물리적 매체를 통해 데이터를 전기적인 신호인 비트 흐름으로 전송하기 위한 기능. 데이터를 전송하는 역할만 함. - 리피터, 케이블, 허브 등 2) Link (데이터 링크) 물리 계층으로 송수신 되는 정보를 관리해 안전하게 전달되도록 도와주는 역할. 오류없이 전달하기 위한 제어정보를 추가. - 브릿지, 스위치 등 3) Network (네트워크) 데이터를 목적지 까지 가장 안전하고 빠르게 전달하는 기능 수행. 라우터를 통해 이동할 경로를 선택해 IP주소를 지정하고, 해당 경로에 따라 패킷을 전달. 라우팅, 흐름 제어, 오류 제..

[운영체제] 캐시의 지역성

캐시의 지역성의 원리 캐시메모리는 속도가 빠른 장치와 느린 장치간의 속도 차에 따른 병목 현상을 줄이기 위한 범용 메모리 이러한 역할을 수행하기 위해선 CPU가 어떤 데이터를 원할 것인가를 어느 정도 예측할 수 있어야 함. (캐시의 성능은 작은 용량의 캐시 메모리에 CPU가 이후에 참조할 쓸모있는 정보가 얼마나 들었느냐에 좌우되기 때문) 이때, 적중률(cache hit rate)을 극대화 시키기 위해서 데이터 지역성(Locality)의 원리를 사용 Locality의 전제 조건 : 프로그램은 모든 코드나 데이터를 균등하게 access하지 않는다. (어느 한 순간에 특정 부분을 집중적으로 참조하는 특성) 이는 대표적으로 시간 지역성과 공간지역성으로 나뉨. - 시간 지역성: 최근에 참조된 주소의 내용은 곧 다..

[운영체제] 가상 메모리

가상 메모리 다중 프로그래밍의 실현에 있어서는 많은 프로세스들을 동시에 메모리에 올릴 수 있어야 한다. 가상 메모리는 프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하도록 하는 기법이며, 프로그램이 물리 메모리 보다 커도 된다. 가상 메모리 개발 배경 이전에는 실행되는 코드를 전부 물리 메모리에 올려둬야 했으며, 메모리의 용량 보다 큰 프로그램의 경우엔 실행이 불가능 했음. 여러 프로그램을 동시에 메모리에 올리기 힘든 용량의 한계, 페이지 교체등의 성능 이슈가 발행. 프로그램의 일부만 메모리에 올릴 수 있다면? - 물리 메모리의 크기에 제약 받지 않게 됨 - 더 많은 프로그램들을 동시에 시행할 수 있게 됨. -> 응답시간은 유지되고 CPU 이용률과 처리율은 높아짐. - swap에 필요한 입출력..

[운영체제] 메모리 관리 전략

메모리 관리 전략 메모리 관리의 배경 각 프로세스는 독립된 메모리 공간을 갖고, 운영체제나 다른 프로세스의 메모리 공간에 접근할 수 없는 제한이 걸려있음. (단, 운영체제만이 운영체제 메모리 영역과 사용자 메모리 영역에 접근에 제약을 받지 않음) Swapping 메모리 관리를 위해 사용되는 기법으로, 라운드 로빈과 같은 스케줄링의 다중 프로그래밍 환경에서 CPU할당 시간이 끝난 프로세스의 메모리를 보조기억 장치로 내보내고 다른 프로세스의 메모리를 불러들일 수 있음. 주기억장치(RAM)으로 불러오는 과정을 swap-in, 보조 기억장치로 내보내는 과정을 swap-out이라고함. 이는 큰 디스크 전송 시간이 요구되기 때문에 현재엔 메모리 공간이 부족할 때 swapping이 시작됨. 단편화 (Fragmenta..

[백준 2263 - C++] 트리의 순회 : 분할 정복

https://www.acmicpc.net/problem/2263 2263번: 트리의 순회 첫째 줄에 n(1≤n≤100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. www.acmicpc.net 문제 n개의 정점을 갖는 이진 트리의 정점에 1부터 n까지의 번호가 중복 없이 매겨져 있다. 이와 같은 이진 트리의 인오더와 포스트오더가 주어졌을 때, 프리오더를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n(1≤n≤100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. 출력 첫째 줄에 프리오더를 출력한다. 예제 입력 1 3 1 2 3 1 3 2..

[운영체제] 교착상태 (Deadlock) 및 기아상태(Starvation)

교착상태 (Deadlock) 두 개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태 데드락이 일어나는 경우 P0과 P1이 S와 Q를 모두 얻어야 하는 경우에 P0이 S를 얻고 그 후 context switching이 일어나 P1이 Q를 얻었다. 그리고 다시 context switching이 일어나고 P0은 Q자원을 얻기 위해 기다리게 되고 P1은 S자원을 얻기 위해 기다리게 된다. 즉 서로가 원하는 자원이 상대에게 있어 아무것도 진행되지 못하고 둘 다 기다리고 있는 상황이 되는 것이다. 교착상태의 발생 조건 - 모두 성립해야 발생 - 상호 배제 : 하나의 프로세스가 자원을 사용중일 때 다른 프로세스는 그를 사용할 수 없다. - 점유 대기 : 최..

[운영체제] 프로세스 동기화

Critical Section (임계 영역) 동일한 자원을 동시에 접근하는 작업 (ex 공유하는 병수 사용, 동일 파일을 사용 등)을 실행하는 코드 영역. Critical Section Problem (임계 영역 문제) 프로세스들이 Critical Section을 함께 사용할 수 있는 프로토콜을 설계하는 것. 해결을 위해 필요한 기본 조건 - Mutual Excusion (상호 배제) 프로세스 P1이 critical section에서 실행중이라면 다른 프로세스들은 critical section에서 실행될 수 없다. 즉, 한번에 하나의 프로세스만이 동작할 수 있다. - Progress (진행) critical section에서 실행 중인 프로세스가 없는 경우 어떤 프로세스가 critical section에..

[운영체제] 동기와 비동기

비유를 통한 쉬운 설명 해야할 일(task)가 빨래, 설거지, 청소 세 가지가 있다고 가정한다. 이 일들을 동기적으로 처리한다면 빨래를 하고 설거지를 하고 청소를 한다. 비동기적으로 일을 처리한다면 빨래하는 업체에게 빨래를 시킨다. 설거지 대행 업체에 설거지를 시킨다. 청소 대행 업체에 청소를 시킨다. 셋 중 어떤 것이 먼저 완료될지는 알 수 없다. 일을 모두 마친 업체는 나에게 알려주기로 했으니 나는 다른 작업을 할 수 있다. 이 때는 백그라운드 스레드에서 해당 작업을 처리하는 경우의 비동기를 의미한다. Sync vs Async 일반적으로 동기와 비동기의 차이는 메소드를 실행시킴과 동시에 반환 값이 기대되는 경우를 동기 라고 표현하고 그렇지 않은 경우에 대해서 비동기 라고 표현한다. 동시에라는 말은 실..

[운영체제] CPU 스케줄러

CPU 스케줄러 Ready Queue에 있는 프로세스들을 스케줄링함. CPU를 효율적으로 사용하기 위해서는 프로세스를 잘 배정하는 것이 중요. - 오베헤드를 줄이고, 기아 현상(starvation)을 줄이고, 사용률을 높이는 쪽으로 선점 / 비선점 스케줄링 선점 : OS가 CPU의 사용권을 선점할 수 있는 경우, 강제 회수하는 경우 비선점 : 프로세스 종료나 I/O 등의 이벤트가있을 때 까지 실행 보장 (처리 시간 예측이 어려움) FCFS (First Come First Served) Ready Queue에 먼저 들어온 순서대로 처리하는 방식 (선입선출). 비선점 스케줄링 문제정: convey effect(소요시간이 긴 프로세스가 먼저 도달하여 효율성을 낮추는 현상) SJF (Shortest Job Fi..

728x90
반응형