본문 바로가기

[C]3

[C] PINTOS - KEYWORD Time-sharing system 타임-쉐어링 시스템(Time-Sharing System)은 여러 사용자가 동시에 하나의 컴퓨터 시스템을 공유하는 운영 체제의 일종이다. 이러한 시스템은 CPU 시간을 사용자 간에 분배하여 각 사용자가 컴퓨터를 독점적으로 사용하는 것처럼 느끼게 한다. 타임-쉐어링 시스템은 각 사용자의 프로세스에 작은 CPU 시간 슬라이스를 할당한다. 이 시간 슬라이스는 일반적으로 수 밀리세컨드에서 수 십 밀리세컨드 사이이며, CPU는 이 시간 동안 해당 프로세스를 실행한다. 그런 다음, CPU는 다른 프로세스로 전환(컨텍스트 스위치)하여 그 프로세스에 대해 동일한 시간 슬라이스를 실행한다. 이렇게 하여 각 사용자는 컴퓨터가 자신만을 위해 작동하는 것처럼 느끼게 된다. 💡 시간 슬라이스(.. 2023. 6. 1.
[C] PROXY - BOOK 11.1 클라이언트 - 서버 프로그래밍 모델 중요한 키워드 및 이론 클라이언트-서버 모델 소켓 프로그래밍 TCP/IP 프로토콜 스택 IP와 Port 클라이언트 및 서버 소켓 연결 지향 및 비연결 지향 프로토콜 (TCP와 UDP) 핵심 이론 클라이언트-서버 모델 네트워크 상에서 서비스를 제공하는 서버와 그 서비스를 이용하는 클라이언트로 이루어진 시스템을 가리킨다. 클라이언트는 서버에게 서비스를 요청하고, 서버는 그 요청을 처리하고 결과를 클라이언트에게 보낸다. 소켓 프로그래밍 네트워크를 통해 데이터를 주고받는 클라이언트와 서버 간의 통신을 위한 API를 제공한다. 각각의 클라이언트 및 서버는 소켓을 이용해 데이터를 주고받을수 있다. 전체 흐름에 대한 요약 이 섹션은 클라이언트-서버 모델과 소켓 프로그래밍에.. 2023. 5. 25.
[C] RED-BLACK TREE (CODE REVIEW) 개념정리 개념 들어가기 앞서, 이 정리에선 RBTREE의 개념은 가볍게 다룰 예정이다. 이 정리글은 C 활용 능력 향상에 포커스를 맞추고 있기에, RBTREE보단 포인터, 구조체, 함수구조와 같은 부분에 집중해 코드리뷰 할 예정이다. 코드 리뷰 이기에, 크게 초기화, 회전, 삽입, 삭제와 같이 기능으로 나눠 설명할 예정이다. 특성 레드-블랙 트리(red-black tree)는 자가 균형 이진 탐색 트리(self-balancing binary search tree)로서, 대표적으로는 연관 배열 등을 구현하는 데 쓰이는 자료구조다. 1978년 레오 귀바스(Leo J. Guibas)와 로버트 세지윅이 1972년 루돌프 바이어가 창안한 "대칭형 이진 B-트리"를 발전시켜 만들었다. 레드-블랙 트리는 복잡한 자료구조지만,.. 2023. 5. 15.