본문 바로가기

전체 글89

pthread API pthread API 사용하기 위한 헤더파일-> #include pthread 대표 API1.int pthread_create(pthread_t *thread_id. const pthread_attr_t *attr, void* start_func, void *arg) 기능 : 호출 프로세스에서 새로운 쓰레드 시작 반환값 : 성공하면, 0 리턴, 에러 발생 시 error number 리턴하고 thread argument 포인터 미지정 매개변수 *thread_id : pthread 식별자attr : 쓰레드 속성 타입func : pthread로 부기할 함수 arg : pthread로 분기할 때 넘겨줄 인자 값2. int pthread_join(pthread_t thread_id, void** thread_re.. 2024. 10. 25.
FD_ 매크로 함수 FD_로 시작하는 매크로 함수들에 대해 포스트한다. 하나의 소켓에 대한 상태를 체크하고 싶더라도 fd_set이라는 구조체를 사용하여 소켓의 그룹을 구성한다.그리고 FD_ZERO 나 FD_SET이라는 매크로 함수를 이용해 자신이 체크하고 싶은 소켓을 그룹에 포함시킨 후에 select() 함수를 사용해야 한다. 파일 디스크립터(FD)는 socket API를 이용해 소켓 생성시 반환되는 정수값이다. FD는 같은 프로그램 내에서는 중복되지 않는다. fd_set 구조체: FD를 그룹 짓기 위해 사용#define __FD_SETSIZE 1024typedef long int __fd_mask;#define __NFDBITS (8 * (int) sizeof(__fd_mask));typedef struct{ __fd_m.. 2024. 9. 24.
Wiegand 통신 Wiegand protocol: 두 개의 D0, D1 라인을 이용해 소량의 데이터를 전송 하는 방식으로 , 주로 출입통제 장치의 리더와 컨트롤러 간의 통신 방식 리더는 RS-485, RS-232, ABA-Track II 와 같이 다양한 통신 방식을 취하기도 하지만,RFID 통신으로 주로 WIEGAND 방식을많이 사용 합니다. 기본 상태 -> D1 : High, D2 : Highlogic 1 -> D1 : LOW, D2: HIGHlogic 0 -> D1 : HIGH , D2 : LOWD0, D1 이 각각 의미 하는 것은, D0 가 LOW 이면 그 비트 값이 '0' 이고, D1 이 LOW 이면 그 비트 값이 '1' 임을 의미 합니다.따라서 D0 와 D1 은 동시에 LOW 가 되지 않으며, 정해진 타이밍이 있.. 2024. 9. 8.
리눅스 디렉토리 구조[1] Linux File Hierarchy Structure(LFHS) 1. / (루트 디렉토리) : 전체 파일 시스템 계층의 기본 계층모든 단일 파일과 디렉토리는 루트 디렉토리에서 시작된다.루트 권한을 가진 사용자만이 루트 디렉토리에 사용핤 수 있는 권한을 갖는다.'/root'는 루트 사용자의 홈 디렉토리이며 '/'와 다르다. 2./bin :  사용자 모드에서 사용 핤 수 있는 필수 명령 바이너리  (Binary)바이너리 실행 파일이 포함. 사용자 모드에서 일반적으로 터미널에서 사용하는 linux 명령는 이 디렉토리 아래에 있다. 3./boot : 부팅에 필요한 파일들 저장 (Boot files)커널, initrd, vmlinux, grub 파일 등이 존재 4./dev : 장치 파일 포함 (Device fi.. 2024. 8. 19.