suminworld

2025/11 5

🛡️리눅스 백신 실습2 - ClamAV 실시간 보호 구현 (inotify + bash 자동화)

ClamAV 실시간 보호 구현 - inotify로 악성코드 실시간 탐지 및 격리 - 실습 이미지 첨부 예정이전 포스팅(https://suminworld.tistory.com/19)에서 ClamAV 기본 설치와 수동 검사를 다뤘습니다. 하지만 수동 검사는 이미 감염된 후에 발견한다는 치명적인 한계가 있습니다. 그래서 오늘은 파일이 생성되는 순간 자동으로 검사하는 실시간 보호 시스템을 구축해보겠습니다“φʕ•ᴥ•oʔ GitHub 레포지토리: https://github.com/sumin-world/suminworld-system-lab실습 목표Linux의 inotify API를 이해하고 활용하기파일 시스템 변경을 실시간으로 감지하는 방법 학습bash 스크립트로 ClamAV 자동 검사 시스템 구축악성코드 자동 격..

system 2025.11.26

Google Dev Challenge: C 언어 타입 변환의 함정

Google for Developers에서 제시한 C 언어 Dev Challenge 문제입니다. "코드는 단순하지만 동작은 그렇지 않다"는 주제로, signed와 unsigned int 비교 시 발생하는 예상치 못한 동작을 다룹니다.문제 소개Google for Developers의 Dev Challenge는 일상적인 버그의 원인을 탐구하는 시리즈입니다. 이번 문제는 얼핏 보기에 -1이 명백히 1보다 작아 보이지만, C 언어의 타입 변환 규칙이 개입하면서 예상과 다른 결과가 나오는 상황을 보여줍니다.코드 분석#include int main() { int a = -1; unsigned int b = 1; if (a C 표준의 타입 변환 규칙C 언어 표준에서는 usual arithmetic c..

concept 2025.11.25

[OS] 뮤텍스 + Block() 방식의 문제점 (Producer-Consumer Problem)

2025-2 운영체제론 강의안 Synchronization II : Semaphore and Condition Variable 일부 정리한 내용입니다 ʕ/·ᴥ·ʔ/1. 문제 상황 개요Producer-Consumer 문제는 생산자 스레드와 소비자 스레드가 하나의 공유 버퍼를 사용하는 상황을 말한다.뮤텍스(lock)는 공유 자원에 대한 상호 배제는 보장하지만, 버퍼가 비어 있거나 꽉 찬 상황에서의 "기다림"이나 "순서 제어"는 제공하지 못한다.이를 해결하기 위해 Block()/Unblock()으로 기다림을 구현하려 시도한 버전이 바로 6페이지의 코드이다.2. 사용된 코드 구조# insert (생산자):if (count == N) Block();buf[++rear % N] = item;Acquire(&l..

concept 2025.11.17

[운영체제론] Constant Time Coalescing (Case 1-4) 정리

2025-2 운영체제론 dynamic memory allocation 일부 Case 1: 양쪽 블록 모두 할당됨Constant Time Coalescing (Case 1)m1 1m1 1n 1n 1m2 1m2 1상수 시간 병합 – 경우 1 (Case 1)표기m1이전 블록의 크기 (size of previous block)n현재 해제되는 블록의 크기 (size of block being freed)m2다음 블록의 크기 (size of next block)1할당 상태 (allocated bit = 1)0free 상태 (free bit = 0)즉, "m1 1"은 "크기 = m1, 할당됨(1)"이란 뜻입니다. 각 블록은 [크기 / 할당여부] 구조의 헤더(혹은 푸터)로 표현됩니다.Case 1의 의미양 옆 블록(이전..

concept 2025.11.08

tmux (수정 예정)

운영체제론 syscall lab 과제 하는데 생각보다 환경설정부터 자잘한 이슈가 너무 많아서ㅜ결국 새 가상머신에서 커널 빌드 하는데 새벽 내내 돌리고 이런저런 자잘한 이슈가 많은데 이동할 일이 있을때 유용하게 사용하였던 tmux 까먹을까봐 명령어 정리해두려고 합니당 과제 기한은 열흘 남았지만 그래도 오류 나는거 후딱 헤치우는게 우선일 것 같아서 휘갈기고 다음에 깔끔하게 정리해두겠습니당 ʕ •ᴥ•ʔゝ tmux 터미널 멀티플렉서(terminal multiplexer): 한 물리적인 터미널 안에서 여러 개의 가상 터미널 세션을 만들어 주는 도구 구조┌─────────────────────┐│ macOS 터미널 (VSCode SSH 등) │ ← 내 창 (Client)└────────┬────────────┘..

concept 2025.11.03