<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Home on 장어의 블로그</title><link>https://ljweel.github.io/</link><description>Recent content in Home on 장어의 블로그</description><image><title>장어의 블로그</title><url>https://ljweel.github.io/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url><link>https://ljweel.github.io/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link></image><generator>Hugo -- 0.146.0</generator><language>ko</language><lastBuildDate>Thu, 09 Apr 2026 00:40:52 +0900</lastBuildDate><atom:link href="https://ljweel.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>09. 디스크 I/O</title><link>https://ljweel.github.io/posts/my-os-in-1000-lines/os09/</link><pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/my-os-in-1000-lines/os09/</guid><description>virtio-blk 디바이스 드라이버를 구현하여 QEMU 가상 디스크를 읽고 쓰는 과정</description></item><item><title>10. 파일 시스템</title><link>https://ljweel.github.io/posts/my-os-in-1000-lines/os10/</link><pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/my-os-in-1000-lines/os10/</guid><description>tar 아카이브를 파일 시스템으로 활용하여 파일 읽기/쓰기를 구현하고, readfile/writefile 시스템 콜을 추가하는 과정</description></item><item><title>07. 애플리케이션과 유저 모드</title><link>https://ljweel.github.io/posts/my-os-in-1000-lines/os07/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/my-os-in-1000-lines/os07/</guid><description>애플리케이션의 링커 스크립트와 objcopy 빌드로 커널에 내장하고, sret으로 U-Mode 전환하여 실제로 실행하는 과정</description></item><item><title>08. 시스템 콜</title><link>https://ljweel.github.io/posts/my-os-in-1000-lines/os08/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/my-os-in-1000-lines/os08/</guid><description>ecall로 U-Mode에서 커널 기능을 호출하는 시스템 콜 메커니즘을 구현하고, putchar/getchar/exit 세 가지 시스템 콜로 Hello World를 출력하는 과정</description></item><item><title>06. 페이지 테이블</title><link>https://ljweel.github.io/posts/my-os-in-1000-lines/os06/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/my-os-in-1000-lines/os06/</guid><description>Sv32 2단계 페이지 테이블을 구현하여 프로세스별 메모리 격리를 실현하는 과정</description></item><item><title>05. 메모리 할당과 프로세스</title><link>https://ljweel.github.io/posts/my-os-in-1000-lines/os05/</link><pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/my-os-in-1000-lines/os05/</guid><description>페이지 단위 메모리 할당기를 구현하고, PCB, 컨텍스트 스위칭, 스케줄러를 통해 멀티태스킹의 기반을 만드는 과정</description></item><item><title>04. Exception과 Trap Handler</title><link>https://ljweel.github.io/posts/my-os-in-1000-lines/os04/</link><pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/my-os-in-1000-lines/os04/</guid><description>예외(Exception)의 개념과 RISC-V에서의 처리 흐름을 이해하고, trap entry부터 handler까지 구현하여 커널이 예외 처리의 기반을 만들었습니다.</description></item><item><title>OnPyRunner 회고: 프로젝트를 돌아보며</title><link>https://ljweel.github.io/posts/onpyrunner/onpyrunner_retrospect/</link><pubDate>Wed, 25 Mar 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/onpyrunner/onpyrunner_retrospect/</guid><description>OnPyRunner 시리즈를 마치며, 아무것도 모르던 시점의 의사결정을 현재의 시선으로 돌아본 기록</description></item><item><title>03. Hello World, C 표준 라이브러리, 커널 패닉</title><link>https://ljweel.github.io/posts/my-os-in-1000-lines/os03/</link><pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/my-os-in-1000-lines/os03/</guid><description>SBI를 통한 문자 출력, printf 직접 구현, 기본 C 라이브러리 함수 작성, 커널 패닉 매크로까지 — 표준 라이브러리 없이 OS의 기본 도구를 만드는 과정</description></item><item><title>02. 부트(Boot)</title><link>https://ljweel.github.io/posts/my-os-in-1000-lines/os02/</link><pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/my-os-in-1000-lines/os02/</guid><description>RISC-V 기반 OS 개발: OpenSBI 부팅, 링커 스크립트 작성, 최소 커널 구현 및 디버깅</description></item><item><title>01. 환경 설정과 RISC-V 기초</title><link>https://ljweel.github.io/posts/my-os-in-1000-lines/os01/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/my-os-in-1000-lines/os01/</guid><description>QEMU, OpenSBI 환경 설정과 RISC-V CPU 모드, 특권 명령, 인라인 어셈블리 개념 정리</description></item><item><title>stdout/stderr 제한과 subprocess 파이프 데드락 해결</title><link>https://ljweel.github.io/posts/subprocess-stream-limit-and-deadlock/</link><pubDate>Mon, 16 Mar 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/subprocess-stream-limit-and-deadlock/</guid><description>subprocess.PIPE로 stdout/stderr를 동시에 읽을 때 발생하는 데드락의 원인과 스레드를 이용한 해결</description></item><item><title>rlimit vs cgroup: 메모리 제한의 두 가지 레이어</title><link>https://ljweel.github.io/posts/rlimit_vs_cgroup/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/rlimit_vs_cgroup/</guid><description>OnPyRunner에서 샌드박스 메모리 설정 중 rlimit과 cgroup의 차이를 서술한 글입니다.</description></item><item><title>10. 배포와 오픈</title><link>https://ljweel.github.io/posts/onpyrunner/onpyrunner10/</link><pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/onpyrunner/onpyrunner10/</guid><description>MVP를 완성하고 Cloudflare 터널 + Nginx로 배포하여 서비스를 공개한 과정</description></item><item><title>9. 테스트 자동화와 cgroup 삽질</title><link>https://ljweel.github.io/posts/onpyrunner/onpyrunner09/</link><pubDate>Wed, 11 Feb 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/onpyrunner/onpyrunner09/</guid><description>pytest 기반 테스트 자동화를 구축하고, Docker 내부 cgroup v2 설정을 해결한 과정</description></item><item><title>8. Worker 흐름과 Nsjail 추상화</title><link>https://ljweel.github.io/posts/onpyrunner/onpyrunner08/</link><pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/onpyrunner/onpyrunner08/</guid><description>Worker의 데이터 흐름을 설계하고 Nsjail 클래스로 샌드박스 실행을 추상화한 과정</description></item><item><title>7. Job 상태 머신과 API 설계</title><link>https://ljweel.github.io/posts/onpyrunner/onpyrunner07/</link><pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/onpyrunner/onpyrunner07/</guid><description>Job의 상태 전이를 정의하고 POST /execute, GET /jobs API를 구체적으로 설계한 과정</description></item><item><title>6. Redis의 본질과 MVP 재정의</title><link>https://ljweel.github.io/posts/onpyrunner/onpyrunner06/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/onpyrunner/onpyrunner06/</guid><description>동기/비동기·블로킹/논블로킹 개념을 재정립하고 Redis 도입의 진짜 이유를 깨달은 과정</description></item><item><title>메모장</title><link>https://ljweel.github.io/posts/memo/</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/memo/</guid><description>기억해야 할 것 같은 내용을 작성하는 곳, 일종의 wiki</description></item><item><title>5. Docker 도입과 테스트 환경 구축</title><link>https://ljweel.github.io/posts/onpyrunner/onpyrunner05/</link><pubDate>Mon, 19 Jan 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/onpyrunner/onpyrunner05/</guid><description>로컬 nsjail 테스트의 한계를 Docker로 극복하고 파일시스템 격리를 검증한 과정</description></item><item><title>4. Nsjail 도입과 TDD 시작</title><link>https://ljweel.github.io/posts/onpyrunner/onpyrunner04/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/onpyrunner/onpyrunner04/</guid><description>샌드박스 격리를 위해 Nsjail을 선택하고, Jest 기반 테스트 주도 개발을 시작한 과정</description></item><item><title>3. 설계 미스와 동기 전환</title><link>https://ljweel.github.io/posts/onpyrunner/onpyrunner03/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/onpyrunner/onpyrunner03/</guid><description>비동기 구조가 프로젝트 본질에 맞지 않음을 깨닫고 동기 실행으로 회귀한 과정</description></item><item><title>2. Express와 BullMQ로 첫 구현</title><link>https://ljweel.github.io/posts/onpyrunner/onpyrunner02/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/onpyrunner/onpyrunner02/</guid><description>설계를 코드로 옮기며 API-Queue-Worker 파이프라인을 처음 연결한 과정</description></item><item><title>1. 프로젝트의 시작</title><link>https://ljweel.github.io/posts/onpyrunner/onpyrunner01/</link><pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/onpyrunner/onpyrunner01/</guid><description>온라인 파이썬 실행기를 왜 만들게 되었는지, 유스케이스와 초기 아키텍처를 설계한 과정</description></item><item><title>첫 인터뷰 회고</title><link>https://ljweel.github.io/posts/interview-review01/</link><pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate><guid>https://ljweel.github.io/posts/interview-review01/</guid><description>첫 인터뷰에 대한 회고입니다.</description></item></channel></rss>