2023년 2월 11일 (토)
- 03:042023년 2월 11일 (토) 03:04 차이 역사 +6,031 새글 Interrupt descriptor table 새 문서: 분류: 예외적 제어흐름 == 개요 == '''인터럽트 디스크립터 테이블 (Interrupt Descriptor Table''' ('''IDT'''))은 인터럽트 벡터 테이블을 구현하기 위해 X86 아키텍처에서 사용되는 데이터 구조체이다. IDT는 프로세서가 인터럽트와 예외에 대한 정확한 반응을 결정하기 위해 사용된다. 아래에서 설명할 자세한 부분들은 x86 아티텍처와 AMD64 ...
- 03:032023년 2월 11일 (토) 03:03 차이 역사 +28 새글 분류:GPU 새 문서: 분류: 컴퓨터 구조 최신
- 03:022023년 2월 11일 (토) 03:02 차이 역사 −13 GPU 편집 요약 없음 최신
- 03:022023년 2월 11일 (토) 03:02 차이 역사 +3,529 새글 GPU 새 문서: 분류: 컴퓨터 구조 == 개요 == GPU는 Rater based graphics에서 가속을 하기 위해서 등장하였다. GPU는 Turing complete이기 때문에 CPU가 할 수 있는 모든 일을 처리할 수는 있지만, 병렬 컴퓨팅이 아닌 환경에서는 CPU에 비해 매우매우 느리다. GPU는 단순한 계산의 병렬처리에 특화 되어 있기 때문에, 행렬 처리에 특화되어 있다고도 할 수 있다. 실리콘 다이에 있어서 CP...
- 03:022023년 2월 11일 (토) 03:02 차이 역사 +195 새글 Stall 새 문서: 분류: 동시성 프로그래밍 == 개요 == Stall이란 의존성 있는 오래 걸리는 명령을 실행하느라, 현재 다음 명령어를 실행하지 못하는 현상을 말한다. 최신
- 03:002023년 2월 11일 (토) 03:00 차이 역사 +31 새글 CoW Copy on write 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 03:002023년 2월 11일 (토) 03:00 차이 역사 +3,974 새글 Fork 새 문서: 분류: POSIX 시스템 콜 분류: 프로그램 실행 == 개요 == 컴퓨팅, 특히 유닉스 운영 체제와 유닉스 계열 환경에서 포크(fork)란 프로세스가 자기 자신을 복제하는 동작이다. 이는 일반적으로 시스템 호출의 일종이며, 커널 안에서 구현된다. 포크는 유닉스 계열 운영 체제에서 프로세스를 만드는 주된 방식이다. 복제의 대상을 부모 프로세스라 하고 그 결과물을 자... 최신
- 02:592023년 2월 11일 (토) 02:59 차이 역사 +31 새글 OOM Out of memory 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 02:592023년 2월 11일 (토) 02:59 차이 역사 +321 새글 Out of memory 새 문서: 분류: 메모리 관리 == 개요 == 메모리 부족(Out of memory, OOM) 현상은 대량의 애플리케이션 구동으로 인해 시스템 메모리가 부족할 때 OS에 의해 애플리케이션이 다운되는 것을 말한다. (우선순위에 의해 백그라운드 애플리케이션이 먼저 닫힌다) 최신
- 02:592023년 2월 11일 (토) 02:59 차이 역사 +37 새글 분류:POSIX 시스템 콜 새 문서: 분류: 시스템 프로그래밍 최신
- 02:592023년 2월 11일 (토) 02:59 차이 역사 +1,780 새글 Exec 새 문서: 분류: POSIX 시스템 콜 == 개요 == 다른 프로그램을 실행시킨다. 이때 다른 프로그램은 현재 프로세스의 메모리를 덮어쓰게 된다. : execve(flinename, argv, envp) # filename: 실행시킬 프로그램을 서술한다. # argv: 실행시킬 프로그램의 파라미터를 가르키는 포인터를 서술한다. # envp: 프로그램이 어떤 환경에서 실행될지를 기술한다. Exec는 Permission error, no executable, OOM등의... 최신
- 02:582023년 2월 11일 (토) 02:58 차이 역사 +2,055 새글 Copy on write 새 문서: 분류: 메모리 관리 == 개요 == Copy On Write란 말 그대로 작성시 이전의 내용을 Copy한다는 뜻이다. 부모나 자식 프로세스가 copy on write 메모리 영역에 접근하게 되면 그 영역을 먼저 복사하고 작성하게 된다. Linux(Unix)에서는 자식 프로세스(child process)를 생성(fork)하면 같은 메모리 공간을 공유하게 된다. 그런데 부모 프로세스가 데이터를 새로 넣거나, 수정하거나,... 최신
- 02:582023년 2월 11일 (토) 02:58 차이 역사 +6,294 새글 Convolution layer 새 문서: 분류: 딥러닝 == 개요 == Convolution layer은 이미지의 공간적인 구조를 계산하고 싶은 것이다. 이미지의 feature들은 자유변형에 따라서 위치가 크게 변화하지만 서로 상대적인 값은 크게 변화하지 않는 특징이 있다. 따라서 이러한 구조에 대한 정보를 보존하기 위해서 filter와의 convolution연산을 통해서 이미지를 계산하게 된다. 이를 Convoluton layer이라고 한다. 필터는... 최신
- 02:572023년 2월 11일 (토) 02:57 차이 역사 +31 새글 Flynn's taxonomy Ahn9807님이 Flynn's taxonomy 문서를 플린 분류 문서로 이동했습니다 최신 태그: 새 넘겨주기
- 02:572023년 2월 11일 (토) 02:57 차이 역사 0 잔글 플린 분류 Ahn9807님이 Flynn's taxonomy 문서를 플린 분류 문서로 이동했습니다 최신
- 02:572023년 2월 11일 (토) 02:57 차이 역사 +1,992 새글 플린 분류 새 문서: 분류: 동시성 프로그래밍 400픽셀|섬네일|가운데 == 개요 == 플린 분류(영어: Flynn's taxonomy)는 마이클 플린이 1966년에 제안한 컴퓨터 아키텍처 분류이다. * SISD(Single Instruction, Single Data streams) * SIMD(Single Instruction, Multiple Data streams) * MISD(Multiple Instruction, Single Data streams) * MIMD (Multiple Instruction, Multiple Data streams) == 종류 == === SISD === 하나의 명령어...
- 02:562023년 2월 11일 (토) 02:56 차이 역사 +4,890 새글 Database addressing 새 문서: 분류: 데이터베이스 == 개요 == 데이터베이스 혹은 파일시스템에 파일을 저장하는 방법을 기술한다. Physical Address 혹은 Logical Address를 통해서 접근하며, 전자는 레코드의 진짜 위치에 대한 정보를 나타내고, 후자는 임의의 주소에 해당하는 숫자값을 나타낸다. 이 두개는 Map table을 통해서 서로 교환 가능하다. 이중 Physical Address는 Database address와 Memory Address로 구... 최신
- 02:552023년 2월 11일 (토) 02:55 차이 역사 +3,495 새글 Race condition 새 문서: 분류: 동시성 프로그래밍 == 개요 == 공학 분야에서 경쟁 상태(race condition)란 둘 이상의 입력 또는 조작의 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태를 말한다. 입력 변화의 타이밍이나 순서가 예상과 다르게 작동하면 정상적인 결과가 나오지 않게 될 위험이 있는데 이를 경쟁 위험이라고 한다. 스레드에서도 어떤 스레드가 먼저 실행될지 모르기 때... 최신
- 02:552023년 2월 11일 (토) 02:55 차이 역사 +449 새글 Loop unrolling 새 문서: 분류: 컴파일러 분류: 시스템 최적화 == 개요 == Loop unrolling이란 loop를 풀어서 바이너리 코드의 크기는 증가하지만, 하드웨어 가속을 추구하는 기법이다. 루프 언롤링을 통해서 루프에서 다음 루프로 이동하는 동안 일어나는 동기화, 인덱스 증가, 비교문과 같은 불필요한 계산 시간을 줄여서 프로그램이 수행하는 시간을 줄일 수 있다. 최신
- 02:542023년 2월 11일 (토) 02:54 차이 역사 +2,031 새글 Virtual memory 새 문서: 분류: 메모리 관리 == 개요 == 가상 메모리란 용어 그대로 메모리를 가상화하는 방법이다. 가상 메모리가 등장한 가장 큰 배경은 물리 메모리Physical Memory가 너무 작았기 때문이었으므로, 마치 메모리가 더 많은 것처럼 보여주려고 사용했다. CPU가 내보내는 메모리 주소, 즉 운영체제나 애플리케이션이 사용하는 주소는 실제 메모리의 물리 주소Physical Address가 아닌... 최신
- 02:542023년 2월 11일 (토) 02:54 차이 역사 +2,968 새글 Memory segmentation 새 문서: 분류: 메모리 관리 섬네일|가운데 == 개요 == Memory segmentation이란 메모리 보호를 수행하는 가장 일반적인 방법 가운데 하나이다. 다른 방법으로는 페이징 이 있다. 메모리를 여러 세그먼트로 나누어서 한 세그먼트에서 다른 세그먼트로의 접근을 막는 것을 말한다. 이러한 이용은 인텔 8086, 인텔 8088과 같은 초기 x86 프로세서에 쓰인 메모리...
- 02:542023년 2월 11일 (토) 02:54 차이 역사 +996 새글 메모리 단편화 새 문서: 분류: 메모리 관리 == 개요 == 가용 메모리에 사용할 수 없는 불필요한 공간이 생기는 현상을 말한다. # 내부 단편화 (Internal Fragmentation): 세그멘테이션이나 페이징과 같이 메모리를 여러개로 쪼갤경우 외부적으로 보기에는 단편화가 없어 보이지만, 각각의 영역안에서는 내부 단편화가 발생하게 된다. 각각의 세그멘테이션 혹은 페이지 안에서 사용되지 않는 공간...
- 02:532023년 2월 11일 (토) 02:53 차이 역사 +753 새글 Demanding paging 새 문서: 분류: 메모리 관리 == 개요 == Demanding Paging은 프로그램이 필요한 파일의 모든 내용을 메모리에 적재하는 것이 아니라, Virtual Memory를 사용하여 필요한 순간에만 필요한 페이지를 Storage에서 읽어들여서 메모리에 올리는 기술이다. == 과정 == # TLB 미스 # 페이지 테이블 Walk # 페이지 폴트 # Trap to Kernel # Virtual Address를 File + Offset으로 변환 # Page frame할당 # Disk block을... 최신
- 02:522023년 2월 11일 (토) 02:52 차이 역사 +12,689 새글 Bit Fusion: Bit-Level Dynamically Composable Architecture for Accelerating Deep Neural Network 새 문서: 분류: 시스템 논문 ISCA 2018 == Introduction && Empirical study == DNN에서 대다수의 명령을 차지하는 실수 곱하기 더하기 연산은 그다지 큰 정확도의 부동소수점 연산을 필요로 하지 않는다. 일례로 Cifar과 같은 데이터의 경우, 부동 소수점 연산의 많은 부분은 Binary operation으로 구성되어 있다. 부동 소수점 연산의 정확도가 올라갈 수로 이를 처리하기 위해서 필요한 반도...
- 02:522023년 2월 11일 (토) 02:52 차이 역사 +28 새글 페이지 폴트 Ahn9807님이 페이지 폴트 문서를 Page fault 문서로 이동했습니다 최신 태그: 새 넘겨주기
- 02:522023년 2월 11일 (토) 02:52 차이 역사 0 잔글 Page fault Ahn9807님이 페이지 폴트 문서를 Page fault 문서로 이동했습니다 최신
- 02:522023년 2월 11일 (토) 02:52 차이 역사 +1,498 새글 Page fault 새 문서: 분류: 메모리 관리 == 개요 == 페이지 부재 또는 페이지 폴트(page fault, #PF, PF, hard fault)는 메모리에 적재된 페이지중에 사용 페이지가 없을 때를 가리킨다. 시스템의 종류에 따라 약간 다를 수 있으나, 대체로는 빈 페이지가 하나도 없거나, 미리 정한 수보다 적을 때 발생한다. == 처리 과정 == Page Fault -> (인터럽트) Page fault Handler (Allocate page) -> (인터럽트 핸들...
- 02:512023년 2월 11일 (토) 02:51 차이 역사 +37 새글 Recursive Page Table 페이지 테이블 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 02:512023년 2월 11일 (토) 02:51 차이 역사 0 페이지 테이블 편집 요약 없음 최신
- 02:512023년 2월 11일 (토) 02:51 차이 역사 +37 새글 Page table entry 페이지 테이블 문서로 넘겨주기 최신 태그: 새 넘겨주기
- 02:502023년 2월 11일 (토) 02:50 차이 역사 +1,280 페이지 테이블 편집 요약 없음
- 02:492023년 2월 11일 (토) 02:49 차이 역사 +34 새글 익명 메모리 영역 Ahn9807님이 익명 메모리 영역 문서를 Anonymous memory 문서로 이동했습니다 최신 태그: 새 넘겨주기
- 02:492023년 2월 11일 (토) 02:49 차이 역사 0 잔글 Anonymous memory Ahn9807님이 익명 메모리 영역 문서를 Anonymous memory 문서로 이동했습니다
- 02:492023년 2월 11일 (토) 02:49 차이 역사 +273 새글 Anonymous memory 새 문서: 분류: 메모리 관리 == 개요 == 익명 메모리란, File-backed memory의 반대가 되는 용어로, 특정한 파일에 종속된 것이 아니라 메모리 그 자체로 존재하는 메모리 영역을 말한다. 힙과 스택이 여기에 포함된다.
- 02:492023년 2월 11일 (토) 02:49 차이 역사 +36 새글 파일 의존 메모리 영역 Ahn9807님이 파일 의존 메모리 영역 문서를 File-backed memory 문서로 이동했습니다 최신 태그: 새 넘겨주기
- 02:492023년 2월 11일 (토) 02:49 차이 역사 0 잔글 File-backed memory Ahn9807님이 파일 의존 메모리 영역 문서를 File-backed memory 문서로 이동했습니다 최신
- 02:482023년 2월 11일 (토) 02:48 차이 역사 +217 새글 File-backed memory 새 문서: 분류: 메모리 관리 == 개요 == 파일 의존 메모리 영역이란, 파일에 의거한 메모리 영역을 말한다. Code, Data, Shared LLibraries, MMAPed- files와 같은 것이 여기에 포함된다.
- 02:482023년 2월 11일 (토) 02:48 차이 역사 +11,120 새글 CUDA 새 문서: 분류: 시스템 프로그래밍 == 개요 == * Host: CPU * Device: GPU * device code: code run in GPU (written in c (API), Compile to execute in GPU) * host code: code run in CPU (written in c) 우선 CPU메모리에서 GPU메모리로 복사가 일어난뒤, (PCI Bus를 통해서) GPU 코드를 로드하고 실행시키게 된다. 코드가 실행되고 결과는 다시 GPU메모리에서 CPU메모리로 Copy되게 된다. 메모리와 디바이스는 서로 메모리... 최신
- 02:472023년 2월 11일 (토) 02:47 차이 역사 +1,195 새글 2nd Algorithm 새 문서: 분류: 메모리 관리 분류: 리눅스 커널 == 개요 == 어느 한 공간에 대한 접근이 있다는 것을 카운팅 하였을때, 1번 일어난다는 것은 2번 일어난 다는 것과 비교하여 많은 차이점이 있다. 1번 일어난다는 것은 메모리에 scan이라는 과정이 일어났다는 것을 의미하며, 2번 점근한다는 것은 메모리에 Access하였다는 것을 나타낸다는 가정을 할 수 있다. 따라서 1번 접근... 최신
- 02:452023년 2월 11일 (토) 02:45 차이 역사 +795 새글 Clock Eviction Algorithm 새 문서: 분류: 메모리 관리 == 개요 == 주기적으로 0으로 재설정하지 않는 시스템을 가정하며, 주기억장치에 적재된 페이지들을 환형리스트로 보고 각 페이지를 시계 방향으로 움직이는 포인터를 사용하여 교체될 페이지를 선정한다. 원칙은 다음과 같다. # 현재 포인터가 가리키는 페이지의 참조 비트 검사 # 해당 페이지가 리스트에 있고 참조 비트가 0이라면 1로 재설... 최신
- 02:452023년 2월 11일 (토) 02:45 차이 역사 +1,271 새글 Page eviction 새 문서: 분류: 메모리 관리 == 개요 == 페이지 Eviction이란 시스템에 1. 더이상 메모리를 할당 할 수 없거나, 2. swap out policy에 따라서 적당한 양의 메모리를 확보하고자 할때, 현재 메모리에 있는 page중에서 disk로 swap-out될 페이지를 결정하는 과정이다. Page Eviction의 방식은 LRU, LRF, 2nd Algorithm, Clock Eviction Algorithm과 같은 방식을 이용하여 작동하게 된다. == Type == #... 최신
- 02:452023년 2월 11일 (토) 02:45 차이 역사 +508 새글 Working set 새 문서: 분류: 메모리 관리 == 개요 == Working set이란 메모리에서 유의미하게 cache hit들이 일어나기 때문에, cached되는 것이 합당한 영역을 말한다. Wroking set size는 Working set중에서 unique한 페이지들의 개수를 말한다. 즉 이는 특정한 time window에서 reference된 페이지들의 개수를 의미한다. 지역성이 안 좋다는 것은 이러한 reference된 페이지들이 많다는 것으로, working set size가 크... 최신
- 02:442023년 2월 11일 (토) 02:44 차이 역사 +7,517 새글 Scale-Out Acceleration for Machine Learning 새 문서: 분류: 시스템 논문 Micro 2017 === Introduction && Empirical study === 이 논문은 CoSMIC이라는 language, compiler, system software, template architecture 그리고 circuit generator의 역활을 distributed system에서 수행하는 과정의 개발을 어떻게 하였는가에 대한 논문이다. 현재 존재하는 Hadoop이나 Spark와 같은 시스템은 distributed computing에 특화된 것은 맏지만, 목표가 general-purpose platform이라는 공...
- 02:422023년 2월 11일 (토) 02:42 차이 역사 +30 새글 Directory Ahn9807님이 Directory 문서를 디렉토리 문서로 이동했습니다 최신 태그: 새 넘겨주기
- 02:422023년 2월 11일 (토) 02:42 차이 역사 0 잔글 디렉토리 Ahn9807님이 Directory 문서를 디렉토리 문서로 이동했습니다 최신
- 02:422023년 2월 11일 (토) 02:42 차이 역사 +4,664 새글 디렉토리 새 문서: 분류: 파일 시스템 == 개요 == 디렉토리는 컴퓨팅에서 파일과 다른 디렉토리들의 그룹을 갖고 있는 파일 시스템 안의 존재물이다. 컴퓨터의 파일 시스템은 파일 캐비넷으로 표현될 수 있다. 여기서 높은 수준의 디렉토리들을 서랍이라고 부르고 낮은 수준의 하위 디렉토리들을 서랍 안에 있는 파일 폴더라고 부를 수 있다. 사실 디렉토리도 하나의 파일로써 존재...
- 02:412023년 2월 11일 (토) 02:41 차이 역사 +24 새글 File Ahn9807님이 File 문서를 파일 문서로 이동했습니다 최신 태그: 새 넘겨주기
- 02:412023년 2월 11일 (토) 02:41 차이 역사 0 잔글 파일 Ahn9807님이 File 문서를 파일 문서로 이동했습니다 최신
- 02:412023년 2월 11일 (토) 02:41 차이 역사 +456 새글 파일 새 문서: 분류: 파일 시스템 == 개요 == 컴퓨터 파일은 컴퓨터 등의 기기에서 의미 있는 정보를 담는 논리적인 단위이다. 하드디스크, CD, DVD 등 저장매체에 대하여 추상화된 정보 단위이다. 운영체제는 파일 조작에 관련된 기능을 API로 제공한다. 일반적으로 파일의 이름과 확장자로 식별하며, 운영 체제에 따라 대소문자를 구별하거나 구별하지 않는다.
- 02:402023년 2월 11일 (토) 02:40 차이 역사 +806 새글 풀링 새 문서: 분류: 제어흐름 분류: 동시성 프로그래밍 == 개요 == 폴링은 CPU가 주기적으로 데이터가 도착했는지 확인하는 것을 말한다. 인터럽트가 CPU에게 외부의 신호를 주는 것이라면 폴링은 CPU가 주기적으로 확인한다는 것을 말한다. 대부분의 경우에서 CPU의 성능저하를 초래하지만, Network와 같이 대량의 정보가 주기적으로 오는 경우, 폴링은 정보를 배치단위로 처... 최신