일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JanusGateway
- PersistenceContext
- JanusWebRTCGateway
- PytestPluginManager
- 깡돼후
- 겨울 부산
- 코루틴 컨텍스트
- python
- table not found
- Spring Batch
- JanusWebRTCServer
- Value too long for column
- 코루틴 빌더
- preemption #
- 개성국밥
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- tolerated
- VARCHAR (1)
- vfr video
- kotlin
- terminal
- mp4fpsmod
- taint
- 자원부족
- pytest
- 티스토리챌린지
- 달인막창
- JanusWebRTC
- 오블완
- k8s #kubernetes #쿠버네티스
목록분류 전체보기 (568)
너와 나의 스토리

시그널이란? 특정 상황이 되었을 때 운영체제가 프로세스에게 해당 상황이 발생했음을 알리는 일종의 메시지를 가리켜 시그널이라고 한다. 시그널 등록이란? 특정 상황에서 운영체제로부터 프로세스가 시그널을 받기 위해서는 해당 상황에 대해서 등록의 과정을 거쳐야 한다. 시그널과 signal 함수 프로세스와 운영체가 하는 일 ex) 자식 프로세스가 종료되면 프로세스가 zombie_handler라는 이름의 함수를 호출하도록 하고 싶을 때 프로세스: zombie_handler라는 함수 생성 운영체제: 자식 프로세스가 종료되면 대신 zombie_handler 함수 호출해줌 시그널 등록 함수(시그널 등록할 때 사용) 매개변수 선언: int signo, void(*func)(int) signo: 특정 상황에 대한 정보 vo..

Time-wait의 이해 Four-way handshaking 호스트 A를 서버라고 하자, 서버가 호스트 B로 FIN 메시지를 먼저 보내고 있으니, 서버가 콘솔상에서 CTRL+C를 입력한 상황으로 볼 수 있다. 이 때, four-way handshaking이 끝나고 바로 소켓이 소멸되는 것이 아니라 일정시간(time-wait)을 거친다. 먼저 연결 종료를 요청한 호스트만 time wait 상태를 거친다. 소켓이 time-wait 상태에 있는 동안에는 해당 소켓의 PORT 번호가 사용중이므로 다른 소켓에 할당할 수 없다. Time-wait의 존재 이유 호스트 A가 마지막 ACK을 전송하고 바로 소켓을 소멸시켰는데, 그 ACK이 소멸된다면? 호스트 B는 호스트 A가 자신의 FIN을 못 받은지 알고 계속 FI..

문제: https://swexpertacademy.com/main/solvingProblem/solvingProblem.do 문제 풀이: 우리는 header와 main 함수 부분을 제외한 부분을 라이브러리를 사용하지 않고 채우면 된다. main 코드를 보면 한 블록에서 높이는 다음과 같이 나올 수 있다. base는 1~6까지가 나올 수 있고, 거기에 플러스로 0~2가 더해진 수가 나올 수 있으므로 높이는 1~8가 나올 수 있다. 높이가 최대 8밖에 안되므로 long long형 16자리로 표현할 수 있다. 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 => 1111222233334444 이런식으로 블록의 모양을 state라고 하자. hash_table을 만들어 각 블록의 state를 저장하였다...

기본적인 fork() 실습 UID: 프로세스를 실행 시킨 프로세스의 소유자를 의미 PID: 실행된 프로세스에 부여된 숫자 PPID: 부모 프로세스의 PID // fork.c #include #include int main(int argc, char **argv) { pid_t pid; printf("Calling fork()\n"); pid=fork(); if(pid>0) // 부모 printf("Parent PIDs : %d, %d, %d\n",pid,getpid(),getppid()); else if(pid==0) // 자식 printf("Child PIDs : %d, %d, %d\n",pid,getpid(),getppid()); else printf("fork() error.\n"); return ..

Network layer 송신자 호스트에서 수신자 호스트로 세그먼트를 transport 송신측: 세그먼트를 datagrams으로 캡슐화 수신측: segment를 transport layer로 전달 2개의 주요 network layer functions forwarding: 라우터의 input포트에서 적절한 라우터의 output포트로 패킷을 이동시킴 routing: 출발지에서 목적지까지 패킷이 이동할 경로를 결정 라우팅 알고리즘을 이용하여 포워딩 테이블을 만드는 작업 routing algorithm: 경로 결정 forwading table: 선택된 경로를 저장해 둔 것 Connection setup datagram이 전송되기 전에, 두 개의 end hosts와 중간 라우터들은 virtual connecti..

sys/stat.h 파일의 상태에 대한 정보를 얻거나 설정 해당 파일에 저장된 디바이스 번호, inode 번호, mode 등 실습: 헤더를 사용해서 파일 state를 출력해보자 #include #include int main(int argc,char* argv[]) { struct stat buf; if(argc>1) { printf("Arguments is not allowed! \n"); return 1; } printf("argv[0]: %s \n", argv[0]); stat(argv[0],&buf); printf("Mode: %lo \n", (unsigned long)buf.st_mode); // 파일의 타입과 permission printf("UID: %d \n", (int)buf.st_uid..

TCP point-to-point: 한 명의 송신자, 한 명의 수신자 multicasting 불가 tcp는 오로지 end system에서만 동작 중간에 라우터나 브리지에서 동작하지 않는다 reliable, in-order byte stream: 메시지 경계가 없다 => 패킷 트레인 이용 pipelined: TCP congestion과 flow control에서 window 사이즈를 설정한다. full duplex data 같은 연결에서 bi-directional data flow 보내는 것과 받는 것이 동시에 가능 A->B로 보내면 B->A로 보낼 수 있음 MSS: 최대 세그먼트 크기 세그먼트의 데이터 필드의 크기 제한 사이즈 큰 파일 전송할 때, MSS 크기로 파일 자른다. connection-orie..

3.1 Files in a multi-user environment Users and ownerships UNIX 시스템의 모든 파일은 시스템의 사용자 중 한명이 소유하고 있다. 소유자는 보통 파일을 만든 유저이다. 소유자의 실제 identity user-id (uid) uid는 특정 유저네임과 연관된다. Users and ownerships 각 유닉스 프로세스는 보통 프로세스를 시작한 유저의 uid와 관련된다. 파일이 만들어질 때, 시스템은 프로세스를 만든 uid를 참조하여 소유권을 설립한다. 소유권 변경 superuser 또는 파일의 소유자 superuser(username=root, uid=0) group 각 user는 한 개 이상의 group에 속한다. /etc/group에서 정의됨 그룹의 실제적..