multithreading network programming - 3. multi client echo server(멀티스레드 네트워크 프로그래밍 - 다중접속 에코서버)

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional...

add system call in linux 3.8 (리눅스 3.8 시스템 콜 추가)

32bit 리눅스의 경우 1. (커널 폴더)/arch/x86/syscalls/syscall_32.tbl에 아래와 같이 351번을 추가해줍니다. 64bit 리눅스의 경우 1. (커널 폴더)/arch/x86/syscalls/syscall_64.tbl에 아래와 같이 314번을 추가해줍니다. 아래부터는 공통입니다. 3. (커널 폴더)/include/linux/syscalls.h에...

add system call in linux 2.6 (리눅스 2.6 시스템 콜 추가)

32bit 리눅스의 경우 1. (커널 폴더)/arch/x86/kernel/syscall_table_32.S에 아래와같이 sys_addcall을 추가합니다. 2. (커널 폴더)/arch/x86/include/asm/unistd_32.h에 아래와같이 341번을 추가하고  #define NR_syscalls 의 넘버를 +1 증가시켜줍니다. 64bit 리눅스의...

install wiringpi on raspberry pi(라즈베리파이 - 링파이 설치)

WiringPi WringPi는 라즈베리파이의 GPIO포트를 컨트롤하기 위해 제공되는 라이브러리입니다. 아래 주소에서 API 함수를 확인 할 수 있습니다. https://projects.drogon.net/ 홈페이지의 다운로드 and 인스톨 방법입니다. https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/ 1....

C language - 2. standard I/O(표준 입출력)

1. 표준 입출력  C언어에서 입출력 함수는 표준 입출력함수와 파일 입출력함수로 나뉩니다. 파일 입출력은 외부에서 값을 입력받거나 저장하는 반면에 표준 입력함수는 일반적으로 키보드의 입력을 받고 표준 출력함수는 일반적으로 모니터에 출력을 하게됩니다. 표준 입력함수에는 getchar(), gets(), scanf()가 있고 표준 출력함수에는 putchar(), puts(), printf()가...

C language - 1. primitive data type(기본 자료형)

1. 변수란?  프로그래밍 언어에서 값을 저장하거나 저장된 값을 읽거나 다른 값을 넣을 수 있는 공간을 할당받는 것을 변수라고 합니다. 이러한 변수들의 크기를 크게 잡으면 광활한 범위의 값을 저장할 수 있겠지만 작은 값을 필요로 하는 변수에 비해 훨씬 큰 공간을 할당해주게 되면 메모리의 낭비가 발생하게 됩니다. 그렇기 때문에 프로그램을 짤 때 선언한 변수들의 예상범위내의 변수의...

multithreading network programming - 1. multithread(멀티스레드 네트워크 프로그래밍)

 멀티스레드는 프로세스 내부에서 두가지의 작업을 동시에 실행하는것을 의미합니다. fork의 경우 자기 자신과 똑같은 완전 새로운 프로세스를 복제하지만 thread의 경우 원하는 작업을 테스크 형태로 생성합니다.  간단한 Thread 예제 #include <stdio.h> #include <pthread.h> #define NUM_THREADS...