락 기반의 병행 자료 구조

가장 간단한 자료구조중 하나자료구조 호출할 때 락을 추가, 리턴할 때 락을 해제확장성이 떨어짐( 여러 쓰레드 동시실행하면 시간이 오래 걸린다)근사 카운터CPU마다 존재하는 지역카운터하나의 전역 카운터 존재기본 개념쓰레드는 지역 카운터 증가시킴지역 카운터는 지역 락에 의

2022년 11월 25일
·
0개의 댓글
·

22. 물리 메모리 크기의 극복

페이지 중 하나를 내보내야 한다면,,? 어떤 것을 내보내야 하는가최적미래를 예측함 ,,, 불가능 다른 교체 정책 비교할 때 사용FIFO먼저 들어온 것이 먼저 나감블럭들의 중요도 판단이 안됨... LRULeast-Recently-Used과거 사용 이력을 활용가장 오래전

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

20. 더 작은 페이징

너무 크면 많은 공간을 차지하게 된다...페이지 테이블 크기를 줄이려면 -> 페이지 크기를 증가시킨다!\-> 내부 낭비 공간이 증가 (내부 단편화)페이징과 세그멘테이션을 결합하여 페이지 테이블의 크기를 줄인다세그먼트마다 따로 페이지테이블을 둠\-> 여전히 페이지 테이블

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

19. TLB

주소 변환을 빠르게 하기 위해 Translation-Lookaside Buffer을 도입TLB는 MMU의 일부이다가상주소-실주소 변환정보를 저장하는 하드웨어 캐시가상 메모리 참조 시 TLB에 있는지 먼저 확인하게 됨있다면 빠른 변환 수행가상주소 추출 후 해당 VPN의

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

18. 페이징

운영체제 공간 관리문제 해결법1\. 가변크기 분할공간 자체가 단편화될 수 있음고정 크기 분할 (==paging)고정 크기 단위 : 페이지상응하는 물리 메모리 : 페이지 프레임운영체제는 프로세스마다 각 페이지에 대한 물리 메모리의 위치 기록을 위해 페이지 테이블 할당가상

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

16. 세그멘테이션

베이스-바운드 레지스터 방식은 메모리 낭비가 심함\-> 세그멘테이션 탄생MMU에 하나의 베이스와 바운드 값이 존재하는 것이 아니라 세그멘트 마다 베이스와 바운드 값이 존재 세그멘트 : 특정 길이를 가지는 연속적인 주소공간세그멘테이션을 사용해서 각 세그먼트를 물리 메모리

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

15. 주소 변환의 원리

제한적 직접 실행방식(LDE)에 부가적으로 사용되는 기능가상주소가 실제로 사용하는 물리주소로 변환됨하드웨어가 주소를 변환해주지만 젇확한 변환을 위해서는 OS가 메모리의 빈 공간과 사용중인 공간을 알고 있어야 하고 메모리 사용을 제어해야함두개의 레지스터 사용 ( base

2022년 10월 27일
·
0개의 댓글
·
post-thumbnail

13. 주소 공간

운영체제는 메모리 0부터 존재물리메모리에 하나의 실행중인 프로그램 존재, 나머지 메모리 사용특별한 가상화 없음여러 프로그램이 실행 상태운영체제가 이들을 번갈아가면서 실행 -> CPU의 이용률 증가오랜 시간이 걸리는 프로그램-디버그 사이클에서 일괄 처리방식의 한계를 느낌

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

multiprocessor scheduling

multicore : 여러개의 CPU 코어가 하나의 칩에 내장응용 프로그램을 병렬로 실행해야함\-> 보통은 multi thread를 이용멀티 프로세서 스케줄링은 어떻게 하는가 문제 발생차이점하드웨어 캐시의 사용방식메인 메모리에서 데이터를 가져오게 되면 오랜 시간이 걸리

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

Propotional Share

Propotional Share 반환시간, 응답시간 최적화 대신 각 작업에게 CPU의 일정비율을 보장하는 것이 목적 ex) 추첨 스케줄링 (lottery scheduling) 말그대로 추첨을 통해 실행될 프로세스 결정 더 자주 실행되어야 하는 프로세스는 당첨기회 더

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

Multi-level Feedback Queue, MLFQ

해결하고자 한 문제 짧은 작업 먼저 실행시켜 반환시간 최적화 대화형 사용자에게 응답시간 최소화 제공 기본 구성 여러개의 큐로 구성되어있다 큐마다 각각 다른 priority level(우선순위) 배정됨 각 작업의 특성에 따라 동적으로 우선순위 부여! 기본 규칙

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

Scheduling

프로세스가 동작하는 일련의 행위를 말함가정..모든 작업은같은 시간동안 실행됨동시에 도착함일단 시작하면 종료될 때까지 실행됨CPU만 사용 (입출력 하지않음)실행시간은 사전에 알려져있음turnaround time (반환시간)작업이 완료된 시각 - 작업이 도착한 시각성능 측

2022년 9월 15일
·
0개의 댓글
·
post-thumbnail

Limited Direct Execution

여러 프로세스를 동시에 실행되는 것처럼 보이기 위해서는 CPU 공유는 불가피\-> CPU 시간을 나누어 사용해야한다문제점 발생성능 저하제어 문제CPU 통제 유지하면서 프로세스를 효율적으로 사용해야함,, 중요그냥 cpu에서 실행하는것직접 실행할 때...프로그램이 OS가

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

프로세스

실행중인 프로그램여러 프로세스를 동시에 실행하려면..?\-> 운영체제를 통해 CPU를 가상화한다== 시분할 (time sharing)이를 위해 도구, 지능이 필요함도구 = 메커니즘ex) context switch(문맥 교환)프로그램 실행하던 것을 잠시 멈추고 다른 프로

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

운영체제

시스템을 사용하기 편리하게 관리해주는 소프트웨어운영체제가 프로세서, 메모리, 디스크와 같은 물리적 자원의 접근을 위해 위의 자원들을 이용한 가상 형태의 자원을 생성이를 다른 프로그램들이 사용할 수 있도록 운영체제는 API를 제공한다 = 수백개의 시스템콜여러 프로그램이

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