profile
구준희 하자

[OS] 9. 가상 메모리와 페이지 교체

들어가며 물리적 메모리로의 주소 변환은 OS가 관여하지 않지만, 가상 메모리 기법은 전적으로 OS가 관여한다 Demand Paging 실제로 필요할 때(= 해당 페이지가 요청됐을 때) page를 메모리에 올리는 것 I/O 양 감소 memory 사용량 감

2022년 6월 7일
·
0개의 댓글
·

[OS] 8. 메모리 관리 기법

프로세스마다 독립적으로 가지는 주소 공간각 프로세스마다 0번지부터 시작CPU가 보는 주소는 logical address임 => 실행파일 안의 코드는 동일하기 때문에 CPU는 logical address를 봐야할 필요가 있음메모리에 실제 올라가는 위치가상 메모리의 논리적

2022년 6월 2일
·
0개의 댓글
·

[OS] 7. 데드락

일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태Resource: HW, SW 등을 포함하는 개념I/O device, CPU cycle, memory space, semaphore 등등..데드락은 다음 4가지 조건을 모두 만족해야만 발생한다.Mutual

2022년 6월 1일
·
0개의 댓글
·

[OS] 6. 프로세스 동기화

Race Condition Storage Box를 공유하는 Execution Box가 여럿이면 Race Condition의 가능성이 있음 e.g) Memory CPU : MultiProcessor system e.g) Address Space Proc

2022년 5월 31일
·
0개의 댓글
·

[OS] 5. CPU 스케줄링

CPU 스케줄링 CPU는 I/O burst 와 CPU burst를 연속적으로 반복하게 된다. I/O burst: I/O 작업을 기다리는 시간 CPU burst: instruction 수행 시간 I/O burst 의 발생이 잦아지면서 CPU burst 가

2022년 5월 31일
·
0개의 댓글
·

[OS] 4. 프로세스 관리와 프로세스 간 협력

부모 프로세스(parent process)가 자식 프로세스(child process)를 생성함프로세스의 트리 형성프로세스는 자원을 필요로 함OS로부터 받음부모와 공유자원의 공유부모와 자식이 모든 자원을 공유하는 모델일부를 공유하는 모델전혀 공유하지 않는 모델수행(Exe

2022년 5월 29일
·
0개의 댓글
·

[OS] 3. 스레드

스레드는 CPU의 실행 단위가 여러개가 있는 경우 그 실행의 기본 단위를 말한다.하나의 프로세스에 여러 개의 CPU 수행 단위를 두고 있는 것을 스레드라고 말함.프로세스는 메모리에 독립적으로 할당받기 때문에 여러 개의 프로세스를 띄우면 메모리 공간이 낭비된다. 이러한

2022년 5월 29일
·
0개의 댓글
·

[OS] 2. 프로세스와 스케줄러

프로세스는 실행중인 프로그램을 말함프로세스의 문맥(context) : 프로세스의 상태, 시분할을 위해 프로세스의 상태를 파악하고 있어야 함코드의 어느부분까지 수행되었는가, 무슨 내용을 쌓아두고 있는가, 어떤 instruction까지 수행했는가CPU 수행 상태를 나타내는

2022년 5월 27일
·
0개의 댓글
·

[OS] 1. Overview

CPU : Memory의 instruction을 읽어서 처리하는 역할만 한다.register: Memory보다 빠른 저장공간을 가지고 있다.mode bit: instruction이 사용자 프로그램의 것인지 OS의 것인지를 구분하는데 사용된다.0 커널모드 : OS 코드

2022년 5월 27일
·
0개의 댓글
·

Page Size 결정

페이지 수 증가페이지 테이블 크기 증가내부 단편화 감소Disk transfer 효율성 감소Seek/rotation vs transfer필요한 정보만 메모리에 올라와 메모리 이용이 효율적Locality 의 활용 측면에서는 좋지 않음=> Larger Page Size가 T

2022년 4월 5일
·
0개의 댓글
·

Thrashing

메모리에 너무 많은 프로그램이 올라가 있어서 프로그램이 메모리를 너무 조금만 할당 받게 됨그 결과 페이지 폴트가 잦아짐 -> CPU 이용률 하락페이지 폴트를 처리하느라 정신이 없어짐프로세스의 원활한 수행에 필요한 최소한의 page frame 수를 할당 받지 못한 경우

2022년 4월 5일
·
0개의 댓글
·

OS 란?

운영체제는 HW와 응용프로그램 사이에서 인터페이스 역할을 하며 HW를 관리하고 시스템의 동작을 제어하는 시스템 소프트웨어이다.컴퓨터 시스템의 자원들을 효율적으로 관리할 수 있게 해주고, 사용자가 컴퓨터를 효과적이고 편리하게 사용할 수 있도록 환경을 제공해준다. 프로세스

2022년 3월 14일
·
0개의 댓글
·

가상 메모리

가상 메모리 프로그램이 실행되기 위해서는 물리 메모리에 올라와 있어야 하지만 프로그램 전체가 한꺼번에 메모리에 늘 올라와 있어야 하는 것은 아니다. 다음과 같은 예시가 있다. 잘 발생하지 않는 오류 상황을 처리하는 코드들은 거의 실행되지 않는다. arra

2022년 2월 9일
·
0개의 댓글
·

메모리 단편화

메모리 단편화 외부 단편화 메모리가 적재되고 삭제되는 것이 반복되다 보면 어떤 가용 공간은 너무 작아져 버린다. 이렇게 메모리 가용 공간이 작은 조각들로 단편화되어서 합치면 프로세스를 할당하기에 충분하지만 실제로는 할당할 수 없는 현상을 말한다. 내부 단편화 프

2022년 2월 8일
·
0개의 댓글
·

메모리 할당

메모리는 크게 OS 를 위한 부분과 사용자를 위한 부분으로 나뉜다. 보통, 여러 개의 사용자 프로세스를 메모리에 상주시키길 원하기 때문에 프로세스들에게 메모리를 할당하는 방법에 대해서 생각을 해봐야 한다.프로세스는 상한 레지스터(limit register)와 재배치

2022년 2월 7일
·
0개의 댓글
·

메모리 바인딩

프로그램은 원래 이진 파일의 형태로 디스크에 저장되어 있다. 프로그램은 로더(Loader)에 의해 메모리에 적재되어야 한다. 메모리 적재, 즉 메모리 바인딩에 대해서 알아보자.메모리 바인딩은 바인딩이 이루어지는 시점에 따라서 구분된다.프로세스가 메모리 내에 들어갈 위치

2022년 2월 7일
·
0개의 댓글
·

다중 처리기 스케줄링

여러 개의 CPU 사용이 가능하면, 여러 스레드가 병렬로 수행될 수 있으므로 부하 공유(Load Sharing) 가 가능해진다.: 마스터 서버(Master Server) 라는 하나의 처리기가 모든 스케줄링 결정과 I/O 처리, 다른 시스템의 활동을 처리하게 한다. 그

2022년 2월 7일
·
0개의 댓글
·

Scheduler

Job Queue : 현재 시스템 내에 있는 모든 프로세스들의 집합Ready Queue : 현재 메모리 내에서 CPU 를 할당받아 실행되기를 기다리는 프로세스들의 집합Device Queue : I/O 작업을 대기하고 있는 프로세스들의 집합프로세스는 종료될 때 까지 수

2022년 2월 6일
·
0개의 댓글
·

CPU Scheduling

CPU 를 사용하려는 프로세스들 사이의 우선순위를 관리하는 작업으로, 어떤 프로세스에 작업을 얼마나 할당할 지를 결정한다.CPU 스케줄링은 I/O 같은 자원을 사용할 수 없어 프로세스가 waiting상태로 진입한 동안 다른 프로세스가 CPU 를 사용할 수 있도록 해준다

2022년 2월 6일
·
0개의 댓글
·

IPC

세스가 시스템에서 실행 중인 다른 프로세스들에 영향을 주거나 받는다면 이는 협력적인 프로세스들이다. 프로세스 협력을 허용하는 허용하는 환경을 제공하는 데는 다음과 같은 이유가 있다.정보 공유(Information Sharing)여러 응용 프로그램이 동일한 정보(ex.

2022년 2월 3일
·
0개의 댓글
·