일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 열혈 TCP/IP 소켓 프로그래밍
- 운영체제
- 제프리리처
- Window-Via-c/c++
- 이펙티브코틀린
- inflearn
- n타일링2
- 10026번
- TCP/IP
- Operating System
- 스프링 핵심 원리
- OS
- 열혈 tcp/ip 프로그래밍
- FIFO paging
- 2475번
- C++
- 김영한
- 우아한레디스
- 우아한 테크 세미나
- 윤성우 저자
- Operating System.
- 토마토
- BOJ
- HTTP
- redis
- 스프링 입문
- Spring
- Four Squares
- C#
- 에러핸들링
- Today
- Total
목록분류 전체보기 (206)
나의 브을로오그으
https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net #include using namespace std; #define HEAP_MAX_SIZE100000 template struct Node { T data; public: Node() : data(0) { } Node(T _data) : data(_data) { } }; template class Heap { public: Heap() : mSize(0) { } virtual..
보호와 공유 - 보호 (Protection): 해킹 등 방지 * 모든 주소는 페이지 테이블을 경유하므로, * 페이지 테이블 엔트리마다 r, w, x 비트 두어 * 해당 페이지에 대한 접근 제어 가능 - 공유 (Sharing): 메모리 낭비 방지 * 같은 프로그램을 쓰는 복수 개의 프로세스가 있다면, * code + data + stack 에서 code 는 공유 가능 (단, non-self-modifying code = reentrant code = pure code인 경우) * 프로세스의 페이지 테이블 코드 영역이 같은 곳을 가리키게 * 페이징보다 우월 세그멘테이션(Segmentation) - 프로세스를 논리적 내용 (=세그멘트)으로 잘라서 메모리에 배치 * 프로세스는 세그멘트(segment)의 집합 *..
주소 변환(Address Translation) - 예제 * Page size = 4bytes * Page Table: 5 6 1 2 * 논리주소 13번지는 물리주소 몇 번지? Page Number Frame Number 0 5 1 6 2 1 3 2 13 = 1101(2) d(displacement) = 01(2) = 1 p(page number) = 11(2) = 3, frame number = 2 = 10(2) Page Size = 4bytes 이므로, d는 하위 2비트이다. logical address => physical address 변환 1101(2) => 1001(2) = 9 답 : 9번지 - 예제 * Page Size = 1KB * Page Table = 1 2 5 4 8 3 0 6 * 논..
#1. 멀티캐스트(Multicast) 멀티캐스트 방식의 데이터 전송은 UDP를 기반으로 한다. 따라서 UDP 서버/클라이언트의 구현방식이 매우 유사하다. 차이점이 있다면 UDP에서의 데이터 전송은 하나의 목적지를 두고 이뤄지지만 멀티캐스트에서의 데이터 전송은 특정 그룹에 가입(등록)되어 있는 다수의 호스트가 된다는 점이다. 즉, 멀티캐스트 방식을 이용하면 단 한번에 데이터 전송으로 다수의 호스트에게 데이터를 전송할 수 있다. 멀티캐스트의 데이터 전송방식과 멀티캐스트 트래픽 이점 - 멀티캐스트 서버는 특정 멀티캐스트 그룹을 대상으로 데이터를 딱 한번 전송한다. - 딱! 한번 전송하더라도 그룹에 속하는 클라이언트는 모두 데이터를 수신한다. - 멀티캐스트 그룹의 수는 IP주소 범위 내에서 얼마든지 추가가 가능..
연속 메모리 할당 - 다중 프로그래밍 환경 * 부팅 직후 메모리 상태: O/S + big single hole * 프로세스 생성 & 종료 반복 -> scattered holes (비어있는 메모리 영역을 hole이라고 표현한다. 초기 booting 시에는 OS를 제외한 큰 하나의 hole만 존재한다. 그러나 여러 프로세스가 올라가면서 작은 hole들이 여러개 생기게 되는데 이 흩어져있는 작은 hole들이 여러개 생기는 현상을 메모리 단편화(memory fragmentation)라고 한다.) - 메모리 단편화 (Memory fragmentation) * Hole 들이 불연속하게 흩어져 있기 때문에 프로세스 적재 불가 * 외부 단편화 (external fragmentation) 발생 * 외부 단편화를 최소화 ..
https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int arrCoin[10] = { 1, }; int N, K, cnt = 0; cin >> N >> K; for (int i = 0; i > arr..
https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); long long P[101] = { 0ll, 1ll, 1ll, 1ll, 2ll, 2ll}; int T, N; for (int i = 6; i > T; for (..
프로그램을 메모리에 올리기 - 실행파일을 메모리에 올리기 * 메모리 몇 번지에? * 다중 프로그래밍 환경에서는? - MMU 사용 * 재배치 레지스터 (Relocation Register) - 주소 구분 * 논리 주소 (logical address) vs 물리 주소 (physical address) (보통 프로그램 개발 시 컴파일 > 링크 과정을 통해서 실행파일이 생성된다. 실행 파일을 메모리에 올릴때 메모리의 상황에 따라 다른 주소에 적재가 된다. 그러면 CPU는 여러 프로세스에 접근 할 때 각 프로세스가 어디에 적재되어 있는지를 알아야 한다. 그래야 접근이 가능하기 때문이다. 이를 가능하게 해주는 것이 MMU 이다.) CPU가 메모리에 명령어를 읽을 때, 메모리 보호를 목적으로 CPU가 다른 프로세스의..
#1. send & recv 입출력 함수 윈도우 기반 예제에서는 send & recv함수를 사용했지만, 정작 마지막 인자에 0이외의 인자를 전달해본적이 없다. 즉 윈도우에서 사용한것 조차 제대로 사용하지 않은 것이다. 리눅스에서의 send & recv #include ssize_t send(int sockfd, const void* buf, size_t nbytes, int flags); -> 성공 시 전송된 바이트 수, 실패 시 -1 반환 sockfd : 데이터 전송 대상과의 연결을 의미하는 소켓의 파일 디스크립터 전달 buf : 전송할 데이터를 저장하고 있는 버퍼의 주소 값 전달. nbytes : 전송할 바이트 수 전달. flags : 데이터 전송 시 적용할 다양한 옵션 정보 전달. (위의 send ..
https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net #include #include #include #include using namespace std; #define MAX_CATEGORY30 int main() { ios::sync_with_stdio(false); cin.tie(NULL); unordered_map map; vector vec; vec..