오늘 진행할 것1. GitBook 스레드 부분 정독하기(완독 2번)https://casys-kaist.github.io/pintos-kaist/ 2. Thread 개념 공부하기(정글 이전 기수 게시물 확인하면서 핀토스 감 잡기), Process, Context Switching3. thread.c의 모든 함수 printf로 어떻게 동작하는지 확인해보기
분류 전체보기

IP란IP(Internet Protocol)은 데이터를 전달하는 방법을 정의하는 프로토콜입니다. 데이터를 보내고 받는 주소를 할당하고 데이터를 목적지까지 전달하기 위해서 사용됩니다.IP 주소는 네트워크 상에서 각 기기를 식별하는 고유한 숫자 조합입니다. TCP란TCP(Transmission Control Protocol)은 데이터를 안전하고 순서대로 전달하기 위한 프로토콜입니다. 데이터의 분할과 재조립, 오류 검출 및 수정, 흐름 제어 등의 기능을 제공합니다.TCP/IP 모델TCP/IP는 인터넷에서 쓰이는 프로토콜의 모임으로 The Internet Protocol Suite라고도 불립니다. HTTP/TCP/IP 등의 프로토콜들이 TCP/IP 모델에 속합니다. TCP/IP 모델은 인터넷과 대부분의 네트워크..

OSI 7 계층OSI 7 계층은 네트워크 통신의 구조를 7개의 계층으로 나누어 설명하는 개념적 모델입니다. ISO(International Organization of Standardization, 국제 표준 기구)에서 제정한 표준으로 컴퓨터 네트워크의 복잡한 통신 과정을 총 7가지 계층으로 나누어 각 계층의 역할을 명확히 하고 네트워크 프로토콜을 설계하고 분석하는 데 사용됩니다. OSI 7 계층 표준이 만들어지기 전에는, 서로 다른 네트워크 통신 절차를 사용하는 회사의 장비 간에는 통신이 원활하지 않았습니다. 이를 해결하기 위해 ISO가 개입하여 등장했습니다.OSI 7 계층 구성OSI 7 계층은 컴퓨터 간의 통신을 위한 전기적 신호 변환을 담당하는 Physical Layer부터, 사용자와의 직접적인 상..

BSD 소켓BSD 소켓은 기본적으로 네트워크 프로그램을 작성 시에 사용되는 인터페이스이며, 주목적은 네트워크 상에서 서로 다른 컴퓨터에 간에 데이터를 주고받을 수 있도록 해주는 일종의 소프트웨어 도구입니다. 👆🤓BSD 소켓에서의 BSD는 Berkeley Software Distribution의 약자로 Unix 운영 체제의 한 버전에서 비롯되었습니다. BSD 소켓은 줄여서 그냥 소켓(Socket)이라고도 부릅니다! 우리가 흔히 말하는 웹소켓 통신, 소켓 통신 모두 이 BSD 소켓을 말하는 것이죠! 이 소켓을 통해서 TCP/IP 통신이 가능하게 됩니다. 통신을 위한 소켓의 다양한 기능(listen, bind, accept, recv 등)을 제공하는 것을 BSD 소켓 API라고 합니다. 이 소켓 API는..

C언어의 컴파일 과정먼저 C언어의 컴파일 과정은 아래와 같습니다. 1. C언어로 작성된 소스코드를 전처리(Preprocessing) 과정을 거칩니다.- 전처리 과정에서 #define으로 정의된 매크로를 실제 값으로 치환하고, #include에 따라 파일을 소스코드에 포함하고, 주석을 제거하는 등의 작업이 진행됩니다. 2. 전처리 과정을 거친 소스코드를 컴파일러를 통해 어셈블리어로 변환(Compilation)합니다.- 소스 코드를 구문 분석하고 구문 트리를 생성합니다.- 구문 트리를 바탕으로 중간 코드를 생성하고, 중간 코드 최적화 진행 후 어셈블리어로 변환합니다. 3. 어셈블러가 어셈블리어를 기계어 코드(목적 파일)로 변환(Assemble)합니다.- 어셈블리어 명령어를 해석하여 기계어 명령어(인스트럭션)..

가상화란가상화란 하드웨어, 소프트웨어를 시뮬레이팅 하는 과정입니다. 가상화의 대상은 저장소, 네트워크, 서버, 애플리케이션이 될 수 있습니다. 설명 한 줄로는 이해가 잘 안 되니 좀 더 자세히 가상화의 개념에 대해 알아봅시다. 기존의 전통적인 비즈니스/서비스 운영 방법은 하나의 기계 혹은 컴퓨터에 하나의 애플리케이션을 운영하는 방법이었습니다. 예를 들어 이메일 서비스는 윈도우 기반의 서버 컴퓨터에서 운영하고, 데이터베이스 서비스는 유닉스 기반의 서버 컴퓨터에서 운영하고, 웹 사이트 운영은 리눅스 기반의 서버 컴퓨터에서 운영하는 식이죠. 하나의 물리적인 서버로 앞서 설명한 세 가지 서비스를 모두 운영할 수 있도록 하는 방법이 바로 가상화입니다. 아래의 그림과 같이 가상화를 통해 각 세 가지 서비스를 소프트..