전체 글417 [OS] 운영체제 아주 쉬운 세 가지 이야기 7장 스케줄링 참고 자료 [책] 운영체제 아주 쉬운 세 가지 이야기 7장 스케줄링 개요 다양한 스케줄링 정책(scheduling policy) 을 소개하고 그에 관한 이해를 높일 것이다. 7.1 워크로드에 대한 가정 일련의 프로세스들이 실행하는 상황을 워크로드(workload)라고 부르기로 한다. 워크로드를 결정하는 것은 정책 개발에 매우 중요한 부분이다. 우리는 시스템에서 실행 중인 프로세스 혹은 작업(job)에 대해 다음과 같은 비현실적인 가정을 한다.1. 모든 작업은 같은 시간 동안 실행된다.2. 모든 작업은 동시에 도착한다.3. 각 작업은 시작되면 완료될 때까지 실행된다. (비선점)4. 모든 작업은 CPU 만 사용한다(I/O 작업 X).5. 각 작업의 실행 시간은 사전에 알려져 있다. 몇몇 가정은 다른 가정에.. 2025. 4. 7. [OS] 운영체제 아주 쉬운 세 가지 이야기 6장 제한적 직접 실행 원리 참고 자료 [책] 운영체제 아주 쉬운 세 가지 이야기 6장 제한적 직접 실행 원리 개요 CPU를 가상화하기 위해서 운영체제는 여러 작업들이 동시에 실행되는 것처럼 보이도록 물리적인 CPU를 공유한다. CPU 시간을 나누어 씀으로써 가상화를 구현할 수 있다. 이러한 가상화 기법을 구현하기 위해서는 몇 가지 문제를 해결해야 한다. 1. 성능 저하 (시스템에 오버헤드를 주지 않으면서 가상화를 구현)2. 제어 문제 (운영체제가 프로세스에 대한 제어권이 있어야 함) 6.1 기본 원리: 제한적 직접 실행 운영체제 개발자들은 프로그램을 빠르게 실행하기 위해 제한적 직접 실행(Limited Direct Execution) 기법을 개발했다. 프로그램을 CPU 상에서 직접 실행시키는 것. 해당 그림은 직접 실행 (아무 .. 2025. 4. 1. [OS] 운영체제 아주 쉬운 세 가지 이야기 5장 프로세스 API 참고 자료 [책] 운영체제 아주 쉬운 세 가지 이야기 5장 프로세스 API 개요이번 절에서는 Unix 시스템의 프로세스 생성에 관해 논의한다. Unix는 프로세스를 생성하기 위하여 fork()와 exec() 시스템 콜을 사용한다. wait()는 프로세스가 자신이 생성한 프로세스가 종료되기를 기다리기 원할 때 사용된다. 프로세스를 생성하고 제어하려면 운영체제가 어떤 인터페이스를 제공해야 하는가? 유용하고 편하게 사용하기 위해서 이 인터페이스는 어떻게 설계되어야 하는가?5.1 fork() 시스템 콜 결과 실행이 시작될 때 프로세스는 hello world ... 메시지를 출력한다. 이 메시지에는 PID(프로세스 식별자, process identifier)가 포함된다. 해당 프로세스는 29146이라는 P.. 2025. 3. 31. [OS] 운영체제 아주 쉬운 세 가지 이야기 4장 프로세스의 개념 참고 자료 [책] 운영체제 아주 쉬운 세 가지 이야기 4장 프로세스의 개념 개요 사용자는 하나 이상의 프로그램을 동시에 실행시키기를 원한다. 적은 개수의 CPU 밖에 없더라도, 운영체제가 어떻게 무한개에 가까운 CPU가 있는 듯한 환상을 만들 수 있을까? 운영체제는 CPU를 가상화하여 이러한 환상을 만든다. 하나의 프로세스를 실행하고, 얼마 후 중단시키고 다른 프로세스를 실행하는 작업을 반복하면서 실제 하나 또는 소수의 CPU로 여러 개의 가상 CPU가 존재하는 듯한 환상을 만들어 낸다. 시분할(time sharing) 운영체제의 지능은 정책의 형태로 표현된다. 정책은 운영체제 내에서 어떤 결정을 내리기 위한 알고리즘이다. 예를 들어, 실행 가능한 여러 프로그램들이 있을 때, 운영체제는 어느 프로그램을 .. 2025. 3. 31. [EasyMarket] 스프링 이메일 인증 구현 (Redis/OTP) https://20240228.tistory.com/443 [EasyMarket] Github Actions 사용으로 CI/CD 구축하기 (EC2 생성)https://20240228.tistory.com/442 [EasyMarket] 프로젝트 시작, CORS 해결하기프로젝트 환경 설명 spring boot(html, css, javascript, thymeleaf) 프론트spring boot 백엔드 나는 백엔드 개발자여서 vue, react 같은 프론트 프20240228.tistory.com이전 내용 순서 이메일 인증 → 필요한 의존성 추가 → 구현이메일 인증?나는 이메일이 인증된 사용자만 회원가입 할 수 있도록 OTP(One-Time Password)를 발급하여 사용자가 본인의 이메일을 통해 인증을 받.. 2025. 3. 27. [EasyMarket] Github Actions 사용으로 CI/CD 구축하기 (EC2 생성) https://20240228.tistory.com/442 [EasyMarket] 프로젝트 시작, CORS 해결하기프로젝트 환경 설명 spring boot(html, css, javascript, thymeleaf) 프론트spring boot 백엔드 나는 백엔드 개발자여서 vue, react 같은 프론트 프레임워크를 전혀 모르지만 단순 SSR을 하는 프로젝트 보다는 이렇20240228.tistory.com이전 내용 순서 EC2 인스턴스 생성 → 탄력적 IP → CICD 이해 → CICD 구축 → 타임리프 트러블 슈팅 EC2 인스턴스 생성하기 AWS EC2 서비스로 들어가서 리전(Region) 선택꼭 아시아 태평양(서울) ap-northeast-2 로 선택 (한국에 산다면) 리전이란?EC2란 우리가 컴퓨터.. 2025. 3. 26. 이전 1 2 3 4 ··· 70 다음