본문 바로가기

반응형

분류 전체보기

(75)
9-12:도커: +full,para 등 가상머신 작동원리(10강), 9강, 가상화 - 하드웨어에 종속된 컴퓨터 리소스를 추상화함 NIC : Network Interface Card의 약자 NIC(CPU, Memory, Disk 같은) 하드웨어 자원들을 추상화한다. 운영체제에서 제공하는 가상화 - 각각의 프로그램이 각자의 CPU, 큰 Virtual Memory를 가지고 이있는 것처럼 착각하도록 가상화를 제공 프로세스단위 - cpu 스케줄링통해 순서대로 진행된다. -> 하나 코어 밖에 없는 애도 여러개 인냥 time sharing할 수 있다. virtual memory: paging을 통해 on demand로 운영체제가 할당을 해준다. swapping을 통해서 디스크에다가 swap out을 해서 페이지 저장했다가, 필요할..
백준 js 2089: -2진수 문제 -2진법은 부호 없는 2진수로 표현이 된다. 2진법에서는 20, 21, 22, 23이 표현 되지만 -2진법에서는 (-2)0 = 1, (-2)1 = -2, (-2)2 = 4, (-2)3 = -8을 표현한다. 10진수로 1부터 표현하자면 1, 110, 111, 100, 101, 11010, 11011, 11000, 11001 등이다. 10진법의 수를 입력 받아서 -2진수를 출력하는 프로그램을 작성하시오. 입력 첫 줄에 10진법으로 표현된 수 N이 주어진다. 출력 -2진법 수를 출력한다. 제한 -2,000,000,000 ≤ N ≤ 2,000,000,000 풀이 -2진수는 결국, -2를 자릿 수 대로 나누는데, 이는 -2를 자릿수만큼 제곱해주는 것과 같다. (-2)^n(=자릿수) 13이라고 할 때 -2진수..
9-2: TCP Congestion Control TCP Congestion Control 방법 1️⃣ AIMD (구버전) : 톱니바퀴 timeout, new ACK 이벤트 발생 시 변하는 상태 slow start, congestion avoid, fast recovery AIMD 방식 TCP 버전 TCP Tahoe (구버전) TCP Reno (신버전) 2️⃣ CUBIC (신버전) : 3차 함수 1️⃣ AIMD (구버전) : 톱니바퀴 접근 방식: congestion 발생해서 패킷 로스가 발생할 때까지 보내는 쪽 속도 계속 증가시켜가다가, 패킷 로스가 발생하면 줄여가는 방식 이름에서 나와 있다 싶이 증가시킬 땐 선형으로 증가시키고 감소시킬 땐 빠르게 증가시킨다. 이 형태는 증가할 땐 + 로 증가, 감소할 땐 * 로 감소하는 것과 같다. 그리고 점진적으로 ..
9-1:Principles of Congestion Control congestion control이 왜 필요하냐면 큐잉 딜레이 패킷 로스 위 두가지가 congestion 유발 라우터에 교환을 위한 버퍼가 있는데, 이 버퍼는 항상 유한한 크기를 가니다. 그리고 앞에서 배웠던 것 처럼 큐잉 딜레이는 트래픽 레이트가 1에 가까워질 수록 기하급수적으로 증가한다. 이렇게 딜레이가 증가하면, 통신을 제대로 할 수가 없으니 congestion control 이 필요한 것이고, 버퍼가 가득 차면, 패킷을 잃어버릴 수 있기 때문에, congestion control이 필요한다. 여기서 이제 앞으로 나오는 주요 용어는 1) congestion control 2) throughput (처리량) 3) capacity (라우터와 호스트 사이에서 수용할 수 있는 최대 양) 4) λin, λo..
백준 js 1212: 8진수 2진수 문제 8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오. 입력 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. 출력 첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다. 예제 입력 1 314 예제 출력 1 11001100 풀이 이 문제가 정답 비율이 낮은 이유,, 0인것 같다 그냥 수가 0인경우를 제외하고는 반드시 1로 시작해야한다고만 명시되어 있어서 이 부분만 처리했는데, 찾아보니 000인 경우도 0으로 변환해주어야 한다. (맞는말이긴한데) 스위치문을 사용해서 0-9까지 변환 케이스 문을 만드는 방법이 있고 자릿수를 빼주면서 0을 만드는 방법이 있는데 케이스문이 더 빠른 것 같다. 전체코드 const ..
백준 js 1373: 2진수 8진수 문제 2진수가 주어졌을 때, 8진수로 변환하는 프로그램을 작성하시오. 입력 첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 주어진 수를 8진수로 변환하여 출력한다. 예제 입력 1 11001100 예제 출력 1 314 풀이 2진수에서 8진수로 변환하면된다. 기존에 js에 있는 메서드들로, toString(n) // 10진수를 n진수로 변환 parseInt(num, n) // n진수인 num을 10 진수로 변환 하는 방법으로 하려 했는데, 이는 input값이 Number 객체의 길이를 넘어감으로 안되고, 이진수 숫자를 뒤에서부터 세개씩 묶어서 각 자릿수곱해 더해주면 8진수로 변환 가능하다. 2가지 방법이 있다. 1️⃣ 비트 자릿수 각 비트를 3개씩 꺼내서..
예제 프로그래밍: myrmdir, myls(9-2) myrmdir 해당 디렉토리 포함해서 모든 디렉토리와 파일을 삭제하는 프로그래밍 + 파일이 주어지면 디렉토리가 아니기 때문에 아무것도 삭제하지 않는다. 주어진 인자가 디렉토리인지 파일인지 확인한다 stat()을 호출하여 S_ISDIR() 메르토 사용하여 해당 인자가 디렉토리인지 확인한다 디렉토리인 경우 removeDir()을 호출한다. removeDir opendir(), readdir(), closedir()을 호출한다. readdir을 호출하여 해당 디렉토리에 있는 파일 및 디렉토리들을 확인한다. 그리고 읽어들인 엔트리가 디렉토리인 경우 다시 removeDir을 호출하여 삭제한다. 읽어들인 엔트리가 파일인 경우 unlink를 사용해서 해당 파일을 삭제한다. 디렉토리 내에 모든 파일/디렉토리가 삭제되면..
디렉토리 다루기(9-1) mkdir,rmdir opendir,closedir readdir rewinddir chdir getcwd mkdir, rmdir * 삭제는 빈 디렉토리만 가능함 int mkdir(const char *pathname, mode_t mode) int rmdir(const char* pathname) 성공하면 0, 실패하면 -1 을 반환한다. 디렉토리를 생성하고 그냥 ls를 했을 때는 아무것도 안나오지만, ls -a 로 히든파일까지 모두 보면 . 과 .. 이 나온다. 이는 현재디랙토리와 부모디렉토리를 가리키는데, 이들의 생성/수정시간을 보면 해당 디렉토리가 생성된 시간으로 나와있다. * 부모 디렉토리를 가리키는 .. 또한 현 디렉토리 생성 시간으로 시간이 설정되어 있다. 그리고 해당 디렉토리를 파일을 생성..