블로그 이사합니다아래에서 확인 가능합니다.https://code-lab1.com/thread/ [운영체제] 쓰레드(Thread)란? 쓰레드 프로세스 차이, 멀티프로세스 멀티쓰레드 차이 - 코드 연구소쓰레드(Thread)란 프로세스 내에서 실행되는 흐름의 단위 혹은 CPU 스케줄링의 기본 단위 라고 할 수 있다.code-lab1.com 쓰레드란(Thread)란?쓰레드(Thread)란 프로세스 내에서 실행되는 흐름의 단위 혹은 CPU 스케줄링의 기본 단위 라고 할 수 있다. 쓰레드는 다음과 같은 특징을 가지고 있다. 쓰레드는 각자 자신의 Stack 영역을 보유한다. ( 최소한 자신의 레지스터 상태를 보유한다 ) 쓰레드는 프로세스 내에서 Code, Data, Heap 영역을 공유한다.쓰레드를 생성하고 swi..
블로그 이사합니다아래에서 확인 가능합니다.https://code-lab1.com/ipc/ [운영체제] IPC(Inter-Process Communication)란? pipes란? - 코드 연구소IPC는 Inter-Process Communication 의 줄임말로 프로세스간의 통신을 위한 메커니즘을 의미한다. 즉 IPC는 프로세스간의 통신을 돕는다. IPC는 다음과 같이 두 가지 모델이 존재한다.code-lab1.com IPC란?IPC는 Inter-Process Communication 의 줄임말로 프로세스간의 통신을 위한 메커니즘을 의미한다. 즉 IPC는 프로세스간의 통신을 돕는다. IPC는 다음과 같이 두 가지 모델이 존재한다. Shared MemoryMessage Passing 프로세스에 대해 자..
블로그 이사합니다아래에서 확인 가능합니다.https://code-lab1.com/pcb/ [운영체제] 프로세스 제어 블록(PCB : Process Control Block)란? 문맥교환(Context Switching)이란? - 코드 연프로세스 제어 블록(이하 PCB)은 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영 체제 커널의 자료 구조이다. 쉽게 말하면 운영체제가 프로세스를 제어하기 위해 프로세스의 상태code-lab1.com 프로세스 제어 블록(Process Control Block)란?프로세스 제어 블록(이하 PCB)은 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영 체제 커널의 자료 구조이다. 쉽게 말하면 운영체제가 프로세스를 제어하기 위해 프로세스의 상태 정보를 저장해 ..
데이터베이스란?데이터베이스(Database)는 통합 관리되는 데이터들의 집합을 뜻한다. 데이터베이스를 사용하는 이유는 뭘까? 다음과 같은 이유들을 들 수 있겠다.데이터 공유 : 많은 사람들이 데이터를 공유할 수 있다. 중복의 제거 : 데이터를 한 곳에 모으면서 중복되는 데이터를 제거할 수 있다.데이터 통합 : 흩어져 있는 데이터를 한 곳에 모을 수 있다.보안성 : 권한이 있는 관리자만이 데이터를 관리한다면 데이터의 보안을 지킬 수 있다.이외에도 다양한 이점이 있다.DBMS(DataBase Management System)란?DBMS는 데이터베이스 관리 시스템으로 데이터베이스 내의 데이터에 접근할 수 있도록 하는 소프트웨어들을 의미한다. DBMS는 어떻게 탄생하게 됐을까? DBMS 이전에는 파일 시스템..
블로그 이사합니다아래에서 확인 가능합니다. https://code-lab1.com/fork/ [운영체제] fork() 함수란? , fork() 함수 예제 , 부모 자식 프로세스 - 코드 연구소Unix 환경에서 fork() 함수는 함수를 호출한 프로세스를 복사하는 기능을 한다. 이때 부모 프로세스와 자식 프로세스가 나뉘어 실행되는데, 원래 진행되던 프로세스는 부모 프로세스(parent), 복사된code-lab1.com fork() 함수란?Unix 환경에서 fork() 함수는 함수를 호출한 프로세스를 복사하는 기능을 한다. 이때 부모 프로세스와 자식 프로세스가 나뉘어 실행되는데, 원래 진행되던 프로세스는 부모 프로세스(parent), 복사된 프로세스를 자식 프로세스(child) 라고 한다. fork() 함수..
블로그 이사합니다아래에서 확인 가능합니다. https://code-lab1.com/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4/ [운영체제] 프로세스란? 프로세스 메모리 구조, 상태, 스케줄링 - 코드 연구소프로세스는 실행 중인 프로그램(program)을 뜻한다. 그렇다면 프로그램은 무엇인가? 프로그램은 명령어들의 모음을 포함한 디스크에 저장된 파일이다.code-lab1.com 프로세스(Process)란? 프로세스는 실행 중인 프로그램(program)을 뜻한다. 그렇다면 프로그램은 무엇인가? 프로그램은 명령어들의 모음을 포함한 디스크에 저장된 파일이다. 프로그램이 실행되면 이 프로그램의 명령어들과 데이터가 메모리에 적재되고 이것이 프로세스가 된다.프로세스의 메모리 구조각 프로세스는 ..
블로그 이사했습니다아래에서 확인 가능합니다. https://code-lab1.com/%EB%9D%BC%EC%9A%B0%ED%8C%85-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98/ [네트워크] 라우팅 알고리즘 비교, Link State 알고리즘, Distance Vector 알고리즘 - 코드 연구소라우팅 알고리즘이란 송신 측에서부터 수신 측 라우터의 네트워크를 통과하는 최적의 경로를 결정하는 알고리즘이다. 그러나 실제로는 여러 가지 이유로 최적의 경로를 결정하지 못할 수 있다.code-lab1.com 라우팅 알고리즘라우팅 알고리즘이란 송신 측에서부터 수신 측 라우터의 네트워크를 통과하는 최적의 경로를 결정하는 알고리즘이다. 그러나 실제로는 여러 가지 이유로 최적의 경로를 결정하지 ..
블로그 이사했습니다.아래에서 확인 가능합니다.https://code-lab1.com/count-to-infinity/ [네트워크] poisoned reverse란? count to infinity 문제 해결법 ,DV 알고리즘 - 코드 연구소이러한 문제를 Count to infinity problem 이라고 한다.code-lab1.com Count to infinity 문제Distance Vector 알고리즘(이하 DV 알고리즘)은 다른 라우터로 가는 최적 경로를 forwarding table에 저장해놓는다. 위와같은 상황에서 Y에서 X로 가는 비용이 60으로 증가한다면 어떻게 될까? ( 이해를 쉽게하기 위해 x라우터의 forwarding 정보는 무시하자 ) Y라우터는 인접 라우터들에 자신이 X로 가는 ..
블로그 이사했습니다.아래에서 확인 가능합니다. https://code-lab1.com/%EC%84%9C%EB%B8%8C%EB%84%B7%ED%8C%85/ [네트워크] 서브넷, 서브넷마스크, 서브넷팅이란? 서브넷팅 예제 - 코드 연구소예를 들어 C 클래스는 기본적으로 앞의 24비트는 Network ID, 뒤의 8비트는 Host ID를 나타낸다. 이때 서브넷 마스크를 이용하면 원본 네트워크를 여러 개의 네트워크로 분리할 수 있다. 이러한 과정을code-lab1.com 서브넷의 등장 배경흔히 사용되는 IPv4 주소 체계는 클래스를 나누어 IP를 할당한다. 하지만 이 방식은 매우 비효율적이다. 예를 들어 어떤 기관에 A 클래스를 할당한다고 하면 16,777,214개의 호스트를 할당할 수 있게 되는데, ..
블로그 이사했습니다.아래에서 확인 가능합니다. https://code-lab1.com/ip/ [네트워크] IP,IP 클래스, IPv4, IPv6이란? , IP 클래스 구분 - 코드 연구소IP는 Internet Protocol의 약자로 기기간 네트워크 통신을 할 때 쓰는 프로토콜을 의미한다. IP에서 IP 기기의 주소를 나타내는 것이 바로 IP주소이다. 흔히 우리가 사용하는 IP는 이 IP주소를 의미한다.code-lab1.com IP 주소IP는 Internet Protocol의 약자로 기기간 네트워크 통신을 할 때 쓰는 프로토콜을 의미한다. IP에서 IP 기기의 주소를 나타내는 것이 바로 IP주소이다. 흔히 우리가 사용하는 IP는 이 IP주소를 의미한다. 우편배달을 예로 들자면 IP주소는 배달 주소를..