본문 바로가기

CS/os4

페이징 페이징 시스템 개념 크기가 동일한 페이지로 가상 주소 공간과 이에 매칭하는 물리 주소 공간을 관리 페이지 번호를 기반으로 가상 주소/물리 주소 매핑 정보를 기록/사용 프로세스의 PCB에 Page Tbale 구조체를 가리키는 주소가 들어 있음. Page Table에는 가상 주소와 물리 주소간 매핑 정보가 있음. 페이지 시스템 구조 page 또는 page frame: 고정된 크기의 block (4kb) paging system 가상 주소 v = (p,d) p : 가상 메모리 페이지 d : p 엔에서 참조하는 위치(변위) 페이지 크기가 4kb면 가상 주소의 0비트에서 11비트가 변위 d를 나타내고, 12비트 이상이 페이지 번호가 될 수 있음 다중 단계 페이징 시스템 페이징 정보를 단계를 나누어 생성 필요없는 .. 2021. 4. 4.
가상메모리 가상 메모리(Virtual Memory System) 실제 각 프로세스마다 충분한 메모리를 할당하기에는 메모리 크기가 한계가 있음. 리눅스는 하나의 프로세스가 4GB임 가상 메모리 주소를 실제 메모리 주소로 변환하여 실행 가능한 부분을 나누어 메모리에 올림. 가상메모리가 필요한 이유 여러 브로레스 동시 실행 시스템 구현을 위해서 메모리 용량 부족이슈 프로세스 메모리 영역간에 침범 이슈 기본 아이디어 프로세스는 가상 주소를 사용하고, 실제 해당 주소에서 데이터를 읽고 /쓸때만 물리 주소로 바꿔주면 된다. MMU(Memory Management Unit) CPU에 코드 실행시, 가상 주소 메모리 접근이 필요할 때, 해당 주소를 물리 주소값으로 변환해주는 하드웨어 장치 2021. 3. 28.
세마포어 Mutex와 세마포어 Critical section(임계 구역)에대한 접근을 막기 위해 LOCKING 매커니즘 필요 Mutex(binary semaphore) → 임계구역에 하나의 스레드만 들어감 Semaphore → 임계구역에 여러 스레드가 들어갈 수 있음 세마포어 (Semaphore) P : 검사 (임계영역에 달어갈 때) V : 증가 (임계역역에서 나올 때) S : 세마포어 값 (초기 값만큼 여러 프로세스가 동시 임계 영역 접근 가능) P(S) : wait(S) { while s count--; if (S->count queue; block() } } 스레드를 블록 상태로 바꾼다. wakeup() 함수를 통해 대기큐에 있는 프로세스를 재실행 signal(S) { s->count++; if (s->co.. 2021. 3. 28.
쓰레드 패스트 캠퍼스에 컴퓨터 공학 강의를 정리한 내용이다. 2. 쓰레드의 장단점 쓰레드의 장점 사용자에 대한 응답성 향상 자원 공유 효율이 높다. 한 프로세스에서 자원을 공유하므로 IPC보다 자원 공유 효율이 좋다. 프로세스를 복사하고 통신하는 형태가 아니라 저장공간 관리 효율이 좋다. 쓰레드에 정의로 코드가 간결해 진다. 쓰레드의 단점 스레드 중 한 스레드만 문제가 있어도, 전체 프로세스가 영향을 받음. 스레드를 많이 생성하면, Context Switching이 많이 일어나, 성능 저하 3. 쓰레드의 동기화 문제 동기화 ? 작업들 사이에 실행 시기를 맞추는 것 여러 스레드가 종일한 자원(데이터) 접근시 동기화 이슈 발생 여러 쓰레드 1, 2가 있을 때 쓰레드1 에서 연산을 수행하고 변수에 저장하기 전에 컨텍.. 2021. 3. 21.