일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JUCE library
- Docker
- 자료구조
- 알고리즘
- go channel
- 공룡책
- tour of go
- JUCE라이브러리
- 연결리스트
- C++ gui 라이브러리
- 프로그래밍
- 리듬게임
- go
- a tour of go
- c++ heap
- C++ library
- JUCE
- C++ gui
- C++
- gui
- OS
- 백준
- 코딩
- LOB
- C언어
- JUCE 튜토리얼
- Nebula
- 운영체제
- vim-go
- BOJ
- Today
- Total
목록OS (5)
CafeM0ca
챕터5 CPU 스케줄링 CPU가 놀고 있으면 ready queue에서 프로세스를 뽑아서 실행시킨다. 이 작업은 CPU 스케쥴러가 담당한다. ready queue는 우선순위 큐, 트리, 단방향 링크드 리스트로 구현될 수 있다. ready queue에는 PCB가 들어 있다. CPU burst : 프로세스가 cpu를 사용하는 시간 dispatcher CPU 스케줄링의 포함된 기능중 디스패처가 있다. 디스패처는 CPU 스케줄러가 선택한 프로세스에 cpu 코어를 제어하는 모듈이다.(?) 한 프로세스에서 다른 프로세스로 context을 교환하는 일 사용자 모드로 전환하는 일 프로그램을 다시 실행하기 위해 사용자 프로그램의 알맞은 위치로 jumping하는 일 디스패처는 모든 context switch에서 발생하므로 ..
챕터4 연습문제 1번 : 멀티스레딩이 싱글스레딩 보다 성능이 좋은 프로그래밍 예시 3가지를 드시오 독립된 일들을 각각 스레드에게 맡길 때 task의 밸런스를 맞출 수 있고 데이터의 의존성을 식별할 수 있다.(network I/O, UI 렌더링 같은 일을 동시에 처리할 때) (테스크 병렬) 응답성, 자원 공유, 경제성, 규모성 data 단에서 데이터를 나눠서 스레드로 처리할 때 (데이터 병렬) 2번 : 암달의 법칙을 사용해서 어플리케이션이 60% 병렬 컴포넌트를 갖고 있을 떄 (a)2개의 프로세스 코어를 사용할 때와 (b)4개의 프로세르 코어를 사용할 때 값을 계산하세요. (a) 1 / ((1 - 60%) + 0.6 / 2) = 1 / (0.4 + 0.3) = 1 / (0.7) = 10 / 7 = 1.43..
3.1) 3.30 Figure를 보고 LINE A의 결과물이 무엇인지 설명하세요. 코드를 실행하면 위와 같은 결과가 나온다. 의문점은 pid = fork()를 통해서 자식프로세스도 똑같은 코드를 갖게 될 텐데, 재귀적으로 fork()를 하는거라고 생각할 수 있다. forum.falinux.com/zbxe/index.php?mid=C_LIB&document_srl=412814 에 따르면 fork된 자식 프로세스는 딱 하나가 다른데, pid = fork()한 부분이 없어지고 pid = 0으로 갖게 된다. wait(NULL)은 자식 프로세스를 기다린다. 3.2) 부모프로세스에서 초기화를 포함하면 Figure 3.31에서는 얼마나 많은 프로세스가 생성되나요? 초기 부모프로세스 1개 첫번째 fork()에서 부모 ..
Operating System Concepts 8판 -한국어 답은 모카의 주관적인 생각이다. 참고만 하고 오타, 문제가 있으면 댓글로 남겨주시길 1.1 네트워크 컴퓨터와 전형적인 개인용 컴퓨터의 차이는 무엇인가? 네트워크 컴퓨터를 사용하는 것이 유리한 사용 시나리오를 설명하시오. - 결정적인 차이는 '효율'이다. 네트워크 컴퓨터는(Network Computer 이하 NC) 작은 메모리와 최소한의 연산이 가능한 CPU(성능이 떨어지는)를 가지고 있다. NC의 핵심은 모든 처리를 서버에 넘기는 점이다. 이 때, 서버 컴퓨터는 '어마어마한 성능을 가지고 있다'고 가정한다. 때문에 개인용 컴퓨터(Personal Computer 이하 PC)의 고성능 CPU를 사용하지 않아도 서버 컴퓨터를 통해 작업할 수 있어서 ..
프로세서: 하드웨어적으로 프로그램을 수행함 (네트워크 장비,디지털 미디어 장비 등)프로세스: 프로세서에 의해 실행 중인 프로그램인터럽트: 하드웨어&소프트웨어의 이벤트가 발생할 때 CPU가 처리할 수 있게 하는 것.인터럽트 핸들러: 인터럽트에 대응하여 특정 기능을 처리하는 기계어 코드 루틴인터럽트 벡터: 인터럽트 핸들러의 메모리 위치인데 인터럽트 우선순위를 지정하고 만약 둘 이상의 인터럽트가 처리 대기중이면 대기열에 저장함. 트랩(trap): 프로세서가 특정 시스템 기능을 사용하려 할 때 운영체제한테 요청하는 방법