전체 글
-
AWS - S3 + CloudFront (with Spring-Boot)정글 크래프톤 5기 회고 및 정리/AWS 2024. 6. 19. 15:52
정글 크래프톤에서 AWS 교육을 한 후 실습 계정을 3일동안 제공해줬다.해당 실습 계정은 상위에서 control하는 SCP 정책에 따라 일부 서비스들만 사용이 불가한다고 했다.그럼 거의 접해볼 수 있는 AWS 서비스들은 다 만져볼 수 있지 않을까?그래서 먼저 S3와 CloudFront를 다뤄볼려고 한다.1. IAM# application.ymlcloud: aws: credentials: access-key: temp # IAM 계정의 accessKey secret-key: temp # IAM 계정의 secretKey region: static: us-east-1 ..
-
PintOS Project3 - Virtual Memory 3편 (미완)정글 크래프톤 5기 회고 및 정리/PintOS 2024. 6. 6. 21:41
5. Swap In/Out- 메모리 스와핑은 물리 메모리의 사용 극대화하기 위한 메모리 회수 기술이다.- 주 메모리의 프레임이 할당되면, 시스템은 더 이상 사용자 프로그램으로부터의 메모리 할당 요청을 처리할 수 없다.- 하나의 해결책은 현재 사용되지 않고 있는 메모리 프레임을 디스크로 스왑아웃하는 것이다.- 이는 일부 메모리 자원을 해제하고 다른 애플리케이션에 사용할 수 있게 한다.- 스와핑은 운영체제에 의해 수행된다.- 시스템이 메모리가 부족하다고 판단하고 메모리 할당 요청을 받았을 때, 스왑 디스크로 이동시킬 페이지를 선택한다.- 그런 다음, 메모리 프레임의 정확한 상태를 디스크에 복사한다.- 프로세스가 스왑아웃된 페이지에 접근하려고 시도할 때, OS는 정확한 내용을 메모리로 다시 가져와 페이지를 복..
-
PintOS Project3 - Virtual Memory 2편정글 크래프톤 5기 회고 및 정리/PintOS 2024. 6. 4. 19:33
3. Stack Growth구현1bool vm_try_handle_fault (struct intr_frame *f, void *addr, bool user, bool write, bool not_present);- 이 함수는 userprog/excpetion.c 의 page_fault() 에서 페이지 폴트 예외를 처리하는 동안 호출된다.- 페이지 폴트가 stack growth 유효를 확인 bool vm_try_handle_fault (struct intr_frame *f UNUSED, void *addr UNUSED, bool user UNUSED, bool write UNUSED, bool not_present UNUSED) { ... if (not_present) { ..
-
PintOS Project3 - Virtual Memory 1편정글 크래프톤 5기 회고 및 정리/PintOS 2024. 6. 4. 02:17
1. Memory Management구현 1번 (complete)void supplemental_page_table_init (struct supplemental_page_table *spt);- supplemental_page_table의 데이터 구조는 Hash를 선택 void supplemental_page_table_init (struct supplemental_page_table *spt UNUSED) { hash_init (&spt->spt_hash, page_hash, page_less, NULL);}unsigned page_hash (struct hash_elem *elem, void *aux UNUSED) { // hash_entry: 해당 hash_elem을 가지고 있는 pag..
-
[WEEK11] 정글 5기 - 정글 끝까지(PintOS) - Virtual Memory정글 크래프톤 5기 회고 및 정리/WIL 2024. 5. 30. 16:51
- 공부 키워드 참조 검색어Project03 : Virtual Memory1. Virtual memory management ● paging- 가상 메모리 관리의 핵심 기법- 프로세스의 가상 주소 공간을 물리 메모리와 매핑하여 효율적이고 안전한 메모리 관리를 가능하게 한다.- 이를 통해 메모리 사용의 효율성을 높이고, 프로세스 간의 메모리 보호를 제공한다.개념1. 페이지 · 가상 메모리 블록2. 페이지 프레임 · 물리 메모리에서 페이지가 매핑되는 고정된 크기의 블록3. 페이지 테이블 · 가상 주소를 물리 주소로 매핑하는 데이터 구조작동원리1. 주소 변환 · CPU가 가상 주소를 생성하면, 가상 주소는 페이지 번호와 오프셋으로 나뉜다.2. 페이지 폴트 · 가상 페이지가 물리 메모..
-
[WEEK09] 정글 5기 - 정글 끝까지(PintOS) - User Programs정글 크래프톤 5기 회고 및 정리/WIL 2024. 5. 16. 21:34
- 공부 키워드 참조 검색어Project02 : User Programs1. User mode vs Kernel mode- 아래 공부 키워드 참조 -2. Process- 이전 공부 키워드 참조 -● Process Environment Block (PEB)[역할] - PEB는 Windows 운영체제에서 프로세스의 실행 환경을 관리하고 응용 프로그램이 이를 참조할 수 있도록 하는 데이터 구조체[저장정보]- PEB는 프로세스 환경 설정, 모듈 정보, 명령줄 인수, 환경 변수 등과 관련된 정보를 저장[위치]- PEB는 프로세스의 사용자 모드 주소 공간에 저장된다.+ PCB[역할]- PCB는 운영체제가 프로세스를 관리하고 제어하기 위한 주요 데이터 구조체[저장정보]- PCB는 주로 프로세스 상태, CPU 레지스터..
-
[WEEK08] 정글 5기 - 정글 끝까지(PintOS) - Threads정글 크래프톤 5기 회고 및 정리/WIL 2024. 5. 9. 18:32
- 아래 공부 키워드 참조검색어Project 0: PintOS1. Virtual Machine ~= Hypervisor- 가상 머신은 소프트웨어로 구현된 가상 컴퓨터- 하이퍼바이저는 가상 머신을 만들고 관리하는 소프트웨어qemu- 가상화 및 에뮬레이션 소프트웨어에뮬레이션- 하드웨어나 소프트웨어의 동작을 소프트웨어적으로 모방하여 다른 환경에서 동작하도록 하는 기술2. Common bugsMemory leak- 프로그램이 동적으로 할당한 메모리를 제대로 해제하지 않고 계속해서 사용하지 않는 메모리 블록을 차지하는 상황Race Condition- 아래 공부 키워드 참조Deadlcok- 아래 공부 키워드 참조Use after free- 프로그램이 이미 해제된 메모리를 사용하려고 할 때 발생한다. Project ..
-
[WEEK07] 정글 5기 - 캐시(발표를 위한 정리)정글 크래프톤 5기 회고 및 정리/WIL 2024. 5. 9. 10:08
캐시- 캐시는 데이터나 값을 미리 복사해 놓은 임시 장소이다.- 캐시에 데이터를 미리 복사해 놓으면, 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다.캐시 교체 정책- 캐시는 모든 데이터를 담을 수 없기 떄문에, 캐시의 크기가 제한되고 그에 따라 캐시가 대체되어야 한다.- 어떤 파일을 버리고 새로운 캐시를 저장할 것인 결정하는 것이 캐시 교체 알고리즘이다. 캐시 교체 정책Random- 교체될 데이터 임의로 설정- 오버헤드가 적다.FIFO- First-In, First-Out- 가장 먼저 캐시에 저장된 항목을 삭제한다.- 자주 사용되는 데이터가 삭제될 수 있다.LFU- Least Frequently Used- 사용 횟수가 가장 적은 데이터 교체- 최근에 저장된 데이터가 교체될 우려가 있다..