본문 바로가기

cs

20강 Memory Management 3 https://core.ewha.ac.kr/publicview/C0101020140502151452123728?vmode=f 반효경 [운영체제] 20. Memory Management 3 설명이 없습니다. core.ewha.ac.kr 전수업에서는 2단계의 페이지 테이블이 돌아가는것을 봤는데 페이지 테이블이 2단계 만이 아니라 다단계로 사용할수도 있다. 이러면 테이블을 위한 공간을 줄일수 있는데 그만큼 주소변환 한번 할때마다 페이지 테이블을 여러번 거쳐야하고 페이지테이블이 메모리에 있기때문에 4단계 페이지 테이블이라면 5번 메모리에 접근해야하는 문제가 있다. TLB를 이용해서 줄일수있지만 미스가 나면 오버헤드가 크긴하다. 하지만 대부분 TLB내에서 해결되는 편이라서 이런 멀티레벨 페이지 테이블도 가능하다... 더보기
19 강 Memory Management 2 https://core.ewha.ac.kr/publicview/C0101020140429132440045277?vmode=f 반효경 [운영체제] 19. Memory Management 2 설명이 없습니다. core.ewha.ac.kr 물리적인 메모리 관리 기법중 불연속적 할당중 paging 부터 살펴볼것이다. 우선 주소 변환(바인딩) 이 기존의 간단하게 두개의 레지스터로 하는방법은 더이상 사용할수 없음 -> 어디에 어떻게 페이지들이 올라가있는지 파악해야함 프로그램을 구성하는 논리적인 메모리를 동일한 크기의 페이지로 잘라서 각각의 페이지를 물리적 메모리의 적당한위치(비어있다면 어디든) 올라갈수 있게해주는 기법이다. 페이징에서 주소 변환(바인딩)을 하기위해 page table 라는것이 사용된다. page t.. 더보기
18강 Memory Management 1 https://core.ewha.ac.kr/publicview/C0101020140425151219100144?vmode=f 반효경 [운영체제] 18. Memory Management 1 설명이 없습니다. core.ewha.ac.kr 이제 메모리 관리 부분에 들어간다. 메모리라는 것은 주소로 접근하는 매체이다 그래서 메모리에는 주소가 매겨진다. 주소에는 두가지 종류가 있다. 1. 논리적 주소(가상주소) 프로그램마다 가지고있는 메모리 주소 각 프로세스가 시작할때 0번지부터 시작하는 가상주소를 가지고 있다. 2. 물리적 주소 실제 물리적인 메모리의 주소 메모리에 프로그램이 어디에 올라가는 가이다. -> 물리적인 메모리는 0번지부터 (하나로 관리된다) 물리적인 메모리 아래부분에는 운영체제 커널이 들어가있고 상.. 더보기
17강 Deadlocks 2 https://core.ewha.ac.kr/publicview/C0101020140415131030840772?vmode=f 반효경 [운영체제] 17. Deadlocks 2 설명이 없습니다. core.ewha.ac.kr 지난 시간에 봤던 부분부터 다시 시작한다. 이제 살펴볼 두가지방법은 데드락을 일단은 나오든 말든 방치하는것이다 -> 데드락은 자주나오는 이벤트가 아니기 때문에 미연에 방지하기위해 비효율적인 방법을 쓰는것이 더 안좋다 Deadlock Detention and recovery 일단 데드락이 일어나든 말든 냅뒀다가 데드락이 발생한것 같은경우 이제 데드락을 찾아내서 고쳐주는 방식이다. detection 의 경우 자원이 1개씩 있는경우 그래프를 이용해서 detection을 한다. a 그래프에서 자.. 더보기
16강 Deadlocks 1 https://core.ewha.ac.kr/publicview/C0101020140411151510275738?vmode=f 반효경 [운영체제] 16. Deadlock 1 설명이 없습니다. core.ewha.ac.kr 데드락 : 한국말로 교착상태이다. 뭐 어떻게든 방법이없게 막혀있는 상황이다 도로보면 뭐 방법이없다. 기존에 데드락 상황을 보면 서로 젓가락 한짝씩 잡고 밥먹겠다고 하는 상황이다. 데드락: 일련의 프로세스들이 서로 자원을 쥔상태에서 상대가 가진 자원을 요구해서 서로 아무일도 하지못하는 교착상태이다. 자원은 하드웨어 자원일수도, 소프트웨어 자원일수도 있다. 하드웨어 프로세스가 할작업은 A하드에서 B하드에 옮기는 작업인데 각 프로세스들이 A랑 B를 각각 가져간다면 그상태로 둘다 잠들어 버릴것이다.. 더보기
15강 Process Synchronization 4(Concurrency Control) https://core.ewha.ac.kr/publicview/C0101020140411143154161543?vmode=f 반효경 [운영체제] 15. Process Synchronization 4 설명이 없습니다. core.ewha.ac.kr process synchronization(프로세스 동기화)를 concurrency control(병행 제어) 이라고 부르기도 한다고한다 -> 프로세스가 동시에 무언가를 실행하면서 나타나는 문제를 해결하는것이므로 용어는 다양하게 나타낼수있다. 프로그래머 관점에서 이러한 문제들을 해결할수있는 방법으로 세마포어가 있는것이고 세마포어 오류에대한 대안으로 프로그래밍 언어차원에서 제시하는것이 모니터이다.(우리는 자바에있는것 사용해야할것 같음) 모니터에서 프로세스가 활성화된.. 더보기
14강 Process Synchronization 3 https://core.ewha.ac.kr/publicview/C0101020140408134626290222?vmode=f 반효경 [운영체제] 14. Process Synchronization 3 설명이 없습니다. core.ewha.ac.kr 전 강의 정리~~~ 세마포어 변수값 1이라면 자원에 lock을 거는데 활용할수 있다.(mutex 용도) 변수값이 5,10 이러면 남아있는 자원의 갯수를 세는 용도가 된다. synchronization 관련하여 3가지의 고전적인 문제를 살펴볼 것이다. 1.Bounded Buffer Problem bounded buffer(buffer의 크기가 유한한 상태)환경에서 producer-consumer problem(생산자 소비자 문제) buffer : 임시로 데이터를 저.. 더보기
13강 Process Synchronization 2 https://core.ewha.ac.kr/publicview/C0101020140404151340260748?vmode=f 반효경 [운영체제] 13. Process Synchronization 2 설명이 없습니다. core.ewha.ac.kr 자 대망의 세마포어 세마포어에대한 설명한다함 추상자료형? -> object 랑 operation 으로 구성된다. 정수 추상자료형이라 하면 정수 숫자 자료형이 있고 그 숫자에 대해 정의된 연산이 어떤게 있는가? 덧셈 뺄셈 곱셈 등등 있는것처럼 추상자료형은 논리적으로 정의하는것이지 컴퓨터에서 실제로 어떻게 구현되는지에 대해서는 별개의 이야기이다. 정리하자면 추상자료형은 뭐 어떻게 구현하던간에 어떤일을 하는건지 정의해놓는건데 +가 어떻게 실제로 더해서 돌려주는지 내알바.. 더보기