[운영체제] 페이지 매핑 테이블 심화
legacy/Operating System2024. 5. 13. 17:37[운영체제] 페이지 매핑 테이블 심화

페이지 매핑 테이블의 주소 매핑각 프레임(또는 페이지)은 여러 주소를 포함하고 있다.예를 들어, 2번 프레임의 경우 시작주소가 22번지이고 23, 24, 25 ... 여러 주소를 포함하고 있다. 페이징을 사용하는 시스템에서는 형식으로 논리 주소에 접근한다.페이지 번호: 접근하고자 하는 페이지 번호변위: 페이지가 적재된 프레임의 시작 번지로부터 떨어진 주소페이지 매핑 테이블을 통해 에서 로 변경된다. Ex) CPU는 2번 페이지가 적재된 5번 프레임의 시작 번지 67에서 2만큼 떨어진 69번지에 접근한다. 페이징 매핑 테이블이 갖는 4가지 비트유효 비트페이지가 메모리에 적재되어 있는지 구분하는 비트프로세스 단위가 아닌, 페이지 단위로도 스와핑이 가능하다. 단, 불연속적인 메모리 할당 기법에서만 적용된다...

[운영체제] 연속 메모리 할당 방법과 단편화
legacy/Operating System2024. 5. 12. 00:30[운영체제] 연속 메모리 할당 방법과 단편화

연속 메모리 할당연속 메모리 할당이란 메모리 영역 중에서 요구하는 메모리 크기만큼 연속적인 공간을 찾아 할당하는 방식이다.즉, 프로세스를 연속적인 공간에 할당하는 방식을 의미한다. 스와핑 설명에 앞서, 스와핑이 무엇인지 먼저 알아야 한다. 프로그램을 실행하기 위해서는 보조기억장치에 있는 프로세스가 메모리에 적재되어야 한다. CPU는 메모리에 적재된 프로세스를 사용한다. 메모리에 적재된 프로세스 중에 현재 사용되지 않는 프로세스 또는 IO작업으로 인해 대기 상태인 프로세스가 있을 수 있다. 오랫동안 사용되지 않는다면 굳이 메모리에 상주할 필요가 없다. 메모리의 크기는 한정적이기 때문에 효율적으로 사용해야 한다.이때, 사용되지 않는 프로세스를 메모리에서 보조기억장치로 보내는 것을 스왑아웃(swap-out)이..

[운영체제] 캐시 메모리 (Cache Memory)
legacy/Operating System2024. 5. 11. 23:06[운영체제] 캐시 메모리 (Cache Memory)

1. 캐시 메모리(Cache Memory)캐시 메모리는 CPU와 주 기억장치(메인 메모리, RAM) 사이의 고속 데이터 저장소로 사용된다. 데이터에 빠르게 접근할 수 있도록하여 시스템의 전반적인 성능을 향상시킨다. 캐시 메모리는 CPU가 주 기억장치에 접근하는 것보다 빠른 속도로 데이터에 접근할 수 있도록 해준다. CPU는 먼저 캐시에서 데이터를 찾고 데이터가 없는경우 주 기억장치에서 데이터를 가져온다. 자주 사용되는 데이터나 명령어를 캐시 메모리에 저장하면 CPU는 캐시 메모리에 저장된 정보를 재사용할 수 있다. 이는 반복적인 메모리 접근을 줄인다.  2. 캐시의 지역성(Cache Locality)CPU는 데이터를 가져오기 위해 캐시 메모리에 먼저 접근하고 데이터가 존재하지 않는다면 주 기억장치에 접근..

[운영체제] Context Swtiching
legacy/Operating System2024. 5. 10. 11:10[운영체제] Context Swtiching

Context Switching이란?멀티 프로세스 또는 멀티 스레드 환경에서 여러 프로세스 또는 스레드가 CPU를 공유하기 때문에 컨텍스트 스위칭이 발생한다.진행 중이던 작업에서 다른 작업을 수행해야할 때, 현재 프로세스 또는 스레드는 지금까지 진행한 작업의 상태를 저장한다. 그리고 컨텍스트 스위칭을 통해 다른 작업을 수행하는 프로세스의 이전 작업 내용을 복원한다. Context란?Conext란 CPU가 해당 프로세스를 실행하기 위한 해당 프로세스의 정보들이다.각 프로세스는 독립된 메모리 공간에 PCB(Process Control Block)을 저장하며, 프로세스의 정보인 Context가 저장된다.PCB는 다음 정보를 저장한다.프로세스 상태: 생성, 준비, 수행, 대기, 중지PC(프로그램 카운터): 프로..

[운영체제] 뮤텍스 락과 세마포어
legacy/Operating System2024. 5. 10. 10:28[운영체제] 뮤텍스 락과 세마포어

새로운 게시물이 작성되었습니다 => https://server-technology.tistory.com/479현재 글과 새로운 게시물 둘 다 읽어보시면 도움이 될 것이라 생각합니다. 뮤텍스락: 공유 자원 1개에 대하여 오직 하나의 스레드만이 접근할 수 있도록 하는 상호 배제(Mutual Exclusion) 기법이다. 세마포어: 공유 자원 n개에 대하여 여러 스레드가 동시에 접근할 수 있도록 n개의 자원을 제어한다. 뮤렉스락(Mutex Lock)1개의 공유 자원에 1개의 스레드 또는 프로세스만 접근할 수 있도록 제어한다. 이를 상호 배제(Mutual Exclusion)라고 한다. 공유 자원을 사용하고 있는 스레드(또는 프로세스)는 Key를 가지고 있다. Key를 가지고 있는 스레드는 공유 자원을 사용하고 ..

image