
CS

동기 VS 비동기, 블로킹 VS 논블로킹
동기(Synchronous) vs 비동기(Asynchronous)Synchronous작업을 동시에 수행하거나, 동시에 끝나거나, 끝나는 동시에 시작함Thread1이 작업을 시작시키고, Task1이 끝날때까지 기다렸다 Task2를 시작작업 요청을 했을 때 요청의 결과값(return)을 직접 받음요청의 결과값이 return값과 동일호출한 함수가 작업 완료를 신경 씀Asynchronous시작, 종료가 일치하지 않으며 끝나는 동시에 시작을 하지 않음Thread1이 작업을 시작 시키고, 완료를 기다리지 않고, Thread1은 다른 일을 처리할 수 있음작업 요청을 했을 때 요청의 결과값(return)을 간접적으로 받음요청의 결과값이 return값과 다를 수 있음해당 요청 작업은 별도의 스레드에서 실행하게 됨콜백을 ..

Stable Sort, Inplace algorithm
Stable Sort (안정 정렬) 중복된 키를 순서대로 정렬하는 정렬 알고리즘 같은 값이 2개 이상 리스트에 등장할 때 기존 리스트에 있던 순서대로 중복된 키들이 정렬된 다는 것을 의미 list = [2, 8, 9, 4(1), 1, 4(2), 6, 7]는 4라는 값이 중복됨 Stable sort 알고리즘으로 정렬 시 [1, 2, 4(1), 4(2), 6, 7, 8, 9] Unstable sort 알고리즘으로 정렬 시 [1, 2, 4(2), 4(1), 6, 7, 8, 9] stable sort로 정렬하는 알고리즘들의 순서는 항상 똑같기에 항상 결과가 같음을 보장할 수 있음 첫 문자를 기준으로 문자열을 정렬하는 경우 정렬할 때마다 순서가 다르면 혼란스러울 수 있기 때문에, 항상 안정적으로 같은 리스트가 리..

OSI 7 Layer 계층별 프로토콜
[TCP/IP] OSI 7계층, TCP/IP 4계층 1. OSI 7계층 1) 물리 계층 1계층 Physical Layer 시스템의 전기적, 물리적 표현을 나타낸다. 단지 데이터 전달 역할만을 하고, 알고리즘이나 오류 제어 기능은 존재하지 않는다. 허브, 케이블, 라우터, karla.tistory.com 1. Application Layer 1) FTP (File Transfer Protocol) 파일 전송 프로토콜 2) VSFTP (Very Secure File Transfer Protocol) VSFTP는 보안 부분을 특히 강조한 데몬으로 Redhat,Suse,Open-BSD에서 기본 FTP로 채택하고 있다. 보안, 빠른 퍼포먼스, 안정성을 주요 특징으로 소개하고 있다. ③SNMP (Simple Net..

[TCP/IP] OSI 7계층, TCP/IP 4계층
1. OSI 7계층 OSI(Open System Interconnection) 7계층은 국제표준화기구(ISO)에서 개발한 모델로, 네트워크 프로토콜 디자인과 데이터 통신을 계층으로 나눠 표준화한 것이다. 이렇게 계층을 나눈 이유는, 통신이 일어나는 과정을 단계별로 서술할 수 있으며, 특정 계층에서 문제가 발생할 시 해당 계층만 핸들하면 되기 때문이다. 1) 물리 계층 1계층 Physical Layer 시스템의 전기적, 물리적 표현을 나타낸다. 단지 데이터 전달 역할만을 하고, 알고리즘이나 오류 제어 기능은 존재하지 않는다. 허브, 케이블, 라우터, 전원 스위치 전선, 전파, 광섬유, 동축케이블, 모뎀(Modem), CSU 등이있다. 신호로 변환하여 전송하는 계층 전송 단위는 Bit를 사용한다. 2) 데이..
[Memory] segmentation
Segmentation이란? Segmentation은 Paging과 달리 프로세스가 할당 받은 메모리 공간을 논리적 의미 단위인 Segment로 나눠서 연속되지 않은 물리 메모리 공간에 할당될 수 있도록 하는 메모리 관리 기법이다. Paging 기법은 사전에 미리 메모리를 나누어 두는 기법이라고 한다면 Segementation은 프로세스가 할당 받은 메모리 공간 만큼 메모리를 나누어 주는 기법이라고 보면 된다. 즉, 프로세스가 필요로 하는 메모리 작업 공간 만큼의 크기를 제공한다. 맞춤형 이라고 보면 된다. Segmentation은 코드, 데이터, 힙, 스택 등의 기능 단위로 segment(단위)를 정의하는 경우가 많으며 주소 바인딩을 위해 모든 프로세스가 각각의 주소 변환을 위한 segment tabl..
[Memory] paging (메모리 관리 기법, 메모리 단편화)
페이징 설명에 필요한 용어 논리적 주소, Logical Address : 프로세스가 메모리에 적재되기 생성되는 독자적인 주소 공간이다. 논리적 주소는 각 프로세스마다 독립적으로 0번째 주소부터 할당이 된다. 물리적 주소, Physical Address : 실제로 메모리에 적재되는 위치 주소를 말한다. 주소 바인딩, Address Binding : CPU가 기계어 명령을 수행하기 위해 프로세스의 논리적 주소가 실제 물리적 메모리의 어느 위치에 매핑되는지 확인하는 과정을 말한다. Paging이란? 프로세스가 할당 받은 메모리 공간을 일정한 크기의 페이지 단위로 나눠 물리 메모리에서 연속되지 않는 서로 다른 위치에 저장하는 메모리 관리 방법이다. 먼저, 논리적 메모리 상으로는 붙어서 저장이 되어 있다고 하지..