CS공부
-
segmentationCS공부/운영체제 2022. 10. 14. 23:35
segmentation 분할 1. address space를 logical segments로 분할 segment: 특정 길이를 가지고 있는 연속적인 주소공간 address space공간에서 논리적인 단위(code,stack,heap)로 segentaiton 각 segmet는 독립적으로 함 physical memory의 서로 다른 부분에 할당 -공간을 키우거나 줄이거나 할 수 있음 -각각의 segment에 대한 base,bounds값이 필요하게 됨 2. physical address = offset+ base offset = virtual address - start address of segment 힙에서 얼만큼 떨어져있는지 offset 3. segmentation fault or violation he..
-
주소 변환 address translationCS공부/운영체제 2022. 10. 14. 21:45
1.메모리 가상화(memory virtualizing) limite direct execution (LDE)과 같이 유사한 전략을 사용 효율성과 control을 갖추려면 hardware 지원을 받아야함 2. 주소 변환 적용 vitual address -> physical address 매핑 시 주소 변환 적용 하드웨어를 설정하기 위해서는 운영체제가 관여: 메모리를 관리하기 위해서 관여, 물리적인 메모리공간에서 어떤 위치가 비어있고 사용하고 있는지 track -가정을 토대로 수행하게 됨 1) 연속된 형태로 매핑 2) address space공간의 크기< physical memory 3) address space 크기가 같다 3. address space는 address 0 부터 시작하지만 physical ..
-
Multiprocessor SchedulingCS공부/운영체제 2022. 10. 14. 18:18
Multiprocessor Scheduling 1. multicore: 다수의 cpu코어가 하나의 single chip에 내장 cpu가 증가한다고 더 빨라지는 것은 아니다. thread를 이용해 병렬로 동작하게 해야함 2. Cache(SRAM) Main Memory(DRAM) -정적으로 동작 -메인메모리에서 자주 사용되는 데이터의 복사본을 저장 -전원을 공급되고 있는 한 내용을 저장 -접근속도가 빠르지만 가격이 비싸고 집적도가 낮아서 대량제작이 어렵고 구조가 복잡 -시간 지역성: 데이터에 한번 접근하면 가까운 시일내에 똑같은 데이터를 다시 접근하기 쉬움 -공간 지역성: 특정 X주소에 접근했을 때 주변 데이터를 접근하게 쉬움 -실제 느린 메모리를 빠르게 보이게끔 만들어줌 -데이터들을 저장 -캐시메모리에 비..
-
Multi-level Feedback QueueCS공부/운영체제 2022. 10. 14. 17:12
MLFQ 1.Goal -turnaround time 최적화 -response time 최소화 : RR는 responsetime은 최소화할 수 있지만 turnaroundtime은 안좋았음 2.정보없이 스케쥴링 할 수 있는 방법이 무엇인가 해서 개발하게됨 과거 데이터를 기반으로 미래를 예측하는 것을 어떻게 할지 ? 3.프로세스는 다양한 큐사이에서 움직일 수 있음 (다른큐로 이동가능 각각의 큐에서는 독립적으로 실행가능) 4. 서로 다른 큐를 가짐 -각각의 큐는 서로 다른 우선순위를 가짐 -더 높은 우선순위가 먼저 실행 5. Rule 1: if Priority(A) > Prioriy(B), A runs (B doesn't) Rule 2: if Priority(A) = Prioriy(B), A&B run in R..
-
정렬CS공부/알고리즘 2022. 10. 13. 22:49
분할 정복법 (Divide and Conquer) 탐욕 알고리즘 (Greedy) 동적 계획법 (Dynamic Programming) 알고리즘 응용 정렬 알고리즘 선택 정렬, 거품 정렬, 삽입 정렬 분할 정복법 (Divide and Conquer) 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법 ex)퀵 정렬, 합병 정렬, 이진 탐색 분할된 문제는 서로 독립적이다. 분할된 작은 문제는 원래 문제와 성격이 동일하다 => 입력 크기만 작아짐 1) divide : 원래 문제를 분할하여 더 작은 하위 문제로 분할이 가능할 때까지 나눈다. 2) conquer: 하위 문제를 재귀적으로 해결 3)combine: conquer한 문제들을 통합하여 원래 문제의 답을 얻ㅇ 해결 장점 top-down..