반응형

메모리 10

[OSTEP][영속성] CH43 로그 기반 파일 시스템

발표 날짜 2024.12.06 FRI  CH43 로그 기반 파일 시스템 로그 기반 파일 시스템의 연구 동기는 아래와 같은 관찰 결과이다 * 시스템 메모리 크기가 증가 추세였다 - 메모리 용량이 커지면서 읽기는 캐시에서 처리되고, 디스크의 사용은 쓰기 위주가 되었다 * 임의 I/O 와 순차 I/O 의 성능 간의 격차가 크게 벌어졌다 - 하드 디스크 드라이브의 전송 대역폭이 꾸준히 증가한 것에 비해 탐색과 회전 지연 비용은 느린 속도로 줄어들었다 * 많은 일반적인 워크로드에서 기존 파일 시스템들의 성능이 좋지 않았다 - FFS 는 파일 하나를 생성하기 위해 여러 번의 쓰기를 해야 한다, FFS 는 여러 번의 짧은 탐색과 연이는 회전 지연을 발생시키기 때문에 최대 순차 대역폭이 낼 수 있는 성능에 한참 못 ..

[OSTEP][가상화] CH23 완전한 가상 메모리 시스템 +대화

발표 날짜 24.11.16 SAT 10시a.m. CH23 완전한 가상 메모리 시스템완전한 가상 메모리 시스템을 구현하기 위해서는 성능, 기능성, 보안을 위한 다양한 특징들이 있다핵심 질문 - 완전한 VM 시스템을 구현하는 방법완전한 가상 메모리 시스템을 구현하기 위해서 필요한 특징은 무엇인가?이러한 특징들은 어떻게 성능을 향상시키거나, 보안을 강화하거나, 혹은 시스템을 개선하는가?우리가 살펴볼 시스템은 1) VAX/ VMS 운영체제와 2) Linux 의 가상 메모리 시스템이다 VAX/ VMS 시스템에서 사용된 기법과 접근법들은 현재에도 사용 중이며 공부할 충분한 가치가 있고 (+ VAX/VMS 운영체제: VAX = 컴퓨터, VMS = 운영체제)Linux 는 가장 확장성이 뛰어난 다중 코어 시스템에서 효과..

[정글] Week09-10 PintOS 키워드 정리

Week09-10 PintOS 키워드 정리  User Mode VS Kernel Mode컴퓨터의 프로세서는 실행 중인 코드 유형에 따라 User Mode 와 Kernel Mode 두 가지 모드로 작동한다 어플리케이션은 User Mode 에서 작동하고, 핵심 운영 체제 구성 요소는 Kernel Mode 에서 작동한다  커널 모드 Kernel Mode 하드웨어에 대한 완전한 접근 권한을 가진다 - 메모리, 프로세스 스케줄링, 파일 시스템 관리 등의 Low Level 작업 수행 Kernel Mode 에서 실행되는 모든 코드는 단일 가상 주소 공간을 공유하기 때문에, 커널 모드 드라이버는 다른 드라이버 또는 운영체제에서 격리되지 않아, 운영체제 또는 다른 드라이버에 속하는 데이터가 손상될 수 있다 (커널 모드 ..

[OSTEP] CH21 물리 메모리 크기의 극복 - 메커니즘

발표 일자 2024.11.12 TUE 10시a.m. CH21 물리 메모리 크기의 극복 - 메커니즘 다수 프로세스들이 동시에 각자 큰 주소 공간을 사용하고 있다고 가정할 때 메모리 계층에 레이어의 추가가 필요하다 큰 주소 공간을 지원하기 위해서 주소 공간 중에 현재는 크게 필요하지 않은 일부를 보통은 하드 디스크 드라이브에 보관한다 메모리 계층에서 크고 느린 하드 디스크 드라이브가 가장 하부에 위치하고, 그 위에 메모리가 있다 핵심 질문 - 물리 메모리 이상으로 나아가기 위해서 어떻게 할까 운영체제는 어떻게 크고 느린 장치를 사용하면서 마치 커다란 가상 주소 공간이 있는 것처럼 할 수 있을까? 과거에 사용되던 메모리 오버레이 Memory Overlay 라는 시스템은 프로그래머가 코드 or 데이터의 일부를 ..

[TIL] Demand-Zero Memory

Demand-Zero Memory가상 메모리 관리 기법 중 하나페이지가 실제로 사용되기 전까지는 물리적 메모리에 할당되지 않는 방식 실제로 해당 페이지가 접근되어 사용될 때 '0' 으로 채워진 페이지를 할당하고 초기화한다 Demand-Zero Memory 동작 방식 1. 페이지 폴트아직 메모리에 적재되지 않은 주소에 프로세스가 접근하려고 하면 페이지 폴트가 발생한다 2. 디맨트 제로페이지 폴트 핸들러가 해당 페이지를 물리적 메모리에 맵핑하고, '0'으로 초기화한다 3. 사용초기화된 페이지는 이제 프로세스에 의해 사용될 수 있으며프로세스는 '0'으로 초기화된 메모리를 사용하여 자신의 데이터를 저장할 수 있다 Demand-Zero Memory 장점1. 메모리 절약실제로 사용되지 않은 메모리는 물리적 메모리를..

TIL 2024.10.22

[혼공컴운] CH09 운영체제 시작하기

CH09 운영체제 시작하기09-1 운영체제를 알아야 하는 이유운영체제란모든 프로그램은 실행을 위해 자원 Resource 을 필요로 한다자원 - 프로그램 실행에 있어서 마땅히 필요한 요소 (컴퓨터의 네 가지 핵심 부품 포함)운영체제는 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이고,운영체제는 중요한 프로그램이기 때문에 커널 영역이라는 특별한 영역에 적재되어 실행된다    운영체제는 사용자를 위한 프로그램이 아니고, 프로그램을 위한 프로그램이다문제 해결 능력 - 오류 메세지에 대한 깊은 이해  09-2 운영체제의 큰 그림  운영체제는 현존하는 프로그램 중 규모가 가장 큰 프로그램 중 하나 운영체제가 제공하는 기능은 다양하지만, 가장 핵심적인 서비스는 존재한다 ..

[혼공컴운] CH07 보조기억장치

CH07 보조기억장치07-1 다양한 보조기억장치   하드디스크자기적인 방식으로 데이터 저장하는 보조기억장치 자기디스크의 일종 하드디스크 구성플래터에 수많은 N극과 S극으로 데이터들이 저장되고 일반적으로 플래터 양면 모두 사용한다 스핀들로 플래터를 회전시키면서 데이터를 읽는다 RPM (Revolution Per Minute) - 분당 회전수 헤드 - 플래터를 읽고 쓰는 구성 요소, 플래터에 미세하게 떠 있다디스크 암 - 헤드를 움직여 주는 구성 요소 일반적으로 모든 헤드가 디스크 암에 부착되어 함께 이동하고, 연속된 정보는 한 실린더에 기록된다  하드디스크 저장 단위 트랙 Track -플래터를 이루고 있는 동심원을 그리는 저장 단위 트랙과 섹터 단위로 데이터를 저장한다 (섹터의 크기 512바이트 ~ 40..

[TIL] 동적 메모리 할당 Dynamic Allocation

동적 메모리 할당 Dynamic Allocation 컴퓨터 프로그래밍에서 실행 시간 (런타임) 동안 사용할 메모리 공간을 할당하는 것사용이 끝나면 운영 체제가 쓸 수 있도록 반납하고 다음에 요구가 오면 재할당 받을 수 있다 동적 할당은 프로세스의 힙 영역에서 할당한다 ( 힙 영역에 저장되는 게 있고 아닌 게 있음 추가 공부 필요 ) 동적 메모리 할당이 필요한 이유메모리 공간은 한정되어 있기 때문에 그때그때 필요한 만큼만 메모리 공간을 확보하고,다 사용했다면 Free 시켜주어 메모리 공간을 해제함으로서 한정된 메모리 공간을 효율적으로 사용할 수 있다  동적 메모리 할당의 장단점장점 * 상황에 따라 원하는 크기만큼의 메모리가 할당되므로 경제적이다 (malloc or calloc)* 이미 할당된 메모리라도 언..

TIL 2024.10.08

[혼공컴운] CH06 메모리와 캐시 메모리

CH06 메모리와 캐시 메모리 06-1 RAM 의 특성과 종류 주기억장치의 종류에는 크게 RAM 과 ROM 두 가지가 있고,'메모리' 라는 용어는 그 중 RAM 을 지칭하는 경우가 많다  CPU - RAM 으로부터 명령어와 데이터를 가져와서 실행RAM - 실행할 대상 저장, 휘발성 보조기억장치 - 보관할 대상 저장, 비휘발성 ex) SSD, USB, CD-ROM   DRAM Dynamic RAM 저장된 데이터가 동적으로 사라지는 RAM (전원을 꽂고 있어도 데이터가 점점 사라진다)데이터 소멸을 막기 위해 주기적으로 재활성화 Refresh 필요 일반적으로 메모리로 사용됨 - 상대적으로 소비 전력이 낮고 저렴하고 집적도가 높아 대용량으로 설계하기 용이SRAM Static RAM저장된 데이터가 정적인 (사라지..

[혼공컴운] CH01 컴퓨터 구조를 알아야 하는 이유

CH01 컴퓨터 구조를 알아야 하는 이유01-1. 컴퓨터 구조를 알아야 하는 이유문제 해결 능력을 배양할 수 있다 - 컴퓨터를 미지의 대상이 아니라 분석의 대상으로 인식하고 개발할 수 있다성능, 용량, 비용을 고려한 프로그래밍을 할 수 있다 01-2. 컴퓨터 구조의 큰 그림 컴퓨터가 이해하는 두 가지 정보1) 데이터- 숫자, 문자, 이미지, 동영상과 같은 정적인 정보- 컴퓨터와 주고받는/ 내부에 저장된 정보를 데이터라 통칭하기도 한다2) 명령어- 컴퓨터를 실질적으로 움직이는 정보- 데이터는 명령어를 위한 일종의 재료  컴퓨터의 네 가지 핵심 부품1) 메모리- 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 한다- 메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다 - 메모리에 저장된 값의 위치는..

반응형