2023년 3월 16일 (목)
- 11:562023년 3월 16일 (목) 11:56 차이 역사 0 잔글 Filesystem in userspace 편집 요약 없음
- 11:562023년 3월 16일 (목) 11:56 차이 역사 +2,273 새글 Filesystem in userspace 새 문서: 분류: 파일 시스템 분류: 오픈 소스 프로그램 섬네일|가운데|대체글=FUSE structure overview|FUSE structure overview == 개요 == FUSE는 Non-root유저가 커널 코드의 수정없이 스스로의 파일시스템을 구현할 수 있도록 하는 Extension이다. Application이 Fuse가 마운트된 위치의 Write이나 Read와 같은 File system access 시스템 콜을 날리면, VFS는 Operation에 대한 Query를...
- 11:492023년 3월 16일 (목) 11:49 차이 역사 +14 새글 파일:FUSE structure.png 편집 요약 없음 최신
- 11:412023년 3월 16일 (목) 11:41 차이 역사 +1,196 새글 Extension Framework for File Systems in User space 새 문서: 분류: 시스템 논문 Ashish Bijlani, Umakishore Ramachandran 2019 USENIX Annual Technical Conference == 개요 == ExtFuse는 user file system을 구현하면서, eBPF handler를 커널에 등록시킬 수 있게 하여서, Filesystem의 성능을 개선하였다. == Motivation == FUSE Filesystem in userspace는 User level에서 Filesystem을 제작할 수 있도록 해주는 Linux의 기법이다. Application이 Fuse가 마운트된 위치의 Write이나 Rea...
- 07:022023년 3월 16일 (목) 07:02 차이 역사 +693 Model specific register 편집 요약 없음 최신
- 06:262023년 3월 16일 (목) 06:26 차이 역사 +654 새글 Model specific register 새 문서: 분류: x86 아키텍쳐 == 개요 == Model specific register (MSR)은 x86 인스트럭션에서 디버깅, 프로그램 실행 조절, 퍼포먼스 모니터링, CPU features의 토글을 위해서 사용되는 Control register의 일종이다. RDMSR혹은 WRMSR을 통해서 상기한 레지스터를 읽을 수 있고, 접근 할 수 있다. 두 인스트럭션은 Priviledge 명령어이다. 리눅스는 msr-tools라는 패키지를 통해서 권한이 있는 사용자가...
- 06:182023년 3월 16일 (목) 06:18 차이 역사 +41 새글 PIO Programmed Input/Output 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 06:152023년 3월 16일 (목) 06:15 차이 역사 −4 잔글 Programmed Input/Output 편집 요약 없음 최신
- 06:152023년 3월 16일 (목) 06:15 차이 역사 −17 잔글 Programmed Input/Output 편집 요약 없음
- 06:152023년 3월 16일 (목) 06:15 차이 역사 +282 Programmed Input/Output →ATA 표준에서의 PIO 모드 태그: 시각 편집: 전환됨
- 06:132023년 3월 16일 (목) 06:13 차이 역사 +1,863 새글 Programmed Input/Output 새 문서: 분류: CPU == 개요 == 프로그램 입출력(Programmed Input/Output, 줄여서 PIO)은 네트워크 어댑터나 ATA 기억 장치와 같은 주변 기기와 중앙 처리 장치 사이에서 데이터를 주고받는 방식이다. PIO는 데이터를 CPU의 instruction을 통해서 주고 받는다. 매 데이터 접근 마다 CPU가 관여하기 때문에 CPU의 처리를 불필요한 Polling과 같은 방식으로 낭비하게 된다. 이 PIO의 단점을 극복하...
- 06:032023년 3월 16일 (목) 06:03 차이 역사 +5,125 새글 CPUID 새 문서: 분류: x86 아키텍쳐 == 개요 == CPUID는 x86 아키텍처를 위한 프로세서 기계 명령어이다. 인텔이 펜티엄과 SL 강화 486 프로세서를 내세운 1993년에 도입하였다.<ref>http://www.intel.com/design/processor/manuals/253668.pdf</ref> CPUID opcode를 사용하여 소프트웨어는 프로세서 종류와 MMX, SIMD와 같은 기능들을 결정할 수 있다. CPUID opcode는 0FA2h이며 EAX 레지스터 값은 어떠한 정보를...
- 05:562023년 3월 16일 (목) 05:56 차이 역사 +1,151 새글 Hypercall 새 문서: 분류: 가상화 == 개요 == Hypercall (하이퍼 콜)은 가상머신에서 Guest operating system에서 특정 Host operating system의 기능을 부를때 사용하는 콜기법이다. 하이퍼 콜은 소프트웨어 트랩으로서, Guest operating system이 Hypervisor을 깨워서 특정 로직을 수행하게 만든다. 이러한 기능은 마치 User level, Kernel level domain change를 일으키는 시스템콜과 비슷한 방식으로 작동한다. Page table... 최신 태그: 시각 편집: 전환됨
- 01:572023년 3월 16일 (목) 01:57 차이 역사 +571 Virtual machine control data structures →개요 최신 태그: 시각 편집
- 01:472023년 3월 16일 (목) 01:47 차이 역사 +2,675 새글 Virtual machine control data structures 새 문서: 분류: x86 가상화 == 개요 == Virtual machine control data structures (VMCS)는 VMX시에 x86 CPU가 사용하는 구조체이다. 이 구조체는 가상머신이 어떻게 동작할 것인지 세부적인 동작 방법을 저장하고 있다. 이 구조체에 접근하기 위해서는 VMCLEAR, VMPTRLD, VMREAD 그리고 VMWRITE을 통해서 접근하게 된다. Virtual machine monitor는 각각의 가상머신 마다 다르게 설정된 VMCS를 부여함으...
- 01:342023년 3월 16일 (목) 01:34 차이 역사 +14 새글 파일:States of VMCS.png 편집 요약 없음 최신
- 01:222023년 3월 16일 (목) 01:22 차이 역사 +1,595 새글 Userfaultfd 새 문서: 분류: 리눅스 커널 https://man7.org/linux/man-pages/man2/userfaultfd.2.html == 개요 == userfaultfd()는 페이지 폴트 처리를 사용자 공간 응용에게 위임하는 데 쓸 수 있는 userfaultfd 객체를 새로 생성하고 그 새 객체를 가리키는 파일 디스크립터를 반환한다. ioctl(2)을 이용해 새 userfaultfd 객체를 설정한다. userfaultfd를 설정하고 나면 응용에서 read(2)를 사용해 userfaultfd 알림을 수신... 최신
2023년 3월 14일 (화)
- 05:582023년 3월 14일 (화) 05:58 차이 역사 −197 잔글 Operating System Support for Safe and Efficient Auxiliary Execution →Criticize 최신 태그: 시각 편집
- 05:002023년 3월 14일 (화) 05:00 차이 역사 +87 미디어위키:Liberty-Navbar 편집 요약 없음
2023년 3월 13일 (월)
- 03:492023년 3월 13일 (월) 03:49 차이 역사 +88 Lock 편집 요약 없음 최신
2023년 3월 12일 (일)
- 05:452023년 3월 12일 (일) 05:45 차이 역사 −2 Light-Weight Contexts: An OS Abstraction for Safety and Performance 편집 요약 없음 최신
- 05:452023년 3월 12일 (일) 05:45 차이 역사 −1 Light-Weight Contexts: An OS Abstraction for Safety and Performance 편집 요약 없음
- 05:452023년 3월 12일 (일) 05:45 차이 역사 −1 Light-Weight Contexts: An OS Abstraction for Safety and Performance 편집 요약 없음
2023년 3월 10일 (금)
- 07:482023년 3월 10일 (금) 07:48 차이 역사 +1,743 새글 Throughput and latency 새 문서: 분류: 시스템 벤치마크 == 개요 == Throughput은 특정 단위 시간동안 처리하는 양을 말하며, Latency는 하나의 작업을 처리하는 동안 걸리는 시간을 말한다. Throughput은 Higher is better이고 Latency는 Lower is better이다. 예를 들어서, 하루동안 먹는 양은 Throughput이고 (kg/day)이고 식사시간은 Latency이다. 좀더 컴퓨터 과학으로 설명하면... File하나를 쓰는데 걸리는 시간은 Latency...
- 07:402023년 3월 10일 (금) 07:40 차이 역사 +313 Anonymous memory 편집 요약 없음 최신
- 07:382023년 3월 10일 (금) 07:38 차이 역사 +425 새글 Sharing 새 문서: 분류: 운영체제 == 개요 == 운영체제에서 Sharing이란, 공유하는 자원을 서로다른 유저, 프로세서들이 공유하며 안전하게 접근할 수 있도록 해주는 운영체제의 핵심기능중 하나를 의미한다. 예를 들어서 UNIX Multiuser시스템에서 하나의 디스크를 서로다른 유저들이 안전하고 효율적으로 접근하게 해주는 기능을 들 수 있다. 최신
- 07:362023년 3월 10일 (금) 07:36 차이 역사 +29 Isolation 편집 요약 없음 최신
- 07:352023년 3월 10일 (금) 07:35 차이 역사 +832 새글 Abstraction 새 문서: 분류: 운영체제 == 개요 == Abstraction을 운영체제의 기초적인 기능 중에 하나로서, 복잡한 하드웨어의 구현으로부터 핵심적인 개념 또는 기능을 간추려 내어, 사용자에게 제공하는 것을 말한다. 사실 Abstraction은 운영체제 뿐만 아니라 컴퓨터 과학 더 나아가 자연과학까지 과학의 기본을 구성하는 개념이라고 생각한다. 복잡한 자연환경에서 간단한 수학적 법칙을... 최신
- 07:302023년 3월 10일 (금) 07:30 차이 역사 +4,841 새글 Light-Weight Contexts: An OS Abstraction for Safety and Performance 새 문서: 분류: 시스템 논문 Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2016 James Litton, Peter Druschel == 개요 == 하나의 프로세스에서 다른 memory, file desriptors, 그리고 access capabilitiy를 가지는 LwC라는 새로운 Protection domain을 만들었다. LwC를 전환하는 것은 kernel thread를 switching하는 것보다 더 빠르게 가능하기 때문에 여러 새로운 기능을 탐구하고, 그...
2023년 3월 7일 (화)
- 01:452023년 3월 7일 (화) 01:45 차이 역사 +2 VM exit reasons 편집 요약 없음 최신
- 01:452023년 3월 7일 (화) 01:45 차이 역사 +21 새글 분류:X86 가상화 새 문서: 분류: 가상화 최신
- 01:442023년 3월 7일 (화) 01:44 차이 역사 +56 VM exit reasons 편집 요약 없음
- 01:442023년 3월 7일 (화) 01:44 차이 역사 +957 새글 VM exit reasons 새 문서: 분류: x86 가상화 == 개요 == == Reasons == ;7 Interrupt Window Exiting :이 bit가 enable되면, VM entry혹은 VM의 다음 명령어가 실행되는 순간 VM exit이 발생한다. :* RFLAGS.IF = 1 (외부 인터럽트가 unmaksed됨) :* STI혹은 MOV SS처럼 인터럽트를 허용하는 순간 :Interrupt window exiting은 VMM소프트웨어가 Interrupt을 Inject혹은 Deliver하는 과정에서 Guest VM이 인터럽트를 끈 상태에서, 인터럽트가 전송...
2023년 3월 2일 (목)
- 12:412023년 3월 2일 (목) 12:41 차이 역사 +28 새글 분류:파일 포맷 새 문서: 분류: 파일 시스템 최신
- 12:412023년 3월 2일 (목) 12:41 차이 역사 +47 새글 ELF Executable and linkage format 문서로 넘겨주기 최신 태그: 새 넘겨주기
2023년 2월 28일 (화)
- 12:572023년 2월 28일 (화) 12:57 차이 역사 +82 잔글 Virtio 편집 요약 없음
2023년 2월 27일 (월)
- 01:212023년 2월 27일 (월) 01:21 차이 역사 +101 Scope 편집 요약 없음 최신
2023년 2월 26일 (일)
- 10:162023년 2월 26일 (일) 10:16 차이 역사 −25 동적 계획법 →개요 최신 태그: 시각 편집: 전환됨
- 10:052023년 2월 26일 (일) 10:05 차이 역사 +746 새글 First-class function 새 문서: 분류: 프로그래밍 언어 == 개요 == First-class function에서는 함수가 변수이다. First-class function은 함수가 변수처럼 생각되어서, 다른 함수의 인자로 넘길 수 있으며, 리턴 타입으로 나올 수 있으며, 자료구조와 같은 시스템으로 저장할 수 있다. first-class function을 허용하는 언어에서는 function의 이름이 특별한 의미를 가지는 것이 아니라, 다른 변수와 같은 의미를 가진... 최신
- 09:502023년 2월 26일 (일) 09:50 차이 역사 +2,318 새글 Scope 새 문서: 분류: 프로그래밍 언어 == 개요 == Scope란 특정 변수가 유효한 범위를 말한다. Scope은 같은 이름이 겹치는 것을 막아준다. 예를 들어서 <code>f(x) -> x + y</code> 라는 함수에 인자로 <code>val y = 5; 10 * y</code>를 넣었다고 해보자. 그럼 만약 Scope가 없다면, 결과가 <code>f(val y = 5; 10 * y) -> val y = 5; ; 10 * y + y</code>가 되어 55라는 결과가 나온다. 그러나 함수 f(x)의 정의는 사실 올...
- 07:542023년 2월 26일 (일) 07:54 차이 역사 +1,058 새글 First-order function 새 문서: 분류: 프로그래밍 언어 == 개요 == First-order 함수는 function의 인자로 다른 함수를 받거나, return으로 함수를 내보내지 못하는 함수를 의미한다. Environment(Env)를 다음과 같이 Id를 특정 값으로 매핑하는 집합이라고 하자 (즉, val x= 5; 에서 x가 어떤 값인지를 찾아주는 집합이다). 이떄 Env 를 다음과 같이 정의하면: :<math>Env \,\, \sigma \in Id \rightarrow (Id \times Expr) </math> First-... 최신
- 05:432023년 2월 26일 (일) 05:43 차이 역사 +70 새글 비말단 기호 Terminal and nonterminal symbols#Nonterminal symbols 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 05:422023년 2월 26일 (일) 05:42 차이 역사 +67 새글 말단 기호 Terminal and nonterminal symbols#Terminal symbols 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 05:422023년 2월 26일 (일) 05:42 차이 역사 +1,678 새글 Terminal and nonterminal symbols 새 문서: 분류: 프로그래밍 언어 == 개요 == Terminal 그리고 Nonterminal symbols는 formar grammar에서 production rule을 표현하기 위해서 사용하는 기호들의 분류이다. Terminal symbols는 불변의 값, 상수나 표현식을 의미하며, nonterminal symbol은 terminal symbol의 합으로 구성되는 기호들을 의미한다. == Terminal symbols == Terminal symbols(말단 기호)는 grammar을 사용하여 변화하지 않는 기호를 의미한... 최신
2023년 2월 25일 (토)
- 11:202023년 2월 25일 (토) 11:20 차이 역사 +24 새글 분류:지도 학습 새 문서: 분류: 인공지능 최신
- 11:202023년 2월 25일 (토) 11:20 차이 역사 +24 새글 분류:비지도 학습 새 문서: 분류: 인공지능 최신
- 11:092023년 2월 25일 (토) 11:09 차이 역사 +4,632 새글 큐 새 문서: 분류: 자료 구조 ==개요== '''큐'''는 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO구조로 저장하는 형식을 말한다. 영어 단어는 표를 사러 일렬로 늘어선 사람들로 이루어진 줄을 말하기도 하며, 먼저 줄을 선 사람이 먼저 나갈 수 있는 상황을 연상하면 된다. 나중에 집어 넣은 데이터가 먼저 나오는 스택과는... 최신
- 11:092023년 2월 25일 (토) 11:09 차이 역사 +129 새글 배열 새 문서: 분류: 자료 구조 ==개요== 배열이란 테이블로, N차원의 공간에 자료를 배열하는 방식을 말한다. 최신
- 11:092023년 2월 25일 (토) 11:09 차이 역사 +3,059 새글 리스트 새 문서: 분류:자료 구조 ==개요== 데이터부와 포인터부로 구성된 데이터를 체인으로 연결한 데이터 구조를 리스트라한다. 리스트의 각 요소를 노드라 한다. 이떄 자기자신의 구조체로의 포인터를 포함하는 구조체를 '자기 참조 구조체'라 한다. 구조체는 필요할 떄 원하는 크기만큼 메모리 영역을 받아야 함으로 동적 메모리 할당을 이용하여야 한다. == 상세 == == 개... 최신
- 11:082023년 2월 25일 (토) 11:08 차이 역사 +29 새글 이진 트리 Binary tree 문서로 넘겨주기 최신 태그: 새 넘겨주기