분류 전체보기 82

[OS] 19장: TLB (Translation Lookaside Buffers)

19장: TLB (Translation Lookaside Buffers)MMU의 한 구성요소가상 - 물리 주소변환에 사용되는 캐시 역할TLB 작동 예시a[0]에 접근VPN 06 접근TLB에 VPN 06 검색 → 없음, 미스났음TLB에 VPN 06 갱신a[1] 접근VPN 06 접근TLB에 VPN 06 검색 → 있음, 적중3 miss & 7 hit공간 지역성이 잘 드러남정리CPU로부터 논리적 주소가 나옴VPN을 통해 TLB 확인없으면 페이지 테이블 조회함TLB 장점여러 VPN을 병렬로 탐색 가능시간 지역성한 번 사용됐으면 또 사용될 가능성 높음공간 지역성인접한 주소가 사용될 가능성 큼TLB 할 일Context Switch프로세스 A, B의 VPN을 통한 TLB 사용VPN 10을 통해 TLB 확인했으나 없음..

[OS] 18장: 메모리 가상화의 Paging

18장: 메모리 가상화의 Paging세그먼트 복습주소 변환 = Segment Table공유 및 보호 기능 제공빈 공간 탐ㅅ맥 오버헤드 및 외부 단편화 문제페이징 개요주소변환 = 페이지 테이블 사용가상 주소 공간 → 동일한 크기의 페이지로 분할물리 주소 공간 → 동일한 크기의 페이지 프레임으로 분할페이징 장점유연성프로세스 주소공간 상관없이 효율적임heap, stack, .. 신경 X단순성페이지 크기 = 페이지 프레임 크기빈공간 관리가 간단함페이징 단점→ 내부 단편화페이징 사용물리 주소 = 128byte가상 주소 = 64byte페이지 프레임크기 = 16byte주소 변환가상 주소의 두 가지 요소VPN = Virtual Page Number (위 사진에선 4개만 필요 = 2비트)Offset물리 주소를 알려면..

rm .zshrc을 해버린 건에 대하여

오늘 mise 명령어로 tuist 설치를 하다가 mise 설치할 때.zshrc에 적어야 하는데 .zhrc에 적어버렸다. 그래서 없던 .zhrc 파일이 생겨버렸고,'open .'로 GUI에서 지울까? 했지만 너무 귀찮아서 'rm' 명령어를 쓰기로 했다. 근데 이게 뭐람 ?'rm .zhrc'를 해야 하는데, 'rm .zshrc'를 해버림미친놈 왜 rm 쓸 때는 잘 쓰는건데 그래서 .zshrc 다 날라감 ^0^mise 명령어 설치 한 번 힘드네..효성이랑 승재형한테 zshrc 파일 받아내서환경변수 세팅 필요한 거 가져오고iterm2 세팅 다시 해줬다.. 명령어 강조, 자동완성 .. 등등 다 다시 설정하는 초유의 사태2시간 버림 ㅎ 정상적인 .zshrc 모습정상적인 터미널 모습..복구 완료 ^◡^

기타/회고록 2024.06.30

THE MONEY BOOK | 잘 살아갈 우리를 위한 금융생활 안내서

항상 노션 작성 -> 티스토리 복붙이라 마크다운으로 매번 작성했는데티스토리에서 기본모드로 작성하는 건 처음이다. 한동안 책을 많이 볼 예정인데,첫 번째 책은 'THE MONEY BOOK - toss'이다.읽게 된 계기인스타를 하다 스레드에 'UX가 신기한 책'이라는 제목으로이 책에 대한 리뷰를 하는 글이 올라왔다. 그렇게 이 책의 존재를 알게되고,목차를 찾아봤는데 '자산관리'가 눈에 들어왔다.전문하사 전역 후, 주식으로만 돈 관리하던 나에게요새 정기예금, 적금 등 고민이 많았는데 읽어보고 싶어졌다. 또 다른 이유로는 책이 MZ하니까, toss가 적었으니까UX 하나는 기깔난다. 책을 읽고100가지의 질문을 주고, 각 질문에 답을 하는 형식으로 책이 진행된다.그리고 금융 용어들에 대한 설명이 있다.첫 페이지..

[OS] 17장: Free-Space Management

17장: Free-Space Management물리 메모리의 빈 공간 관리할당과 회수를 통해 유지함분할과 병합물리 주소를 분할해서 사용하고, 다 쓰면 병합하는 식으로 동작분할메모리 요구를 하면,만족하는 크기의 빈 공간이 있을 때 할당 가능→ 20byte를 요구하면 안됨 (연속적이지 않아서)1바이트 요구주소가 20부터 시작인 노드가21로 바뀌고, len = 9로 바뀜병합사용 후 반환 시, 인접한 빈 공간과 합쳐짐가운데 10~19 사용중이던게 free 되었음0~19가 합쳐짐할당 공간의 크기 파악free 메소드에는 반환될 크기에 대한 정보가 없음Header 블록을 메모리에 두어서 정보를 받아냄Header 블록필수 정보할당된 크기추가 정보속도 향상을 위한 추가 포인터무결성 체크Header 블록이 있을 때,메모리..

[OS] 16장: Segmentation

16장: Segmentation개요세그먼트 = 임의의 길이의 연속된 주소 공간여기서는 Code, Heap, Stack을 세그먼트라 침주소변환 - 세그먼트 테이블물리 공간에 배치할 때, 세그먼트 단위로 배치함즉, 세그먼트마다 Base/Bounds 레지스터 필요 → 일반화 Base/Bounds 기법하나의 프로세스는 여러 개의 세그먼트로 구성됨세그먼트 주소 변환물리주소 = OffSet + BaseOffSet = 세그먼트 내에서의 위치가상 주소 공간에서 코드,힙,스택 별로 세그먼트가 있는데그 세그먼트 시작 지점에서의 위치로 Offset을 따짐Heap 주소 인코딩4200 번지의 세그먼트에서 인코딩하기4200 = 4096 + 104⇒ 01 | 0000 0110 1000Stack 주소 인코딩 (반대)스택은 거꾸로 ..

[OS] 15장: 주소 변환의 원리

15장: 주소 변환의 원리개요어떻게 메모리를 가상화 하여효율성과 제어를 달성할 것인가 ?효율성: 가상 주소 → 물리주소 변환의 속도제어권: 접근 가능한 메모리 위치 제한유연성: 프로그래밍 편의메모리 가상화하드웨어 지원이 필요함빠른 주소 변환MMU, TLB, Cache ..OS 역할빈 공간 관리 및 할당관리 효율 및 접근 제어가상 공간의 동적 운영메모리 사용 예void func() { int x = 3000; x = x + 3;}어셈블리어 변환128 번지 명령어 인출명령 실행132 번지 명령어 인출명령 실행135 번지 명령어 인출명령 실행가상 주소와 물리 주소물리적 주소물리 메모리에 그대로 올리면 안됨→ OS 재배치 작업 필요메모리 접근 시마다 실제 주소로 변환 작업Base/Bou..

[UIKit] UISegmentedControl 사용해보기

학습 목표UISegmentedControl 개념 알기UISegmentedControl 실습 및 꾸며보기toduck 프로젝트에 사용되는 View 만들어보기학습 내용UIResponder - UIView - UIControl - UISegmentedControlUISegmentedControl의 기본값Image선택된 버튼의 BackgroundImage선택되지 않은 버튼의 BackgroundImage버튼 사이의 DivderImageText선택된 버튼의 TextColor & FontSize선택되지 않은 버튼의 TextColor & FontSizeUISegmentedControl 꾸미기class MainViewController: UIViewController { private let segmented..

iOS/UIKit 2024.06.17