2024.05.21 - [개발/리눅스] - 드라이버 개발 연습 #1LoadDriver, UnLoadDriver 구현하기 선행 조사 libudevlibudev는 udev 장치 관리 시스템과 상호 작용하기 위한 라이브러리. udev는 Linux 커널의 장치 파일 시스템(devfs)와의 인터페이스를 관리하는 시스템입니다. libudev는 다음과 같은 기능을 제공합니다:장치 탐지 및 열거: 시스템에 연결된 장치들을 탐지하고 나열할 수 있습니다.장치 속성 조회: 장치의 속성(예: 장치 파일, 속성 값)을 조회할 수 있습니다.장치 이벤트 모니터링: 장치 추가, 제거 등의 이벤트를 모니터링할 수 있습니다.libudev는 주로 사용자 공간에서 하드웨어 장치를 관리하고, 장치 이벤트에 반응하는 데 사용됩니다.libkmo..
#include #include #ifdef _WIN32 #include #include #pragma comment(lib, "Ws2_32.lib")#else #include #include #endifbool convertIPv4ToIPv6(const std::string& ipv4AddrStr, std::string& ipv6AddrStr) { struct in_addr ipv4Addr; struct in6_addr ipv6Addr; // Convert the string IPv4 address to in_addr if (inet_pton(AF_INET, ipv4AddrStr.c_str(), &ipv4Addr) != 1) { std:..
dnotify, inotify, fanotify 비교리눅스 커널에서 파일 시스템 이벤트를 모니터링하는 데 사용되는 dnotify, inotify, fanotify 세 가지 메커니즘의 비교와 각 메커니즘이 지원되는 커널 버전에 대해 설명드리겠습니다.dnotify지원되는 커널 버전: 리눅스 커널 2.4에서 도입됨.특징:디렉토리 전용: 디렉토리에서 발생하는 이벤트만 모니터링할 수 있습니다.fcntl 기반: 파일 디스크립터와 fcntl 시스템 호출을 사용합니다.비효율성: 각 디렉토리에 대해 파일 디스크립터를 유지해야 하므로 많은 디렉토리를 모니터링하는 데 비효율적입니다.프로세스 전용 알림: 알림은 설정된 프로세스에만 전달됩니다.주요 이벤트:DN_ACCESS: 파일에 접근했을 때.DN_MODIFY: 파일이 수정되..
dnotify는 리눅스 커널 2.4에서 도입된 파일 시스템 이벤트 모니터링 메커니즘으로, 특정 디렉토리에서 발생하는 파일 시스템 이벤트를 감지할 수 있습니다. dnotify는 이후 더 발전된 inotify와 fanotify로 대체되었지만, 여전히 역사적인 이해를 위해 중요한 개념입니다.주요 특징디렉토리 전용: dnotify는 디렉토리에서 발생하는 이벤트만 모니터링할 수 있습니다. 파일 자체에 대한 모니터링은 지원하지 않습니다.fcntl 기반: dnotify는 파일 디스크립터와 fcntl 시스템 호출을 사용하여 이벤트를 설정합니다.프로세스 전용 알림: 알림은 설정된 프로세스에만 전달됩니다. 이는 다수의 프로세스가 동일한 이벤트를 모니터링해야 할 경우 비효율적일 수 있습니다.비효율성: 각 디렉토리마다 파일 ..
INOTIFY는 리눅스 커널의 파일 시스템 이벤트 모니터링 메커니즘으로, 파일 시스템 내의 변경 사항을 감시하고 사용자 공간 애플리케이션에 알림을 제공합니다. INOTIFY는 특히 파일과 디렉토리의 수정, 생성, 삭제 등의 이벤트를 모니터링하는 데 유용합니다. 시스템 관리자와 개발자에게 파일 시스템 활동을 추적하고 이에 따라 적절한 조치를 취할 수 있는 방법을 제공합니다.다음은 INOTIFY에 대한 주요 기능과 세부 사항입니다:파일 및 디렉토리 모니터링: INOTIFY는 특정 파일이나 디렉토리에서 발생하는 이벤트를 모니터링할 수 있습니다. 이를 통해 파일 시스템의 변경 사항을 실시간으로 감시할 수 있습니다.이벤트 유형: INOTIFY는 파일 또는 디렉토리의 생성, 삭제, 수정, 이동 등의 다양한 이벤트를..
- Total
- Today
- Yesterday
- C# 고급 기술
- C
- 현포다이브
- 네트워크 정보
- 티스토리챌린지
- 패턴
- script
- 블루버블
- 오블완
- OpenSource
- CMake
- 스쿠버 다이빙
- 외돌개
- PowerShell
- DLL
- Windows
- 제주도
- 서귀포
- 스쿠버다이빙
- 울릉도
- 서귀포블루버블
- Linux
- 암호화
- 블루버블다이빙팀
- C#.NET
- C++
- C#
- Build
- 블루버블다이브팀
- 성산블루버블
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |