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] 스터디 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

[OSTEP] 스터디 2주차 - 가상화의 세계 part.3

운영체제는 CPU 가상화를 위해 제한적 직접 실행이라는 기법을 사용한다. 이 기법의 기본 아이디어는 프로그램을 CPU에서 직접 실행시키되, 운영체제가 CPU 제어권을 잃지 않도록 프로세스의 행동에 제한을 두는 것이다.기본 원리 : 제한적 직접 실행프로그램을 실행할 때 운영체제는 다음과 같은 절차를 따른다:프로세스를 위한 메모리를 할당하고 프로그램을 메모리에 적재한다.CPU를 사용자 모드로 전환하고 프로그램의 main() 함수로 이동한다.프로그램이 실행되면서 시스템 콜이 호출되면 커널 모드로 전환되고 운영체제가 해당 요청을 처리한다.요청 처리가 완료되면 다시 사용자 모드로 돌아가 프로그램 실행을 계속한다.이런 직접 실행 방식은 CPU 가상화를 구현하는 데 있어 몇 가지 문제를 야기한다.첫째, 프로그램을 그..

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

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

프로세스 API는 운영체제(OS)가 애플리케이션에 제공하는 인터페이스로, 사용자 프로그램이 운영체제의 다양한 기능을 사용할 수 있도록 해주는 시스템 호출이다. 이는 프로세스의 생성, 종료, 정지, 제개와 같은 기본적인 관리 작업뿐만 아니라, 프로세스 상태 정보 제공, 메모리 할당, 파일 접근 등 가상 머신 관련 기능을 요청하는데 필수적이다. 또한, 프로세스 API는 프로세스뿐만 아니라 모듈(실행 파일 또는 DLL)과 드라이버에 대한 정보 조회 및 메모리 사용량 데이터 수집과 같은 고급 기능도 지원한다.이 중 fork(), wait(), exec()는 프로세스의 생성, 실행, 대기 및 종료를 다루는 데 필수적인 API 이다.fork() 시스템 콜fork() 시스템 콜은 현재 실행 중인 프로세스(부모 프로세..

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

[OSTEP] 스터디 2주차 - 가상화의 세계 part.1

프로세스(Process)는 운영체제의 핵심 개념 중 하나이다. 프로세스는 실행 중인 프로그램을 의미하며, 프로그램 자체는 디스크에 저장된 명령어와 데이터의 집합이다. 운영체제는 이 명령어와 데이터를 실행하여 프로그램을 작동시킨다.사용자는 여러 프로그램을 동시에 실행하기를 원한다. 예를 들어, 웹 브라우저, 이메일 ,게임, 음악 플레이어 등을 동시에 실행하는 것이다. 운영체제는 실제로 한정된 CPU를 가지고 있음에도 불구하고, 여러 개의 프로세스가 동시에 실행되는 것처럼 만드는 기술, 즉 CPU 가상화를 통해 이를 가능케 한다. 이러한 환상을 만들기 위해, 운영체제는 시분할(time sharing) 방식을 사용하여 한 프로세스를 잠시 실행한 후 다른 프로세스로 전환하는 작업을 반복한다. 이 과정을 통해, ..

  • format_list_bulleted Deep Dive/OS
  • · 2025. 9. 8.
  • textsms
[OSTEP] 스터디 1주차 - 아주 쉬운 세가지 이야기

[OSTEP] 스터디 1주차 - 아주 쉬운 세가지 이야기

운영체제 아주 쉬운 세 가지 이야기 - OSTEP를 읽고 정리하는 스터디를 하게 되었다. 크래프톤 정글 8기 307반 동기들과 함께하는 스터디 시작한다.운영체제 개요프로그램을 쉽게 실행하고, 프로그램 간의 메모리 공유를 가능케 하고, 장치와 상호작용을 가능케 하고, 다양한 흥미로운 일을 할 수 있게 하는 소프트웨어가 있다. 시스템을 사용하기 편리하게 하면서 정확하고 올바르게 동작시킬 책임이 있기 때문에 이 소프트웨어를 운영체제(Operating System, OS)라고 부른다.운영체제는 앞에서 언급한 일을 하기 위하여 가상화(Virtualization)라고 불리는 기법을 사용한다. 운영체제는 프로세서, 메모리, 또는 디스크와 같은 물리적(Physical)인 자원을 이용하여 일반적이고, 강력하고, 사용이 ..

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

[CS] CPU 스케줄링 기법

CPU 스케줄링 알고리즘은 여러 프로세스가 CPU를 공유할 때 어떤 프로세스에게 CPU를 우선 배정할지를 결정하는 방식이다. 각 방식은 시스템 목표(응답 시간, 대기 시간, 공정성 등)에 따라 장단점이 존재한다.1. FCFS (First Come First Served)FCFS는 많이 들어본 FIFO와 비슷한 개념이다.개념:도착 순서대로 프로세스에게 CPU를 할당큐에 먼저 들어온 순서대로 실행한다 (FIFO 방식)특징:구현이 가장 간단하다비선점형 방식 (Non-preemptive)단점:Convoy Effect(호송 효과) 발생 가능 → CPU를 오래 점유하는 프로세스가 먼저 오면, 뒤따르는 짧은 프로세스가 오래 기다려야 함2. SJF (Shortest Job First)개념:실행 시간이 가장 짧은 프로세..

  • format_list_bulleted Deep Dive/CS
  • · 2025. 5. 15.
  • textsms
  • navigate_before
  • 1
  • ···
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 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)
최근 글
인기 글
최근 댓글
태그
  • #AWS 자격증
  • #Cloud Practitioner
  • #saa-c03
  • #AWS
  • #serverless
  • #CLF-C01
  • #AWSKRUG
  • #IOT
  • #aws #iot
  • #AWS Community Day
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바