파일 접근 제어 요약 1. 주요 목표 파일 접근 제어: 파일 및 디렉토리에 대한 접근을 관리하고 허용, 차단, 로그 작업을 수행합니다. 성능과 안정성 보장: 커널 복잡성을 줄이고, 커널 업데이트의 영향을 최소화합니다. 유연성과 확장성: 정책을 사용자 영역에서 관리하여 동적 업데이트를 가능하게 합니다. 2. 제안된 설계 흐름 사용자 영역에서 정책 관리: 정책 파일(JSON/XML)을 읽어 메모리에 저장하고 정렬하여 효율적으로 검색합니다. 커널 모듈 후킹: 주요 파일 I/O 함수(vfs_open, vfs_read 등)를 후킹합니다. 콜백 등록: 사용자 영역에서 커널로 콜백 함수 포인터를 전달합니다. ..
RAM 종류 비교 1. 일반 RAM 일반적으로 사용하는 RAM으로, 데이터 저장과 읽기를 빠르게 처리합니다. 특징: 오류 검출 및 수정 기능이 없음. 용도: 개인용 PC, 게임용 컴퓨터, 일반적인 워크스테이션. 장점: 속도가 빠르고 가격이 저렴함. 단점: 메모리 오류 발생 시 데이터 손상이 발생할 가능성이 있음. 2. ECC RAM 메모리 오류를 자동으로 검출하고 수정할 수 있는 기능을 가진 RAM입니다. 특징: 단일 비트 오류를 수정 가능. 용도: 서버, 데이터베이스, 금융 시스템, 과학 연구 등 신뢰성이 중요한 환경. 장점: 메모리 오류로 인한 시스템 충돌 방지. 높은 안..
RAND 정리 1. RAND 설명 RAND는 난수를 생성하는 함수 또는 메커니즘으로, 소프트웨어 및 하드웨어에서 사용됩니다. 목적: 난수는 보안, 시뮬레이션, 게임, 통계적 분석 등 다양한 분야에서 필요합니다. 특징: 난수는 예측할 수 없어야 하며, 진정한 난수(TRNG)와 의사 난수(PRNG)로 나뉩니다. 2. RAND 함수 종류 설명 (C++) std::rand (C 표준 라이브러리) std::random_device (C++11 이후) std::mt19937 (Mersenne Twister, C++11 이후) std::uniform_i..
🌐 엔디안 변환 – htons와 htonl 완벽 정리!네트워크 프로그래밍이나 시스템 간 데이터 전송을 다루다 보면 "엔디안(Endian)"이라는 개념을 자주 접하게 됩니다. 특히 C/C++에서 htons, htonl 같은 함수가 자주 사용되는데, 이게 무엇인지, 왜 필요한지 깔끔하게 정리해보겠습니다.🔸 엔디안(Endian)이란?엔디안은 멀티 바이트 데이터를 메모리에 저장하는 방식을 말합니다.빅 엔디안(Big Endian): 큰 바이트(상위 바이트)가 메모리의 앞 주소에 저장됩니다.리틀 엔디안(Little Endian): 작은 바이트(하위 바이트)가 메모리의 앞 주소에 저장됩니다.예시:0x12345678빅 엔디안 → 12 34 56 78리틀 엔디안 → 78 56 34 12🔸 엔디안이 왜 중요할까?대부..
리눅스 타이머 방식 정리 및 비교표1. 리눅스에서 사용 가능한 타이머 방식리눅스에서는 다양한 방식으로 주기적인 작업을 수행할 수 있습니다. POSIX 타이머, sleep, pthread, alarm 등 여러 방식이 존재하며, 각각의 방식은 성능과 사용 용도에 따라 적합성이 다릅니다.2. 리눅스 타이머 방식 및 예제 코드1. POSIX 타이머 (timer_create)설명: 고정밀 타이머로, SIGEV_THREAD 옵션을 사용해 타이머 만료 시 별도의 스레드에서 콜백이 실행됩니다.#include #include #include void timer_handler(union sigval sv) { printf("Timer expired! Data sent.\n");}void create_timer() {..
SetTimer vs Thread Sleep vs CreateTimerQueueTimer 비교 윈도우 애플리케이션에서 일정 시간 간격으로 작업을 수행하는 방법으로 SetTimer, Thread + Sleep, CreateTimerQueueTimer가 자주 사용됩니다. 각각의 방식은 동작 방식과 장단점이 다르며, 상황에 따라 적합한 방식이 달라집니다. 1. SetTimer 동작 방식: 일정 시간 간격으로 WM_TIMER 메시지를 메시지 큐에 추가하여 타이머 이벤트를 발생시킵니다. 메인 스레드에서 타이머 콜백이 처리됩니다. SetTimer(hWnd, 1, 1000, NULL); // 1초마다 WM_TIMER 발생switch (message) { case WM_TIM..
- Total
- Today
- Yesterday
- 블루버블다이브팀
- CMake
- 블루버블
- 윈도우
- C
- DLL
- ip
- 성산블루버블
- 서귀포블루버블
- C#.NET
- PowerShell
- 스쿠버 다이빙
- 리눅스
- 스쿠버다이빙
- OpenSource
- 블루버블다이빙팀
- C# 고급 기술
- C#
- Thread
- 패턴
- Build
- Windows
- 외돌개
- 현포다이브
- 암호화
- 울릉도
- Linux
- 제주도
- C++
- 서귀포
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |