2023년 2월 5일 (일)
- 04:042023년 2월 5일 (일) 04:04 차이 역사 +24 새글 분류:파일 시스템 새 문서: 분류: 운영체제 최신
- 04:042023년 2월 5일 (일) 04:04 차이 역사 +31 새글 분류:시스템 벤치마크 새 문서: 분류: 컴퓨터 시스템 최신
- 04:032023년 2월 5일 (일) 04:03 차이 역사 +1,417 새글 시스템 벤치마크 새 문서: 분류: 시스템 벤치마크 == 유의 사항 == 시스템 실험 벤치마크할때 유의사항!! * Disable HyperThreading Hyper Threading * Numa disable 하기 Numa * CPU frequency policy를 Performance로 설정 Governors * CPU Affinity를 takset #CPU_NUM으로 설정 Affinity * Thread수를 서로 일치시키기 * Networking stack의 구조를 일치시키기 * P-State OFF 시키기 (BIOS Setting) 시스템 실험 벤치마크후 유의사항!! *... 최신
- 04:032023년 2월 5일 (일) 04:03 차이 역사 +3,413 새글 My VM is Lighter (and Safer) than your Container 새 문서: 분류: 시스템 논문 SOSP 2017 - Proceedings of the 26th ACM Symposium on Operating Systems Principles https://dl.acm.org/doi/pdf/10.1145/3132747.3132763 1. Summarize the problem(s) the paper want to solve. VM and container has pros and cons related to performance and isolation. Is there any other way to catch both of them? Do they have to be separated? 2. Why is/are the problem(s) important? State your opinion. Recently, there exist huge shift toward container from... 최신
- 04:022023년 2월 5일 (일) 04:02 차이 역사 +3,106 새글 Cgroup 새 문서: 분류:가상화 ==개요== cgroups(control groups의 약자)는 프로세스들의 자원의 사용(CPU, 메모리, 디스크 입출력, 네트워크 등)을 제한하고 격리시키는 리눅스 커널 기능이다. Cgroups들은 여러 리눅스의 자원들을 계층적인 gruops들로 나누어서, 하위 계층이 상위계층에 접근 할 수 없도록 하는 등의 보안적인 제한을 걸게 된다. Cgruops인터페이스는 pseudo-filesystem인 cgruopfs를 통... 최신
- 03:592023년 2월 5일 (일) 03:59 차이 역사 +2,567 새글 Overlayfs 새 문서: 분류: 파일 시스템 == 개요 == Overlayfs은 union mount의 한 구현 방식으로 여러 디렉토리들을 마치 하나의 디렉토리처럼 사용할 수 있도록 해주는 기법을 말한다. 마치 drawing program - clip studio의 레이어 시스템 처럼 파일 시스템을 여러 레이어로 나누고, 제일 upper layer의 디렉토리를 마스킹 디렉토리로 사용하여, 상위의 overlayFS의 디렉토리와 하위의 겹쳐지지 않은 디렉...
- 03:582023년 2월 5일 (일) 03:58 차이 역사 −7 Mechansim and policy 편집 요약 없음 최신
- 03:582023년 2월 5일 (일) 03:58 차이 역사 +1,700 새글 Mechansim and policy 새 문서: 분류: 일반 전산 용어 분류: 운영체제 Policies are ways to choose which activities to perform. Mechanisms are the implementations that enforce policies. == 개요 == Mechansim and policy는 컴퓨터 과학에서, 이 둘은 분리된야 한다는 원칙중에 하나이다. 이는 Mechansim즉 구현은 Policy즉 정책과는 구별되는 영역이 있음을 시사한다. 이는 많은 운영 체제구현에서도 적용된다. 예를 들어서 CPU s...
- 03:582023년 2월 5일 (일) 03:58 차이 역사 +1,277 새글 난수 새 문서: 분류: 수학 == 개요 == 난수란 어떤 규칙성 없이 무작위로 발생한 수를 말한다. 이때 계산을 통해서 구한 난수를 의사 난수 (Pseudo-Random Number) 라고 한다. 컴퓨터에서 사용되는 모든 난수는 의사 난수이다. 의사난수는 일반 난수에 비해 여러 장점이 있다. # 대표성 : 의사 난수의 알고리즘은 그 난수의 패턴을 대표한다. # 반복성 : 의사 난수는 언제나 같은 결과를 내... 최신
- 03:582023년 2월 5일 (일) 03:58 차이 역사 +36 새글 메모리 통일성 Memory consistency 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 03:572023년 2월 5일 (일) 03:57 차이 역사 +721 새글 Memory consistency 새 문서: 분류: 메모리 분류: 동시성 프로그래밍 == 개요 == Memory consistency (메모리 통일성)이란 공유된 메모리 영역에 대해서, 메모리 영역에 대한 operations들이 반드시 적용된 순서대로 메모리 영역에 반영되어야 한다는 조건이다. 예를 들어서 공유 메모리 A에 대해서 read와 write이 순차적으로 들어가면, 먼저 read를 핼결한후 write를 적용해야 한다. Memory coherence와 다른... 최신
- 03:572023년 2월 5일 (일) 03:57 차이 역사 +1,897 새글 Multicore 새 문서: 분류: CPU 가운데|섬네일 == 개요 == 멀티코어 시스템은 여러개의 homogeneous혹은 hetero한 코어들이 private 혹은 shared캐쉬를 통해서 하나의 CPU처럼 작동하는 시스템을 말한다. 일반적으로 각각의 코어는 L1, L2캐쉬를 할당받고 전체가 공유하는 LLC캐쉬를 가지게 된다. 추가적으로 각각의 코어는 DRAM의 데이터를 공유하며, 이는 memory controller을 통해서...
- 03:562023년 2월 5일 (일) 03:56 차이 역사 +489 새글 Preemption 새 문서: 분류: 스레드 == 개요 == Preemption이란 전산과학에서 이미 작동하고 있는 한 thread, process와 같은 sequence를 다른 sequence의 작동을 위하여 interrupt와 같은 방식으로 중단하고 schedule out하는 것을 말한다. 보통 스케쥴러에서 이러한 일들을 처리하며, process와 process간의 preemption은 context switch로 불리운다. 이러한 preemption은 매우 높은 security를 가지고 보통 Ring0에서 이루어... 최신
- 03:562023년 2월 5일 (일) 03:56 차이 역사 +2,504 새글 Double Scheduling 새 문서: 분류: 가상화 == 개요 == Double Scheduling은 두개의 스케쥴러가 stack을 이룬 경우를 말한다. VM환경에서 host scheduler랑 guest scheduler가 서로 stack을 이루게 되면, host scheduler가 guest scheduler에 대한 시맨틱 정보가 없기 때문에, 잘못된 결정을 내리는 경우가 생길수도 있다. 예를 들어서 guest vCPU가 critical task를 진행하고 있는 중에서 evicted되면, 이 eviction을 처리하기 위한 나... 최신
- 03:552023년 2월 5일 (일) 03:55 차이 역사 +2,395 새글 Shared memory 새 문서: 분류: 동시성 프로그래밍 == 개요 == 공유 메모리(Shared memory)는 컴퓨터 환경에서 여러 프로그램이 동시에 접근할 수 있는 메모리이다. 과다한 복사를 피하거나 해당 프로그램 간 통신을 위해 고안되었다. 환경에 따라 프로그램은 하나의 프로세서에서나 여러 개의 프로세서에서 실행할 수 있다. (예를 들어 여러 개의 스레드 간에) 하나의 프로그램 안에서 통신을... 최신
- 03:552023년 2월 5일 (일) 03:55 차이 역사 +172 새글 Temporal memory error 새 문서: 분류: 취약점 공격 == 개요 == Temporal memory error는 use after free 혹은 dangling pointer와 같은 pointer의 free와 관련된 에러들을 의미한다. 최신
- 03:542023년 2월 5일 (일) 03:54 차이 역사 +46 새글 TOCTOU Time of check to time of use 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 03:542023년 2월 5일 (일) 03:54 차이 역사 +852 새글 Time of check to time of use 새 문서: 분류: 취약점 공격 == 개요 == TOCTOU, TOCTTOU, TOC/TOU, Time of check to time of use는 race condition으로 인해서 state체크와 사용이에 의해서 발생하는 소프트웨어 버그를 말한다. 예를 들어서 어떤 파일의 access권한을 확인하고 권한이 있을 경우 이 파일에 대한 수정을 가하는 프로그램이 있다고 가정해 보자. 만약 이 프로그램을 sudo 권한을 이용해서 실행하는 환경에서 attacker... 최신
2023년 2월 4일 (토)
- 06:082023년 2월 4일 (토) 06:08 차이 역사 +617 새글 Iago Attacks: Why the System Call API is a Bad Untrusted RPC Interface 새 문서: 분류: 시스템 논문 ASPLOS 2013 Stephen Checkoway, Hovav Shacham == 개요 == Untrusted kernel로부터 Application을 보호하는 것을 단순히 생각하면, Application의 메모리만 커널로부터 Integrity와 Confidentiality만을 보장하면 되는 것이라고 생각된다. 하지만 Lago Attack을 사용하면 System call과 같은 커널과의 RPC 리턴값을 정교히 조작하여 임의의 수행을 어플리케이션이 수행하...
- 04:542023년 2월 4일 (토) 04:54 차이 역사 +1,224 새글 Heartbleed 새 문서: 분류: 취약점 공격 사례 == 개요 == OpenSSL에서 사용하는 HeartBeat는 서버와 클라이언트 사이에 정상적으로 연결이 존재하는지 확인하기 위한 프로토콜이다. HeartBeat는 주기적으로 클라이언트에서 서버에게 랜덤한 정보를 정보의 길이와 함께 서버에 전송한다. 그후 서버는 그 요청에대한 echo를 보냄으로써 서버가 정상 작동한다는 것을 알려준다. 클라이언... 최신
- 04:522023년 2월 4일 (토) 04:52 차이 역사 +42 새글 SFI Software fault isolation 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 04:512023년 2월 4일 (토) 04:51 차이 역사 −7 Completeness 편집 요약 없음 최신
- 04:512023년 2월 4일 (토) 04:51 차이 역사 +324 새글 Completeness 새 문서: 분류: 일반 전산 용어 == 개요 == 만약 한 프로그램이 reject된다면 그 프로그램은 언제나 error을 가지고 있음을 의미한다. 예를 들어서 모든 프로그램을 accept하는 anaylzer는 completeness하다. (하지만 soundness하지는 않다.) == 같이 보기 == # Soundness
- 04:512023년 2월 4일 (토) 04:51 차이 역사 +34 새글 PoC Proof of concept 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 04:502023년 2월 4일 (토) 04:50 차이 역사 +407 새글 Proof of concept 새 문서: 분류: 일반 전산 용어 == 개요 == PoC는 전산학에서 (특히 논문에서) Proof of concept즉 이론을 증명하기 위한 예시를 말한다. 예를 들어서 이 문서의 PoC는 ////// 다음 예는 러스트에서 Out of bound에 의해서 런타임 패닉이 일어나는 경우의 PoC이다. <nowiki> Unsafe { let a = Vec::new(); a[0] = 1; //Panic! } </nowiki> //////
- 04:502023년 2월 4일 (토) 04:50 차이 역사 +1,812 새글 ERIM: Secure, efficient in-process isolation with protection keys (MPK) 새 문서: 분류: 시스템 논문 == 개요 == Sandboxing을 위해서 hardware page table로 memory protection을 하는 것은 좋은 방법이나 context swtiching이 많이 발생하는 작업에선 큰 overhead를 만들어 낸다. 이러한 kernel - userlevel context switching을 줄이기 위해서 Intel MPK를 이용하여서 memory bound를 확보하면 문맥 교환을 줄임으로서 속도를 올릴 수 있다. 여기서 PKRU명령어를 1. binary rewriting으로 blo... 최신
- 04:492023년 2월 4일 (토) 04:49 차이 역사 +30 새글 Register 레지스터 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 04:492023년 2월 4일 (토) 04:49 차이 역사 +2,103 새글 레지스터 새 문서: 분류: CPU == 개요 == 프로세서에 위치한 고속 메모리로 극히 소량의 데이터나 처리 중인 중간 결과와도 같은 프로세서가 바로 사용할 수 있는 데이터를 담고 있는 영역을 레지스터라고 한다. 컴퓨터 구조에 따라 크기와 종류가 다양하다. 일반적으로 현재 계산을 수행중인 값을 저장하는 데 사용된다. 대부분의 현대 프로세서는 메인 메모리에서 레지스터로 데이... 최신
- 04:482023년 2월 4일 (토) 04:48 차이 역사 +1,649 새글 Keeping Safe Rust Safe with Galeed 새 문서: 분류: 시스템 논문 ACSAC 2021 == 개요 == Rust는 sound하지만 incomplete하다. 이러한 단점을 극복하기 위해서 러스트는 unsafe keyword를 제공함으로써 외부 unsafe한 언어로 적힌 라이브러리들을 import할 수 있도록 한다. 그러나 이러한 라이브러에서 발생한 error는 전체 safe한 러스트에도 영향을 가한다. 이를 분리 하기위해서 runtime check를 각 코드에 가함으로써 메모리가 분... 최신
- 04:452023년 2월 4일 (토) 04:45 차이 역사 +1,218 새글 LibMPK: Software abstraction for intel memory protection keys (Intel MPK) 새 문서: 분류: 시스템 논문 == 개요 == Intel MPK는 다음과 같은 3가지 장점이 있다. * Performance * group-wise control (PKRU레지스터 변경으로 한번에 permission 변경 가능) * per-thread view * user control permission 그러나 이걸 바로 사용하기에는 다음과 같은 문제가 있다. * protection key use after free: 리눅스 시스템 콜 pkey_free이후에 해제된 키를 사용시 기존의 해제된 부분의 permission도 같이 움... 최신
- 04:432023년 2월 4일 (토) 04:43 차이 역사 +626 새글 Critical section 새 문서: 분류: 동시성 프로그래밍 == 개요 == '임계 영역'이라고도 한다. 서로 다른 두 프로세스, 혹은 스레드 등의 처리 단위가 같이 접근해서는 안 되는 공유 영역을 뜻한다. 보호되지 않는 임계 구역에 두 처리 단위가 동시에 접근할 때 발생하는 문제를 '임계 구역 문제'라고 한다. 임계 구역을 시작하는 코드 부분을 '입장 구역(entry section)', 임계 영역을 종료하는 코드... 최신
- 04:422023년 2월 4일 (토) 04:42 차이 역사 +3,415 새글 MCS lock 새 문서: 분류: 스레드 == 개요 == MCS lock (Mellor-Crummey and Scott lock)은 기본적인 spinlock기반의 lock을 per-CPU 구조의 Lock으로 옮긴것이다. 기존의 spinlock은 각각의 acquire마다 cache-line을 일치시키기 위한 cache-line bouncing이 발생한다. 이는 많은 contention이 일어나는 환경에서 큰 overhead을 일으킬 수 있다. 특히 Scalability가 지켜져야 하는 상황에서는 cache-line coherence 문제 덕분에 scalab... 최신
- 04:422023년 2월 4일 (토) 04:42 차이 역사 +1,706 새글 Spin lock 새 문서: 분류: 동시성 프로그래밍 == 개요 == 스핀락(spinlock)은 임계 구역(critical section)에 진입이 불가능할 때 진입이 가능할 때까지 루프를 돌면서 재시도하는 방식으로 구현된 락을 가리킨다. 스핀락이라는 이름은 락을 획득할 때까지 해당 스레드가 빙빙 돌고 있다(spinning)는 것을 의미한다. 스핀락은 바쁜 대기의 한 종류이다. 스핀락은 운영 체제의 스케줄링 지원을 받... 최신
- 04:412023년 2월 4일 (토) 04:41 차이 역사 +664 새글 Ticket lock 새 문서: 분류: 동시성 프로그래밍 == 개요 == Spin lock은 Starvation문제가 발생한다. 이 문제를 해결하기 위해서 SpinLock의 lock value가 스스로의 owner value와 같을때까지 실행을 멈추는 Lock 구현방식이다. 마치 레스토랑에서 순서를 정하는 티켓을 배정받고 순서대로 레스토랑에 입장하는 것과 같다고 볼 수 있다. == 장단점 == === 장점 === * spin lock에 비하여 fair하다 === 단점 ===... 최신
- 04:412023년 2월 4일 (토) 04:41 차이 역사 +548 새글 Cache line 새 문서: 분류: 메모리 관리 cache line is the unit of data transfer between the cache and main memory. == 개요 == CPU의 빠른 처리 속도는 Cache의 사용을 요구하였다. 이러한 캐쉬는 메모리와의 동기화를 유지하기 위해서 계속해서 동기화되어야 하는데, 이 최소단위를 Cache Line이라고 한다. 현대적인 CPU는 보통 64바이트크기의 Cache Line을 사용한다. == 참고 == # https://medium.com/software-design/...
- 04:412023년 2월 4일 (토) 04:41 차이 역사 +2,197 새글 NUMA 새 문서: 분류: CPU 분류: 시스템 최적화 == 개요 == 메모리에 접근하는 시간이 CPU와 메모리의 상대적인 위치에 따라 달라지는 컴퓨터 메모리 설계 방법. 각 CPU는 메모리의 일부를 자신의 지역 메모리(Local Memory)로 가지고 있으며 이 지역 메모리에 접근하는 속도는 원격 메모리(Remote Memory)에 접근하는 속도보다 훨씬 빠르다. 프로세서들간의 연결은 인텔 퀵패스 인터커넥... 최신
- 04:402023년 2월 4일 (토) 04:40 차이 역사 +6,162 새글 Lock 새 문서: 분류: 동시성 프로그래밍 가운데|리눅스 버전에 따른 다양한 Lock의 예시(S.Kashyap Scaling synchonization primitives|750px == 개요 == LOCK이란 Atomicity를 부여하기 위해서 하나의 변수에 대한 접근을 제한하는 것이다. Lock은 다중 코어 환경에서 시스템에 일관성을 부여한다. Blocking Lock (spin lock, RW lock..)이나 Non-Blocking Lock(Mutex, Semaphores..)로 분류할 수 있다. 점점...
- 04:402023년 2월 4일 (토) 04:40 차이 역사 +534 새글 Test and set 새 문서: 분류: 동시성 프로그래밍 == 개요 == 용어의 약간의 misleading이 있지만, test-and-set 은 hardware atomic operation으로 spin-lock을 구현하는 기본이 되는 operation을 말한다. 이 operation은 단순히 아래의 일을 한다. test_and_set(val, lock) = set val to lock, return previous_val from lock. 즉 test-and-set의 test는 사용자가 수행하는 것이고 TAS라고 하면 보통 이 atomic fetch operation을 말한다. == 같이... 최신
- 04:402023년 2월 4일 (토) 04:40 차이 역사 +487 새글 Thundering Herd 새 문서: 분류: 동시성 프로그래밍 == 개요 == Thundering Herd문제란 하나의 global variable에 대한 수정을 여러 process/thread에서 요구하지만 단 하나의 자원만의 접근을 허용하는 경우에 생기는 문제를 말한다. 이 경우 극심한 Cache line invalidation과 더불어 자원에 대한 경쟁으로 인하여 latency가 증가하는 등의 여러 문제가 생긴다. 특히 TAS혹은 TTAS기반의 락에서 심하게 일어난... 최신
- 04:392023년 2월 4일 (토) 04:39 차이 역사 +1,449 새글 Test and test and set 새 문서: 분류: 동시성 프로그래밍 == 개요 == test and test and set은 기존 Test and set의 단점을 극복하기 위해서 만들어졌다. 모든 test_and_set은 기존의 val값이 무었이든 상관없이 cache line invalidation을 요구한다. 이는 Multicore환경에서 performance저하를 일으켜서 Scalability을 저하시킨다. 이 문제를 해결하기 위해서 Test and test and set은 우선 set없는 test를 수행하여 변수를 확인하... 최신
- 04:382023년 2월 4일 (토) 04:38 차이 역사 +640 새글 Concurrency 새 문서: 분류: 동시성 프로그래밍 In computer science, concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the final outcome. == 개요 == Concurrency란 컴퓨터 프로그래밍에서 동시에 서로 영향을 주지 않고 실행할 수 있는 프로그램 혹은 알고리즘의 부분을 말한다. 즉 Concurrency 가 앞에 붙은 말은 동시에 실행될수... 최신
- 04:372023년 2월 4일 (토) 04:37 차이 역사 0 Cohort Lock 편집 요약 없음 최신
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:Raster Image.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:다중데이터 포맷.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:Blinn-Phong.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:Gouraud Interpolation.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:Whitted Ray Tracing.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:스크린샷 2019-03-31 오후 2.14.05.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:쿠키.png == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드
- 04:362023년 2월 4일 (토) 04:36 차이 역사 +51 새글 파일:Quick Sort.gif == 파일 설명 == Import images from old noriwiki 최신 태그: 서버측 업로드