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

GoWoong의 개발 블로그

  • 분류 전체보기 (220)
    • 크래프톤 정글 (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 (52)
      • CS (15)
      • OS (34)
      • 아키텍처 (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] 스터디 6주차 - 메모리 가상화 2 Part.1

주소 변환의 원리메모리 가상화는 가상화를 제공하는 동시에 효율성과 제어 모두를 추구한다.효율성: 레지스터, TLB(Translation Lookaside Buffer) 등의 하드웨어 지원을 활용해 주소 변환의 효율을 높인다.레지스터: CPU 내부에 있는 고속의 작은 메모리로, 자주 사용되는 데이터나 명령어를 저장하여 빠른 접근을 가능하게 한다.TLB: 최근에 사용된 가상 주소와 물리 주소의 매핑 정보를 캐시로 저장하여, 주소 변환 속도를 향상시킨다.제어: 운영체제는 각 프로세스의 주소 공간을 분리하여 관리함으로써, 한 프로세스가 다른 프로세스의 메모리에 무단으로 접근하는 것을 방지한다. 이를 통해 시스템의 안정성과 보안을 높인다.유연성: 가상 메모리 시스템은 프로그래머가 물리 메모리의 제약에 구애받지 않..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 10. 14.
  • textsms
[OSTEP] 스터디 5주차 - 메모리 가상화 1

[OSTEP] 스터디 5주차 - 메모리 가상화 1

초기 컴퓨터 시스템의 운영체제는 사용자에게 그다지 많은 기능을 제공하지 않았다. 운영체제는 단지 물리주소 0번지부터 메모리에 위치했다.하나의 프로세스가 물리 메모리의 특정 영역을 독점적으로 사용하고, 나머지 공간은 다른 용도로 사용했다. 초기 시스템에서는 특별한 가상화 기술이 거의 없었다.멀티프로그래밍과 시분할CPU는 실제로 하나지만 , 여러 프로세스가 마치 자신만의 CPU를 가진 것처럼 느끼게 하는 것이 목표다. 이를 통해 다수의 프로세스가 동시에 실행되는 것 같은 환상을 만들어 냈다.시분할 시스템은 컴퓨터 가격이 높았던 시절 더 많은 사람이 동시에 사용할 수 있게 하고 자원 활용도를 극대화할 방법으로 개발되었다. 이는 여러 사용자가 컴퓨터를 동시에 쓸 수 있게 함으로써, 기존의 일괄 처리 방식에 비해..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 9. 29.
  • textsms
[OSTEP] 스터디 4주차 - 스케줄링 2 : Part.2 - 비례 배분

[OSTEP] 스터디 4주차 - 스케줄링 2 : Part.2 - 비례 배분

비례 배분(Proportional Share) 혹은 공정 배분(Fair Share) 스케줄링은 기존의 스케줄링 알고리즘과는 다른 목적을 가지고 있다. 이전의 알고리즘들이 반환 시간(turnaround time)이나 응답 시간(response time)을 최적화하는 데 중점을 뒀다면, 비례 배분 스케줄링은 각 작업(job)이나 프로세스에게 CPU 시간의 일정 비율을 보장하는 것을 목표로 한다.비례 배분 스케줄링의 대표적인 예시로는 Waldspurger와 Weihl이 제안한 추첨 스케줄링(Lottery Scheduling)이 있다. 이 아이디어 자체는 상당히 오래되었는데, 그 기본 개념은 매우 간단하다. 다음에 실행할 프로세스를 추첨을 통해 랜덤 하게 선택하되, CPU 시간을 더 많이 할당받아야 할 프로세스..

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

[OSTEP] 스터디 4주차 - 스케줄링 2 : Part.1 - MLFQ

멀티 레벨 피드백 큐(Multi-Level Feedback Queue, MLFQ) 스케줄러는 1962년 Corbato 등에 의해 CTSS(Compatible Time-Sharing System)에 처음 도입되었다. Corbato는 이 연구와 Multics에 대한 후속 연구로 최고 권위의 튜링상을 수상했다. 이후 MLFQ는 수년에 걸쳐 발전을 거듭하며 오늘날의 몇몇 현대 시스템에까지 이르게 되었다.MLFQ가 해결하고자 하는 핵심 문제는 두 가지다.짧은 작업을 우선 처리하여 반환 시간(turnaround time)을 최적화하는 것이다. SJF나 STCF 같은 알고리즘은 이를 위해 각 작업의 실행 시간 정보를 필요로 하지만, 안타깝게도 운영체제는 이 정보를 사전에 알 수 없다.사용자와 상호작용하는 프로세스, ..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 9. 22.
  • textsms
[OSTEP] 스터디 3주차 - 스케줄링 1

[OSTEP] 스터디 3주차 - 스케줄링 1

이번 주차에는 다양한 스케줄링 정책(Scheduling Policy)을 이해하는데 집중한다. 이러한 정책은 스케줄링 기법(Scheduling Discipline)이라고 불린다. 초기의 스케줄링 방법들은 생산 관리 분야에서 개발되었고, 이후 컴퓨터 시스템에 적용되었다.우리가 이번에 배울 스케줄링에 대한 핵심 질문은 다음과 같다.1. 스케줄링 정책은 어떻게 개발할 수 있을까? 2. 스케줄링 정책을 설계하기 위한 기본적인 프레임워크는 무엇일까? 3. 정책 개발에 필요한 핵심 가정은 무엇일까? 4. 어떤 평가 기준이 중요할까? 5. 컴퓨터 시스템 초창기에 사용된 기본 접근 방식은 무엇일까?워크로드에 대한 가정스케줄링 정책을 알아보기 전에 몇 가지 가정을 하겠다. 이 가정을 통해 시스템에서 실행되는 프로세스들의 ..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 9. 15.
  • textsms
[OSTEP] 스터디 2주차 - 가상화의 세계 - 숙제

[OSTEP] 스터디 2주차 - 가상화의 세계 - 숙제

소개이 프로그램 process-run.py를 통해 프로그램이 실행되고 CPU를 사용하거나(예: 명령어 추가 수행) I/O를 수행할 때(예: 디스크에 요청을 보내고 완료될 때까지 기다림) 프로세스 상태가 어떻게 변하는지 볼 수 있다. 자세한 내용은 README를 참조하라.질문Q1. 다음 플래그와 함께 process-run.py를 실행하세요: -l 5:100,5:100. CPU 활용률(예: CPU가 사용 중인 시간의 백분율)은 어떻게 되어야 할까요? 왜 그렇게 알 수 있나요? -c와 -p 플래그를 사용해 여러분의 생각이 맞는지 확인해 보세요.A : 5ms 실행하고 100ms 기다리는 것을 2번 하기 때문에 10% 정도로 생각했다. (5:100)의 의미를 잘 몰랐다.하지만 100%가 나왔다. 보니 I/O 대기..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 9. 9.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (220)
    • 크래프톤 정글 (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 (52)
      • CS (15)
      • OS (34)
      • 아키텍처 (2)
    • 백엔드 개발 (1)
      • 파이썬 (0)
      • 자바 스프링 (1)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 앱 개발 (5)
      • Flutter (5)
    • AI & LLM (1)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
    • 사이드프로젝트 (7)
최근 글
인기 글
최근 댓글
태그
  • #IOT
  • #AWS Community Day
  • #AWSKRUG
  • #aws #iot
  • #Cloud Practitioner
  • #CLF-C01
  • #AWS
  • #serverless
  • #AWS 자격증
  • #saa-c03
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바