2023년 2월 4일 (토)
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:DNS레코드.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:Interrupt Handler.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:Knowledge Base.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:Specular.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:Uv.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:BVH make tree.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:소켓구조.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 03:592023년 2월 4일 (토) 03:59 차이 역사 +1,017 새글 Cohort Lock 새 문서: 분류: 동시성 프로그래밍 Lock cohorting: A general technique for designing NUMA locks == 개요 == Cohort Lock이란 Lock을 두단계로 나누어서 사용하는 구조를 말한다. 각 연관된 Lock들의 group을 Cohort라고 정의하고 (예를 들어서 같은 NUMA node위의 Lock들은 같은 Cohort에 속한다.) 같은 Cohort끼리는 Global lock이 아니라 Local Lock들로 Lock을 정의하며 다른 Cohort끼리는 먼저 Global Lock을 잡아야...
- 03:582023년 2월 4일 (토) 03:58 차이 역사 +36 새글 Pmem Persistance memory 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 03:582023년 2월 4일 (토) 03:58 차이 역사 +389 새글 PMDK 새 문서: 분류: 스토리지 분류: 메모리 == 개요 == PMDK는 Persistent Memory Development Kit의 약자로 Direct Access (DAX)모드를 활용하여서 CPU모델, 운영체제 종류와 상관 없이 PMEM의 여러 다양한 기능을 사용할 수 있도록 한 라이브러리이다. == 참고 == # https://docs.pmem.io/persistent-memory/getting-started-guide/what-is-pmdk 최신
- 03:572023년 2월 4일 (토) 03:57 차이 역사 +970 새글 Memory controller 새 문서: 분류: 메모리 분류: CPU == 개요 == 메모리 컨트롤러는 내장된 혹은 외부에 위치한 컴퓨터의 메인 메모리를 빠르게 관리하기 위한 유닛을 말한다. 만약 memory controller가 microprocessor에 직접 설치되어 있으면 integrated memory controller (IMC)라고 불리며, 다른 말로는 Memory chip controller(MCC)혹은 Memory controller unit(MCU)라고 불리기도 한다. == 목적 == 메모리 컨트롤러는 빠르게... 최신
- 03:572023년 2월 4일 (토) 03:57 차이 역사 +6,465 새글 PACTree: A High Performance Persistent Range Index Using PAC Guidelines 새 문서: 분류: 시스템 논문 == 개요 == Pmem을 잘사용하기 위해선, 다음과 같은 조건을 Inforcement 하여야 한다. === Finding === # FH1: Read/Write 속도가 DRAM과 달리 다르다. 즉 Write이 Read보다 느리다. # FH2: Write이 Latency가 크고 Bandwidth가 작기 떄문에 bottleneck이 된다. # FH3: Sequential NVM access는 이러한 단점을 커버한다. (Sequential read가 random read보다 빠르다.) # FH4: Persistence를 지키는 것은 c... 최신
- 03:562023년 2월 4일 (토) 03:56 차이 역사 +2,921 새글 Go-pmem: Native support for programming persistent memory in go 새 문서: 분류: 시스템 논문 Proceedings of the 2020 USENIX Annual Technical Conference, ATC 2020 == 개요 == Go언어를 통해서 마치 Volatile memory를 다루는 것처럼 Pmem을 다룰 수 있도록 User friendly한 API를 제공하는 것을 목표로 하는 연구이다. Single type system, No fat pointer, Seperate heap, Journaling, named-objects, txn (undo logging), Reuse function for volatile and persistent memory and new GC를 바탕으로 여러가지 새로운... 최신
- 03:552023년 2월 4일 (토) 03:55 차이 역사 +3,334 새글 ABA Problem 새 문서: 분류: 동시성 프로그래밍 분류: 시스템 최적화 == 개요 == ABA Porblem이란, 동기화 과정에서, 같은 위치의 메모리가 두번 읽는 스레드 A가 데이터를 읽고 공유 메모리의 값을 판단하는 과정에서 A가 Preemption되고 스레드 B가 그 공유 메모리의 값을 바꾸는 조건에서 B가 A가 CAS값을 혼동할 수 있도록 값을 바꾸면 다시 A로 스케쥴링이 돌아 왔을때 예측하지 못한 행동... 최신
- 03:552023년 2월 4일 (토) 03:55 차이 역사 +285 새글 Dead lock 새 문서: 분류: 동시성 프로그래밍 == 개요 == 데드락은 두 스레드가 공유된 자원에 동시에 접근을 시도하는 경우 발생한다. 예를 들어서 A가 L1을 지니고, L2를 요구하며 B가 L2를 지니고 L1을 요구하면 데드락에 걸리게 된다. 최신
- 03:542023년 2월 4일 (토) 03:54 차이 역사 +181 새글 Live lock 새 문서: 분류: 동시성 프로그래밍 == 개요 == Live lock이란 Operation이 의미있는 작업없이 다른 Lock들을 기다리느라 계속 진행되는 상황을 말한다. 최신
- 03:542023년 2월 4일 (토) 03:54 차이 역사 +5,493 새글 Persistance memory 새 문서: 분류: 스토리지 분류: 메모리 == 개요 == PMEM은 persistentance memory의 약자로 DRAM과 SSD에 중간에 위치하는 새로운 스토리지 계층을 의미한다. NVM (Non-volatile memory)혹은 Intel의 거의 독점적인 상표권을따서 Optane메모리라고 불리기도 한다. 기존 SSD보다 대략 1000배 정도 빠른 Latency를 이론적으로 확보할 수 있다. Persistent memory를 이용하면 다음과 같은 장점이 있다. # Ca... 최신
- 03:532023년 2월 4일 (토) 03:53 차이 역사 +2,466 새글 NVL-C: Static analysis techniques for efficient, correct programming of non-volatile main memory systems 새 문서: 분류: 시스템 논문 == 개요 == NVM을 위한 Static analysis compiler를 만드는 고민을 작성한 논문이다. # Minimal, familiar한 인터페이스를 제공해야 한다. # Pointer safety를 위해서 Volatile그리고 NVM의 포인터를 어떻게 static하게 분리할지 고민해야 한다. # Transaction을 위해서 logging에 대한 시스템적 제공이필요하다. # 이 모든것과 함께 Performance를 신경써야 한다. == Design == ;nvm, nv... 최신
- 03:522023년 2월 4일 (토) 03:52 차이 역사 +3,211 새글 Mnemosyne: Lightweight persistent memory 새 문서: 분류: 시스템 논문 International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS == 개요 == Pmem (이 논문에서는 SCM storage class memory)에 대한 설명은 Pmem, PACTree참고. Mnemosyne의 Contribution은 다음과 같다. * 거의 최초의 Pmem을 위한 OS + Library지원을 제시한 논문 * Pmem사용에 있어서, Consistency와 Durability에 대한 중요성을 어필 * Atomic log writes에 대... 최신
- 03:522023년 2월 4일 (토) 03:52 차이 역사 +1,187 새글 J-NVM: Off-heap Persistent Objects in Java 새 문서: 분류: 시스템 논문 SOSP 2021 - Proceedings of the 28th ACM Symposium on Operating Systems Principles == 개요 == Garbage collecting은 NVM에서 성능상의 이점을 줄 수 없다. 그런데 JVM과 같은 GC기반의 언어를 NVM에서 그대로 사용하게 되면, 여러 Performance상의 저하를 가져오게 된다. 특히 이러한 성능 하락은 큰 오브젝트를 다루는 경우에 더욱 Critical하게 다가오게 된다. 따라서 J-NVM에서는 j... 최신
- 03:512023년 2월 4일 (토) 03:51 차이 역사 +1,215 새글 Corundum: Statically-Enforced Persistent Memory Safety 새 문서: 분류: 시스템 논문 == 개요 == Rust그리고 PM,... 어떻게 사용해야 할 것인가. ;Contribution :NVM에 대한 Programming model을 Rust로 '''최초로''' 구현함 :Rust를 통해서 NVM라이브러리 구현시 부족할 수 있는 부분을 지적함 (Fn trait의 부재등...) == 문제점 == # P즉 dynmaic하게 open될수 있는 pool의 개수가 한번에 하나이다. # 모든 Corundum pool의 modification은 반드시 transaction이 있어야 한... 최신
2023년 2월 3일 (금)
- 15:322023년 2월 3일 (금) 15:32 차이 역사 −181 대문 편집 요약 없음
- 15:172023년 2월 3일 (금) 15:17 차이 역사 +3 미디어위키:Citizen-footer-desc 편집 요약 없음 최신
- 15:172023년 2월 3일 (금) 15:17 차이 역사 +90 새글 미디어위키:Citizen-footer-desc 새 문서: KAIST E3-1 CASYS, AHN JUNHO Github: https://github.com/ahn9807 Email: junhoahn@kaist.ac.kr
- 14:502023년 2월 3일 (금) 14:50 차이 역사 −2 MPK 넘겨주기 대상을 Intel Memory Protetection Key에서 Intel Memory Protection Key 문서로 변경했습니다 최신 태그: 넘겨주기 대상 변경
- 13:072023년 2월 3일 (금) 13:07 차이 역사 +1,267 새글 AWS Nitro Enclaves 새 문서: 분류: 클라우드 컴퓨팅 == 개요 == AWS Nitro Enclaves(Nitro)는 Amazon에서 제공하는 추가적인 Isolated execution environment를 통해서 고객의 소중한 데이터를 보호할 수 있게 하는 기술이다. 니트로는 분리된 제약조건이 많은 VM에서 돌아간다. 니트로는 Secure local socket으로만 부모와 통신하며, 스토리지에 흔적을 남기지도 않고, 다른 인스턴스와 부모를 제외하고는 통신하지도... 최신
- 12:062023년 2월 3일 (금) 12:06 차이 역사 0 잔글 Single level storage Ahn9807님이 Single level stroage 문서를 넘겨주기를 만들지 않고 Single level storage 문서로 이동했습니다 최신
- 12:062023년 2월 3일 (금) 12:06 차이 역사 +38 새글 SLS Single level storage 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 12:062023년 2월 3일 (금) 12:06 차이 역사 +911 새글 Single level storage 새 문서: 분류: 스토리지 == 개요 == Single level stroage (SLS)는 두가지 의미를 가진다. 첫번째는 Swap으로 이루어지는 Memory의 확장이며 두번째는 file이 없는 시스템이다. 현대의 의미는 주로 두번째의 의미로 사용된다. 이하 SLS에 대한 서술은 두번째의 의미로 서술된다. SLS는 file과 메모리의 구분이 없다. 이러한 in-memory과 serialized on-disk의 시맨틱 갭을 제거함으로써 SLS는 Applicat...
- 12:052023년 2월 3일 (금) 12:05 차이 역사 +7,657 새글 The Aurora Single Level Store Operating System 새 문서: 분류: 시스템 논문 SOSP 2021 - Proceedings of the 28th ACM Symposium on Operating Systems Principles == 개요 == Aurora Operating시스템은 Eros (1995 SOSP)와 같은 Single level storage(SLS)기반의 Persistent operating system을 현재의 NVMe와 같은 Modern SSD에서 어떻게 하면 효율적으로 다시금 해석할 수 있을지 고민한 논문이다. == Problems and importance == Application checkpointing은 serverless 환경에서 빠른 Appli... 최신
- 12:032023년 2월 3일 (금) 12:03 차이 역사 +3,934 새글 The performance of the Container Shipping I/O system 새 문서: 분류: 시스템 논문 ;Anderson, E. W. (1995). The performance of the Container Shipping I/O system. ACM SIGOPS Operating Systems Review, 29(5), 229. https://doi.org/10.1145/224057.225831 == 개요 == 기존의 시스템에서는 User level에서 사용되는 Resource들은 Scheduling의 단위로 사용하였다. 그러나, Kernel level에서 돌아가는 경우에는 Resource에 대한 Tracking을 제공하지않고 무시하였다. 이 논문에서는 Kernel레벨에... 최신
- 12:032023년 2월 3일 (금) 12:03 차이 역사 +698 새글 Vmlinux 새 문서: 분류: 리눅스 커널 == 개요 == Vmlinux는 커널 디버깅에서 사용하는 Object file이다. VMLINUX라는 이름의 기원은 Virtual memory에서 기원하였다. 이 파일은 가상 메모리에서 사용할 커널의 모든 오브젝트에 대한 재배치 정보를 포함하고 있는데, 이를 통해서 디버깅이나 krpobe와 같은 커널의 여러 Symbol relaction에서 필요한 정보를 얻어 낸다. VMLINUZ라는 Z로 끝나는 파일도 있는... 최신
- 12:022023년 2월 3일 (금) 12:02 차이 역사 +70 새글 분류:EBPF 새 문서: 분류: 리눅스 커널 분류: 소프트웨어 기반 보안 최신
- 12:022023년 2월 3일 (금) 12:02 차이 역사 −15 BPF Type Format 편집 요약 없음 최신
- 12:012023년 2월 3일 (금) 12:01 차이 역사 +33 새글 BTF BPF Type Format 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 12:012023년 2월 3일 (금) 12:01 차이 역사 +2,813 새글 BPF Type Format 새 문서: 분류: 운영체제 기술 == 개요 == BTF란 BPF Type Format의 약자이다. 마치 Dwarf처럼 Object에 대한 Relocation table을 가지고 있다. 그러나 Dwarf와는 다르게 eBPF의 CO-RE (Compiler once run everywhere)의 기능을 제공하기 위한 정보만을 담고 있기에 간단하고 용량을 적게 차지 한다. eBPF프로그램은 커널의 여러 부위에 붙어서 작동하게 되는데 이러한 과정에서 커널 버전, 혹은 커...
- 12:012023년 2월 3일 (금) 12:01 차이 역사 +1,424 새글 Container of 새 문서: 분류: 리눅스 커널 API == 개요 == container_of(입력 주소, 구조체 A, 해당 구조체 멤버) 어떤 구조체(A)의 멤버가 입력 주소일 경우 해당하는 구조체의 주소를 가져온다. 예를 들어서 linux/bpf/hashtab.c <syntaxhighlight lang=c> static void *__htab_map_lookup_elem(struct bpf_map *map, void *key) { struct bpf_htab *htab = container_of(map, struct bpf_htab, map); struct hlist_nulls_head *head; struct... 최신
- 12:002023년 2월 3일 (금) 12:00 차이 역사 +519 새글 Copy to user 새 문서: 분류: 리눅스 커널 API == 개요 == copy_to_user -- Copy a block of data into user space. unsigned long copy_to_user (void __user * to, const void * from, unsigned long n); 인자 to Destination address, in user space. from Source address, in kernel space. n Number of bytes to copy. 문맥 커널 스페이스와 유저 스페이스의 메모리 View가 다르기 때문에 User context로 커널 스페이스의 메모리를 복사하기 위해... 최신
- 12:002023년 2월 3일 (금) 12:00 차이 역사 +1,994 새글 Kprobe 새 문서: 분류: 리눅스 커널 == 계요 == kprobe는 tracepoint와는 다르게 동적으로 커널의 거의 대부분의 주소에서 debugging과 performance분석을 가능하게 하는 툴이다. kprobe는 원하는 위치에 int3 breakpoint을 걸어서 int3이 불리면 do_iret3 handler에서 지정된 핸들러를 호출하는 것으로 구현된다. kprobe는 kprobe와 kretprobe로 구성되는데 전자는 함수가 호출될때 불리며, 후자는 함수가 끝날때... 최신
- 12:002023년 2월 3일 (금) 12:00 차이 역사 +389 Nooks: an architecture for reliable device drivers →Criticizing 최신
- 11:582023년 2월 3일 (금) 11:58 차이 역사 +5,173 새글 Nooks: an architecture for reliable device drivers 새 문서: 분류: 시스템 논문 :M. M. Swift, B. N. Bershad, and H. M. Levy, “Improving the Reliability of Commodity Operating Systems,” p. 16. :M. M. Swift, S. Martin, H. M. Levy, and S. J. Eggers, “Nooks: an architecture for reliable device drivers,” in Proceedings of the 10th workshop on ACM SIGOPS European workshop: beyond the PC - EW10, Saint-Emilion, France, 2002, p. 102. doi: 10.1145/1133373.1133393. == 개요 == 디바이스 드라이버를 잘 사용하기 위...
- 11:572023년 2월 3일 (금) 11:57 차이 역사 +45 새글 IPC Intel Process Communication 문서로 넘겨주기 태그: 새 넘겨주기
- 11:572023년 2월 3일 (금) 11:57 차이 역사 +5,402 새글 Inter Process Communication 새 문서: 분류: 프로세스 == 개요 == 운영체제 상에서 실행 중인 프로세스 간에 정보를 주고받는 것을 Inter Process Communication(IPC)라고 한다. 프로세스는 자신에게 할당된 메모리 내의 정보만 접근할 수 있고, 이를 벗어나서 접근할 경우, C언어를 배우는 사람이라면 누구나 한 번쯤은 봤을 Segmentation Fault 등의 오류가 발생하게 된다. 이는 안전성을 위해 운영체제에서 자기 프로...
- 11:562023년 2월 3일 (금) 11:56 차이 역사 +362 새글 그래프 새 문서: 분류: 자료 구조 == 개요 == 그래프는 <math>G=(V,E)</math>로 구성되며, 두개의 유한한 셋 V와 E로 구성된다. V는 그래프의 각 정점이고 E는 그래프의 간선이다. E는 두개의 V의 쌍 $(v_1, v_2)$로 구성된다. == 종류 == # Directed Acyclic Graph (DAG): 방향이 있는 cycle이 없는 그래프를 말한다. 최신
- 11:562023년 2월 3일 (금) 11:56 차이 역사 +1,356 새글 Capsicum: practical capabilities for UNIX 새 문서: 분류: 시스템 논문 R. N. M. Watson, J. Anderson, K. Kennaway, and B. Laurie, “Capsicum: practical capabilities for UNIX,” p. 17. == 개요 == Capability Model을 Unix에 적용시킨 논문이다. Unix file descriptor을 확장 시켜서, Capability란 요소로써, 접근하도록 하였다. cap_enter라는 시스템콜을 사용하면, 그 후에 작용하는 모든 FD들이 Capability들을 따라가도록 하였다. 허용된 capability를 가지는 FD만이... 최신
- 11:552023년 2월 3일 (금) 11:55 차이 역사 +1,302 새글 LXDs: Towards Isolation of Kernel Subsystems 새 문서: 분류: 시스템 논문 V. Narayanan, A. Balasubramanian, and C. Jacobsen, “LXDs: Towards Isolation of Kernel Subsystems,” p. 17. == 개요 == 커널 드라이버에 최소한의 수정만을 가해서 Light weight protection domain에서 실행시켰다. # Light weight protection doamin을 만들어서 커널 코드를 Isolate 하였다. # Protection domain에 정보를 줄때 Batching과 Pipeline을 통해서 cross domain cost를 줄였다. # Lightweight asynchro... 최신
- 11:542023년 2월 3일 (금) 11:54 차이 역사 +585 새글 GCC 새 문서: 분류: 오픈 소스 프로젝트 == 개요 == 본 문서는 현재 GCC x96 option, features, builtin function에 대한 유용한 사이트를 정리한 문서이다. == 참고 == # Attributes of Functions: https://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Function-Attributes.html # Function Specific Option Pragmas: https://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Function-Specific-Option-Pragmas.html#Function-Specific-Option-Pragmas # X86 Options: https://gcc.gnu.org/onlinedocs/...
- 11:532023년 2월 3일 (금) 11:53 차이 역사 +28 새글 분류:리눅스 커널 API 새 문서: 분류: 리눅스 커널 최신
- 11:532023년 2월 3일 (금) 11:53 차이 역사 +515 새글 Kmalloc 새 문서: 분류: 리눅스 커널 API == 개요 == static __always_inline void *kmalloc(size_t size, gfp_t flags) Kmalloc은 리눅스 커널에서 메모리를 할당시키는 함수이다. kmalloc은 내부적으로 slab cache를 사용하여 메모리를 할당한다. * kmalloc은 vmalloc과는 다르게 physically contiguous한 메모리를 보장한다. * kmalloc은 부팅 시간에는 hugepage로 부팅후에는 4KB page로 할당된다. * 8K보다 큰 메모리는 buddy s... 최신
- 11:522023년 2월 3일 (금) 11:52 차이 역사 +645 새글 Oops 새 문서: 분류: 리눅스 커널 == 개요 == 커널은 문제가 되는 상황에 커널을 종료 시키거나 (Panic)혹은 Oops 메시지를 출력하고 문제가 되는 부분을 복구하는 방식을 채택한다. 이 문서는 Oops상황에서 출력되는 메시지를 분석하는 법을 정리한다. == 정리 == # my_oops_init+0x12/0x21 은 symbol + offset/length이며 gdb에서는 list로 addr2line 으로는 addr2line -3 vmlinux 12341234(+offset)으로 디버깅하...