20.페이지 테이블, 주소변환/페이징에서의 주소변환
페이지 테이블, 주소변환 주소변환?컴퓨터에는 CPU, 메모리, 보조기억장치가 존재.파워를 켜면 메모리 안에 OS가 들어오고 요청하는 대로 프로그램들이 메모리로 들어온다.프로그램들이 연속으로 들어갈 경우 외부단편화 문제가 발생한다. 그래서 메모리를 프레임 단위로 쪼개서 넣는다. 프로세스들은 흩어져서 프레임 단위로 저장된다. 이것이 가능한것은 CPU와 메모리
페이지 테이블, 주소변환 주소변환?컴퓨터에는 CPU, 메모리, 보조기억장치가 존재.파워를 켜면 메모리 안에 OS가 들어오고 요청하는 대로 프로그램들이 메모리로 들어온다.프로그램들이 연속으로 들어갈 경우 외부단편화 문제가 발생한다. 그래서 메모리를 프레임 단위로 쪼개서 넣는다. 프로세스들은 흩어져서 프레임 단위로 저장된다. 이것이 가능한것은 CPU와 메모리
메모리 낭비를 줄이기 위한 기법1.Dynamic Loading2.Dynamic Linking3.Swapping 연속 메모리 할당최초의 컴퓨터는 프로세스가 하나만 올라갔다. 그이 후 O/S가 올라가게 되었다.하나의 운영체제에 여러개의 프로세스가 도는것이 다중프로그래밍. 즉 멀티프로그래밍이라 한다.부팅을 하면 메모리가 비어있다가 OS가 자리잡게된다.
컴퓨터에서 메모리는 CPU 만큼 중요하다.하드디스크에 파일들이 들어있다. 파워를키면 OS가 메인메모리에 올라가고 특정 프로그램을 실행시키면 그 프로그램이 메인메모리로 올라간다. 이 메모리를 어떻게 잘 관리할것인가가 메모리 매니지먼트 실행파일을 메모리에 올리기src-obj-exe 메모리 몇 번지에?다중 프로그래밍 환경에서는? 항상 똑같은 곳에 올리는것을 보장
CPU / 메모리 / 보조기억장치가 존재.O/S는 프로세스 관리를한다. CPU 관리를 하는데 이를 프로세스 매니지먼트라함.또한 O/S는 메모리 관리 즉 메모리 매니지먼트를 한다. OS : 하드웨어를 어플리케이션이 활용할 수 있도록 함.CPU 자원을 나눠주는 곳 : 프로세스 매니지먼트메인메모리를 관리하는곳 : 메모리 매니지
모니터동기화 도구로 세마포어를 배웠다. 세마포어는 조금 오래된 동기화 도구인데 지금은 모니터를 많이쓴다. 주로 자바에서 많이쓴다.즉 세마포 이후 프로세스 동기화 도구 이며 세마포 보다 고수준 개념 세마포어의 구조정수변수, 큐, P(acquire)동작, V(release)동작 모니터의 구조공유자원 , 공유자원 접근함수 , 2개의 큐 2개의 큐?하나는 배타동기
교착상태발생이유 : 프로세스들이 자원을 많이 필요로 한다. 하지만 누가 사용하고 있으면 기다려야한다.이러한 형태가 원을 이루면 교착상태가 발생한다. 교창상태 필요조건.Mutual exclusion (상호배타) : 자원을 서로 공유하지 못함Hold and wait (보유 및 대기) : 하나를 잡고있으면서 다른것을 원함No Preemption (비선점) : 다
읽기-쓰기 문제, 식사하는 철학자 문제 Reader & WriterDB 읽기만 하는 프로세스 DB를 바꾸는 프로세스 A가 DB를 읽고 있을 때 B가 읽을 수 있다.즉 한 프로세스가 DB를 읽을 때 다른 프로세스도 읽을 수 있게 허용해줘야 한다. The first R/W problem (readers-preference)리더가 있으면 라이터가
OS에서 가장중요한게 프로세스 관리이중 CPU 스케줄링, 프로세스 동기화가 중요하다.이때 임계구역 처리를 잘해야한다. 전통적 동기화 예제1.Producer and Consumer Problem(생산자-소비자 문제, 유한버퍼 문제 (Bounded Buffer Problem))2.Readers-Writers Problem(공유 데이터베이스 접근)3.Dining
프로세스 관리에서 중요한것들CPU 스케줄링 : 이전포스팅 참고 프로세스(쓰레드) 동기화필요이유 : 보통컴퓨터 안에있는 프로세스들은 독립적이지 않고 협조적이므로 즉 공통된 자원에 접근함동기화가 되지 않으면? : 누군가는 계속 입금하고 누군가는 출금하는 로직이 있을 때 다 더한값이 0이 아닐 수 있다.임계구역 : 공통적으로 사용되는 부분 임계구역 문제 해결
임계구역 문제(critical-section problem)여러개의 쓰레드로 이뤄진 시스템에서 각각의 쓰레드는 코드영역을 갖고있는데 이를 크리티컬 섹션이라한다. 또한 쓰레드로 부터 공통으로 사용되고 변경될 수 있는 부분을 의미한다. 어떤 복수개의 쓰레드들이 공통적으로 사용하는 부분. 임계영역 해결이를 해결하기 위해 다음 세가지가 만족되어야 한다. Mutua