일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- PANDAS
- 정렬
- 국민대
- 프로그래머스
- machine learning
- OS
- Seq2Seq
- 국민대학교
- Python
- Stack
- 스택
- SQL
- LSTM
- Regression
- Heap
- 재귀
- 회귀
- googleapiclient
- instaloader
- kmu
- db
- 파이썬
- python3
- 머신 러닝
- gan
- programmers
- 데이터베이스
- C++
- GIT
- 운영체제
- Today
- Total
목록개념 정리/운영체제 (5)
정리 노트

운영 체제의 scheduling 정책들을 알아보기 전에 프로세스에 대해 다음과 같이 가정합시다. 모든 프로세스가 CPU를 사용하는 시간이 똑같다. 모든 프로세스가 동시에 도착한다. 한 번 시작한 프로세스는 끝날 때까지 CPU를 사용한다. 프로세스는 I/O 요청 등 없이 CPU만 쓴다. 프로세스가 끝날 시간을 알고 있다. 현실에서는 절대 있을 수 없는 가정들이지만 정책들을 살펴보기 위해 일단 이렇게 가정하고 시작합시다. 그리고 2가지의 측정 기준을 정의합니다. Turnaround Time: 반환 시간(끝난 시간 - 도착 시간) Response Time: 응답 시간(스케줄링된 시간 - 도착 시간) 1. FIFO(First In First Out) 가장 기본적이고 쉽게 구현할 수 있는 정책입니다. 정책을 살펴..

이 포스트는 국민대학교 소프트웨어학부 '운영체제' 강의를 듣고 요약하는 포스트입니다. 원하시는 정보가 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적은 매우 환영합니다! OS가 CPU 자원을 프로세스에 할당하는 방법으로 타이머를 사용합니다. 타이머도 일종의 장치이므로 CPU에게 interrupt를 걸 수 있고, 똑같이 trap handler로 진입합니다. Trap handler는 현재 진행 중인 프로세스를 중단하고 다른 프로세스로 바꿉니다. 이러한 동작을 context switch라고 합니다. 출처: https://pages.cs.wisc.edu/~remzi/OSTEP/cpu-mechanisms.pdf, 8쪽 A timer device can be programmed to raise an inte..

이 포스트는 국민대학교 소프트웨어학부 '운영체제' 강의를 듣고 요약하는 포스트입니다. 원하시는 정보가 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적은 매우 환영합니다! Direct Execution 해석하면 '직접 실행'입니다. 이는 성능을 위해서 CPU가 사용자 프로그램이던, 운영 체제던 직접 처리한다는 것을 의미합니다. 조금 다르게 얘기하면 CPU에 있는 PC 레지스터가 가리키는 값이 user code 부분을 가리켜서 CPU가 사용자 프로그램을 직접 실행한다는 이야기입니다. 출처: https://pages.cs.wisc.edu/~remzi/OSTEP/cpu-mechanisms.pdf, 1쪽 (전략)“direct execution” part of the idea is simple: just r..

이 포스트는 국민대학교 소프트웨어학부 '운영체제' 강의를 듣고 요약하는 포스트입니다. 원하시는 정보가 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적은 매우 환영합니다! 프로세스의 정의 프로세스는 쉽게 말해 실행되고 있는 프로그램입니다. 출처: https://pages.cs.wisc.edu/~remzi/OSTEP/cpu-intro.pdf, 1페이지 The definition of a process, informally, is quite simple: it is a running program. 예를 들어 지금 이 블로그를 보고 있는 인터넷 브라우저도 프로세스, 게임도 프로세스, 음악을 재생하고 있는 프로그램도 프로세스입니다. 저희는 여러 프로그램들을 동시에 켜놓고 컴퓨터를 하고 있을 때가 많습니다..
이 포스트는 국민대학교 소프트웨어학부 '운영체제' 강의를 듣고 요약하는 포스트입니다. 원하시는 정보가 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적은 매우 환영합니다! 이번 포스트에서는 운영 체제를 공부한다면 기본적으로 알아야 할 3가지에 대해 소개하는 느낌으로 적었습니다. 1. 가상화(Virtualizing) 1-1. CPU 가상화(Virtualizing CPU) 아래에 C 언어로 작성한 간단한 코드가 있습니다. // Source: https://github.com/remzi-arpacidusseau/ostep-code/blob/master/intro/cpu.c #include #include #include "common.h" int main(int argc, char *argv[]) { i..