일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- docker
- OS
- TypeScript
- Express
- ubuntu
- css
- postman
- linux
- Scheduling
- AWS
- DATABASE
- Crawling
- S3
- macos
- OOAD
- mysql
- python
- Util
- MongoDB
- wireshark
- HTML
- node.js
- Network
- Kotlin
- typeorm
- sequelize
- Android
- React
- algorithm
- mongoose
- Today
- Total
목록
반응형
Operating System (9)
SW

서론 이번 글에서는 페이지 교체 알고리즘의 종류 중에서 LRU(Least Recently Used) 알고리즘의 동작 원리를 알아보고자 한다. 이전 포스팅 글에서 페이지 교체 알고리즘의 종류인 FIFO에 관한 내용들 다루었으므로, FIFO의 개념과 동작 원리에 대해서 궁금하신 분들은 아래 글을 참고하면 좋을 것 같다. [OS] 페이지 교체 알고리즘 - FIFO [OS] 페이지 교체 알고리즘 - FIFO 서론 이번 글에서는 페이지 교체 알고리즘 중 가장 단순한 알고리즘인 FIFO(First In First Out) 알고리즘의 동작 원리를 알아보고자 한다. FIFO(First In First Out) Algorithm 페이지 교체 알고리즘에서 FIFO는.. limsw.tistory.com LRU(Least R..

서론 이번 글에서는 페이지 교체 알고리즘 중 가장 단순한 알고리즘인 FIFO(First In First Out) 알고리즘의 동작 원리를 알아보고자 한다. FIFO(First In First Out) Algorithm 페이지 교체 알고리즘에서 FIFO는 가장 먼저 메모리에 적재된 페이지를 먼저 내보내는 방식의 알고리즘이다. FIFO 알고리즘이 가지는 특징은 다음과 같다. 단순하며 구현하기가 쉽다. 지역성(Locality)을 고려하지 않는다. 사용 패턴 분석을 하는 것이 아니라 단순히 오래된 것을 교체한다. 메모리를 늘렸을 때 성능이 안좋아질 수 있다. 들어온 시간 혹은 순서를 Queue에 저장함으로써 구현할 수 있다. 예제를 통해서 FIFO 알고리즘을 이해해보자. 페이지 프레임은 3개로 구성되어 있으며 초..

서론 이번 글에서는 운영체제의 프로세스 스케줄링 기법 중 하나인 HRN 스케줄링에 대하여 살펴본다. HRN 스케줄링을 이해하기 위해서는 선수 지식으로 SJF(Shortest Job First) 스케줄링 기법에 대한 개념이 필요하다. SJF 스케줄링에 대한 이해가 부족한 분들은 아래 글을 참고하면 좋을 것 같다. [OS] 최단 작업 우선 스케줄링(SJF) 이란? [OS] 최단 작업 우선 스케줄링(SJF) 이란? SJF(Shortest Job First) Scheduling ? 최단 작업 우선 스케줄링(Shortest Job First Scheduling)은 평균 대기 시간을 최소화하기 위해 CPU 점유 시간이 가장 짧은 프로세스에 CPU를 먼저 할당하는 방식이며, CPU.. limsw.tistory.com..

서론 [OS] 프로세스 응답 시간(Response Time) 측정 방법 [OS] 프로세스 응답 시간(Response Time) 측정 방법 서론 이버 글에서는 프로세스 스케줄링 기법을 선택할 때 중요한 요소가 되는 응답 시간(Response Time)에 대해서 알아보고자 한다. 응답 시간은 일반적으로 대화형 시스템에서 입력에 대한 반응 시 limsw.tistory.com 이전 글에서 Shortest Job First(SJF) 스케줄링 기법을 적용했을 때 응답 시간을 구하는 방법을 살펴보았다. 해당 예제의 경우 평균 응답 시간은 5초였다. 그러나 응답 시간이 5초라는 것은 매우 비효율적이었고, 그래서 이번 글에서는 이러한 단점을 보완하기 위해 나온 RR(Round Robin) 스케줄링 기법을 알아보고자 한다..

서론 이버 글에서는 프로세스 스케줄링 기법을 선택할 때 중요한 요소가 되는 응답 시간(Response Time)에 대해서 알아보고자 한다. 응답 시간은 일반적으로 대화형 시스템에서 입력에 대한 반응 시간을 의미한다. 예를 들어, 사용자가 마우스를 움직였을 때 3초 뒤에 커서가 움직였다면 해당 시스템에서 입력에 대한 반응 시간은 3초라고 할 수 있다. SJF(Shortest Job First) 스케줄링 기법의 응답 시간 먼저, SJF(Shortest Job First) 스케줄링 기법을 통해 해당 프로세스의 응답 시간을 알아보자. SJF 스케줄링에 대한 이해가 필요한 분들은 여기를 참고하면 좋을 것 같다. 위 프로세스 특징은 다음과 같다. 3개의 프로세스는 모두 0초에 도착한 프로세스이다. 프로세스 작업량이..

FIFO (First In First Out) 스케줄링이란? FIFO 스케줄링 방식은 스케줄링 기법중 가장 간단한 방법으로 자료구조 큐(Queue)와 같은 원리를 가진 스케줄링 기법이다. 자료구조 큐의 원리는 처음 들어온 작업이 먼저 실행 되는 구조이며 FIFO 스케줄링 기법도 마찬가지로, 들어온 작업이 어떤 것이든 먼저 들어온 작업이 먼저 수행되고 해당 작업이 모두 끝난 후에 뒤에 들어온 작업이 수행된다. 예시를 통해서 FIFO 스케줄링 기법을 이해해보자. 해당 프로세스는 다음과 같은 특징을 가지고 있다. A,B,C 3개의 프로세스는 모두 0초에 동시에 도착했다. 동시에 도착한 프로세스가 있다면 알파벳 순서대로 CPU를 할당 받아 작업을 수행한다. 다음과 같은 특징을 가지는 3개의 프로세스가 존재할 때..

서론 이번 글은 이전에 포스팅한 SJF 스케줄링 기법과 연결되는 내용으로 STCF 스케줄링을 이해하기 위해서는 아래 글을 먼저 참고하는 것을 권장한다. [OS] 최단 작업 우선 스케줄링(SJF) 이란? [OS] 최단 작업 우선 스케줄링(SJF) 이란? SJF(Shortest Job First) Scheduling ? 최단 작업 우선 스케줄링(Shortest Job First Scheduling)은 평균 대기 시간을 최소화하기 위해 CPU 점유 시간이 가장 짧은 프로세스에 CPU를 먼저 할당하는 방식이며, CPU.. limsw.tistory.com Shortest Time to Completion First(STCF) 스케줄링 이란? 어떤 프로세스가 수행되고 있을 때 새로운 프로세스가 도착한 경우, 기..

SJF(Shortest Job First) Scheduling ? 최단 작업 우선 스케줄링(Shortest Job First Scheduling)은 평균 대기 시간을 최소화하기 위해 CPU 점유 시간이 가장 짧은 프로세스에 CPU를 먼저 할당하는 방식이며, CPU 스케줄링 알고리즘으로 평균 대기시간을 최소로 만드는 걸 최적으로 두고 있는 알고리즘이다. SJF 특징 요구 시간이 긴 프로세스가 요구 시간이 짧은 프로세스에게 항상 양보하기 때문에 기아 상태가 발생할 수 있다. 기아 상태(starvation) : 특정 프로세스의 우선 순위가 낮아, 원하는 자원을 할당 받지 못하는 상태 대기 상태(waiting)에 있는 프로세스의 요구시간에 대한 정확한 자료를 얻기 어렵다는 문제점이 존재한다. 단기 스케줄링 보다..

서론 최근에 파이썬으로 멀티쓰레딩을 구현하는 방법을 공부한 적이 있었는데 스레드의 개념이 머릿속에 확실히 정립되지 않았다. 작년에 운영체제 수업을 들으며 분명히 배운 기억은 나는데 시간이 지나면서 많이 까먹은 것 같다. 그래서 이번 글에서는 스레드, 멀티 스레드의 개념을 살펴보고 스레드가 가지는 특징들은 무엇이 있는지 알아보고자 한다. 스레드란 무엇일까? 스레드(thread)란 프로세스(process) 내에서 실제로 작업을 수행하는 주체로 모든 프로세스는 한 개 이상의 스레드를 가지고 있다. 프로세스 내에서 2개 이상의 스레드를 가지고 있는 경우 해당 프로세스는 멀티 스레드를 포함하고 있다고 볼 수 있다. 스레드의 정의를 조금 더 쉽게 설명하자면, 스레드는 프로세스가 CPU로부터 할당받은 자원을 이용하는..