GoWoong의 개발 블로그
close
프로필 배경
프로필 로고

GoWoong의 개발 블로그

  • 분류 전체보기 (219)
    • 크래프톤 정글 (83)
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (51)
      • CS (15)
      • OS (33)
      • 아키텍처 (2)
    • 백엔드 개발 (1)
      • 파이썬 (0)
      • 자바 스프링 (1)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 앱 개발 (5)
      • Flutter (5)
    • AI & LLM (1)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
    • 사이드프로젝트 (7)
  • 홈
  • 자소서
  • 포트폴리오
  • 이력서

[OSTEP] 스터디 15주차 Part.1 파일과 디렉터리

운영체제의 가상화(Virtualization) 파트를 지나, 이제 영속성(Persistence)의 세계로 들어왔다. 영속성의 핵심은 전원이 꺼져도 데이터가 날아가지 않게 하는 것이다. 이를 위해 운영체제는 파일 시스템(File System)이라는 인터페이스를 제공한다.1. 파일과 디렉터리: 기본 개념 (Files and Directories)파일 시스템은 데이터를 저장하기 위해 두 가지 핵심 추상화를 제공한다.파일 (File): 운영체제 입장에서 파일은 그저 바이트의 선형 배열(Linear Array of Bytes)일 뿐이다. 파일의 내용(이미지인지, 텍스트인지)은 OS가 알 바 아니다. 각 파일은 inode number(아이노드 번호)라는 저수준의 이름으로 식별된다.디렉터리 (Directory): 디..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 12. 9.
  • textsms

[OSTEP] 스터디 15주차 - 영속성 Redundant Array of Inexpensive Disk (RAID)

단일 디스크는 느리고, 작고, 고장이 나기 쉽다. 그렇다면 여러 개의 디스크를 묶어서 마치 하나의 크고, 빠르고, 안전한 디스크처럼 보이게 만들면 어떨까? 이것이 바로 RAID(Redundant Array of Inexpensive Disks)의 기본 아이디어다.RAID는 운영체제(파일 시스템)에게 투명(Transparent)하다. 즉, OS는 뒤에 디스크가 몇 개가 있는지, 어떻게 묶여 있는지 신경 쓰지 않고 그냥 하나의 논리적인 블록 장치로 인식한다.RAID를 평가하는 기준은 크게 세 가지다.용량 (Capacity): N개의 디스크를 썼을 때 실제로 사용할 수 있는 공간은 얼마인가?신뢰성 (Reliability): 디스크가 몇 개 고장 나도 데이터를 잃지 않는가?성능 (Performance): 읽기/..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 12. 9.
  • textsms

[OSTEP] 스터디 14주차 - 영속성 1 Part.2

운영체제는 저장 장치(디스크)를 관리하기 위해 두 가지 핵심 추상화 개념을 제공한다. 바로 파일(File)과 디렉터리(Directory)다. 이들은 사용자가 데이터를 쉽게 저장하고, 이름을 붙이고, 정리할 수 있게 해준다.1. 파일 (Files)1.1. 파일의 개념정의: 파일은 단순히 바이트들의 선형 배열(Linear array of bytes)이다.특징: 운영체제는 파일의 내용(텍스트인지, 이미지인지 등)을 알지 못하며, 단지 데이터를 영구적으로 저장하고 요청 시 돌려주는 역할만 수행한다.저수준 이름 (Low-level Name): 각 파일은 아이노드 번호(inode number)라는 고유한 번호를 가진다. 사용자는 보통 파일 이름(예: foo.txt)을 사용하지만, OS 내부적으로는 이 번호를 통해 ..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 12. 2.
  • textsms
[OSTEP] 스터디 14주차 - 영속성 1 Part.1

[OSTEP] 스터디 14주차 - 영속성 1 Part.1

운영체제의 세 번째 핵심 주제인 영속성(Persistence)은 시스템 전원이 꺼지거나 충돌이 발생해도 데이터가 영구적으로 보존되도록 보장하는 개념이다. 이 영속성은 하드웨어(I/O 장치, 디스크)와 소프트웨어(파일 시스템, 디렉터리)의 유기적인 상호작용으로 완성된다.1. 시스템 아키텍처 (System Architecture)I/O 장치를 이해하려면 먼저 이들이 시스템 전체에서 어디에 위치하는지 봐야 한다. 컴퓨터 시스템은 성능 비용에 따라 계층적인 버스(Bus) 구조를 가진다.1.1. 계층적 버스 구조왜 계층적인 구조가 필요할까? 이는 물리학적 제약과 비용 때문이다.버스는 고속일수록 길이가 짧아져야 한다. (신호 무결성 문제)고속 버스는 제작 비용이 비싸기 때문에 모든 장치를 고속 버스에 연결할 수 없..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 12. 2.
  • textsms

[OSTEP] 스터디 13주차 - 병행성 3 Part.2

앞선 학습에서 락(Lock), 컨디션 변수(Condition Variable), 세마포어(Semaphore) 같은 도구를 배웠다. 하지만 도구를 안다고 해서 결함 없는 프로그램을 짤 수 있는 것은 아니다. 이번 포스팅에서는 실제 상용 소프트웨어에서 빈번하게 발생하는 동시성 버그의 유형과, 쓰레드(Thread)의 대안으로 제시된 이벤트(Event) 기반 동시성 모델이 가진 현실적인 어려움에 대해 OSTEP 책 내용을 바탕으로 깊이 있게 파고든다.1. 흔한 동시성 문제들 (Common Concurrency Problems)Lu 등의 연구진이 MySQL, Apache, Mozilla, OpenOffice와 같은 대형 오픈소스 소프트웨어의 버그를 분석한 결과, 동시성 버그는 크게 비교착 상태(Non-Deadlo..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 11. 25.
  • textsms

[OSTEP] 스터디 12주차 - 병행성 3 Part.1

운영체제에서 쓰레드를 다룰 때 우리가 해결해야 할 문제는 크게 두 가지다.상호 배제(Mutual Exclusion): 한 번에 하나의 쓰레드만 임계 영역(Critical Section)에 들어가게 하는 것. (주로 Lock으로 해결)순서 정렬(Ordering): 쓰레드 A가 작업을 마친 후에 쓰레드 B가 실행되어야 하는 것처럼, 작업의 순서를 조율하는 것.Lock만으로는 두 번째 문제인 '순서 정렬'을 효율적으로 해결하기 어렵다. 부모 쓰레드가 자식 쓰레드가 끝날 때까지 기다려야 하는 경우를 생각해보자. 공유 변수를 계속 확인하며 무한 루프를 도는 방식(Spinning)은 CPU 자원을 심각하게 낭비한다. 이때 필요한 것이 컨디션 변수와 세마포어다.1. 컨디션 변수 (Condition Variables)..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 11. 25.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ···
  • 9
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (219)
    • 크래프톤 정글 (83)
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (51)
      • CS (15)
      • OS (33)
      • 아키텍처 (2)
    • 백엔드 개발 (1)
      • 파이썬 (0)
      • 자바 스프링 (1)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 앱 개발 (5)
      • Flutter (5)
    • AI & LLM (1)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
    • 사이드프로젝트 (7)
최근 글
인기 글
최근 댓글
태그
  • #AWSKRUG
  • #saa-c03
  • #CLF-C01
  • #Cloud Practitioner
  • #AWS
  • #AWS Community Day
  • #aws #iot
  • #IOT
  • #serverless
  • #AWS 자격증
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바