분류 전체보기(99)
-
GRUB fallback 설정
GRUB_SAVEDEFAULT=true 라인을 /etc/default/grub의 'GRUB_DEFAULT' 라인 이후에 추가해준다. 이렇게 하면 마지막으로 커널이 정상적으로 부트 됐던 엔트리를 기억하고 이 엔트리를 사용해서 다음 부트로 사용한다.
2023.05.31 -
컴퓨터구조 1강
PC 에서 사용하는 인텔 기반 ISA, 모바일에서 사용되는 ARM ISA로 양분된다. 새로운 ISA를 만드는데 생기는 문제는 무엇일까? 예전에 돌아가던 프로그램과의 호환성을 문제이다. ADT는 state와 operation으로 정의 된다. 가령 스택은 스택에 쌓여있는 아이템들로 상태가 정의되고, push, pop 등의 operation이 정의가 된다. ISA는 하드웨어와 소프트웨어 사이를 가르는 인터페이스이다. ISA는 레지스터와 메모리로 정의된 state와 state를 transform 시킬 수 있는 operation 등으로 정의된다. Instruction의 의무는 레지스터와 메모리로 정의된 state를 변하게 하는 것이다.
2023.05.23 -
[서울대학교 공과대학] 컴퓨터의개념및실습 1. Welcome Abroad
서울대학교 민상렬 교수님의 https://www.youtube.com/watch?v=5Ic_AhAFbco 영상을 보고 작성했다 1. 튜링머신 실제 compute 할 수 있는 것은 튜링 머신에서도 항상 풀 수 있다. Turing equivalence란 무한의 메모리와 시간이 주어진다면 실제 compute할 수 있는 것은 튜링 머신에서도 항상 풀 수 있기 때문에 슈퍼 컴퓨터로 풀 수 있는 문제는 데스크탑에서도 풀 수 있고, 데스크탑에서 풀 수 있는 문제는 핸드폰에서도 풀 수 있다는 것이다. 튜링 머신의 예시를 보자. 위의 테이프는 왼쪽, 오른쪽으로 무한한 길이를 가지고 있으며 read-write head를 가지고 있다. 헤드는 타임 스텝마다 1. read symbol 2. write symbol 3. mov..
2023.05.23 -
리눅스 커널 모듈 컴파일 방법
$ cd linux-5.15.65 $ make x86_64_defconfig $ make all $ sudo make modules_install $ sudo make install 0. 패키지 설치 && make clean && 리눅스 소스코드 sudo apt-get install build-essential libncurses5 libncurses5-dev bison flex libssl-dev libelf-dev bin86 kernel-package make clean make clean으로 이전에 수행했던 컴파일과정에서 생성된 오브젝트 파일, 커널, 임시파일, 설정값을 삭제할 수 있다. $ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5...
2023.05.06 -
blktrace, blkparse
blkparse를 돌리니 다음과 같은 결과가 나왔는데 어떻게 해석해야할까 1. Each field explanation : Writes queued: The number of write requests that have been queued for processing by the block layer. Write dispatches: The number of write requests that have been sent to the device driver for processing. Writes requeued: The number of write requests that have been requeued for processing due to errors or other issues. Writes c..
2023.03.17 -
Linux Software Chunk vs Stripe
Striping은 데이터를 여러 디스크에 분산시키는 방법을 말한다. 각각의 디스크에는 고정 크기의 데이터가 적히게 된다. 첫번째 디스크는 디스크 array에 있는 다른 디스크에도 같은 크기의 데이터가 다 적힐 때까지 재사용되지 않는다. Stripe size는 parallel disk block에 적히는 데이터의 크기를 의미한다. 가령, stripe size가 64kb인 4개의 디스크 array를 갖는다고 하면 각각의 디스크에는 16kb만큼의 데이터가 적힌다. chunk size는 각각의 디스크에 적히는 data 크기를의미한다.
2022.11.07