일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- linux
- Flash Memory
- Samsung
- 키워드
- core dumped
- storage system
- kernel
- Cache
- rocksdb
- USENIX
- ssd
- performance
- github
- Git
- framework
- Intel
- overflow
- 시스템 프로그래밍
- hardware
- 시스템 소프트웨어
- Machine Learning
- deep learning
- 포트 번호 변경
- software
- FTL
- memory
- Operating System
- 커널 프로그래밍
- Today
- Total
목록분류 전체보기 (58)
Happy to visit my research note ^^
default port 번호인 22번은 보안상의 위험이 크다. 이런 시도는 ssh 접속시 또는 별도의 로그를 통해 확인할 수 있고 서버를 운영한다면 가급적 해당 포트는 변경해서 사용하는 것이 권장된다. 포트 번호를 변경하기 위해선 아래의 순서로 진행한다. 1. SSH port 확인 아래의 명령어로 server의 ssh 포트를 확인한다. netstat -nlp | grep sshd 2. SSH 설정 변경 아래의 file의 내용을 수정해서 원하는 포트 번호로 변경한다. vi /etc/ssh/sshd_config #Port 22 Port 20022# 예시 3. SSH service 재시작 # Ubuntu /etc/init.d/ssh restart 4. 변경된 SSH 포트 확인 서비스 재시작 후 SSH 포트가 ..

Linux CentOS, Ubuntu 등 OS를 사용하면서 알아야할 directory의 구조에 대해 알아보자. Linux는 Tree 구조로 되어있고 명령어의 성격과 내용 및 사용 권한 등에 따라 directory로 구분되어 있다. / (root) : - 최상위(root) directory - directory들의 절대 경로를 표기할 때 해당 directory부터 시작한다. /bin (binary) : - binary file(executable file) - 기본적인 명령어 저장 (linux operation중에 mv, cp, rm 같은 명령어) /boot (boot) : - linux의 boot loader가 있는 directory ( Linux 나 OS가 컴퓨터에 부팅될 때 가장 먼저 실행되는 sof..
pthread를 알려면 thread에 대해서 먼저 알아야한다. thread의 사전적 의미는 process 내에서 실행되는 여러 흐름의 단위이다. 하나의 process 안에서 여러개의 thread가 돌아가서 동시에 여러개를 처리하는 것처럼 보이게 하는것이다. 그럼 process를 여러 개 실행시키는 multi-tasking이 있는데 thread는 왜 쓰는 가에 대한 질문을 해결해보자. multi-tasking은 여러 개의 process를 돌아가면서 실행시켜서 동시에 동작하는 것처럼 보이게 하는것을 말한다. 간단한 예시로는 하나의 CPU로 이루어진 컴퓨터에서 웹 서핑 + 유튜브 + ppt 작업을 한다고 가정해보자. multi-tasking을 지원하는 OS 위에서는 세 가지 process들을 동시에 동작시킬 ..

Gijun Oh , Junseok Yang and Sungyong Ahn * School of Computer Science and Engineering, Pusan National University, 2, Busandaehak-ro 63beon-gil, Geumjeong-gu, Busan 46241, Korea; kijunking@pusan.ac.kr (G.O.); junseokyang@pusan.ac.kr (J.Y.) * Correspondence: sungyong.ahn@pusan.ac.kr; Tel.: +82-51-510-2422 LSM-Tree based key-value store는 sequential write 특성으로 인해 high I/O performance로 주목을 받고 있다. 그러나..

Ring Buffer를 구현하기 위해서는 Queue에 대해서 간략하게 알자면 Queue는 FIFO (First In First OUT) 구조로 먼저 들어온 데이터가 먼저 나가는 데이터 구조이다. Ring Buffer란 고정 크기의 Queue를 처음과 끝을 가상적으로 이어붙여서 연결된 구조를 말한다. 그리고 buffer에 읽고 쓸 위치를 알기 위해 head와 tail pointer가 있다. Ring Buffer를 구현하기 위해선 기본적으로 있어야 하는 API는 - isEmpty() : buffer가 비었는지 확인한다. head == tail이면 비어있는 상태 - enQueue() : data를 buffer에 입력한다. 그리고 head pointer를 하나 증가시킴 - deQueue() : buffer로부터..

segmentation fault는 프로그램이 메모리에 access하려고 할 때, 해당 메모리에 대한 올바르지 않은 access를 시도할 때 발생한다. -> 프로그램의 비정상적으로 종료 / 안정성 저하 즉, 잘못된 메모리 참조, 한 program이 자신이 OS로부터 할당받지 못한 memory 영역에 침범할 때 이것을 OS-level에서 막아준다. ( debugging하기 힘든 메모리 버그를 알려주는 역할 ) segmentation fault의 원인 1. null 값을 가리키는 포인터에 접근했을 때 2. 할당 받은 메모리 공간을 넘어서 쓸 경우 3. 예를들어 free처리 된 memory 영역을 가리킬 경우 4. read-only memory 영역에 쓰려고 할때 segmentation fault는 잘못된 메..

지금까지 git branch를 통한 merge까지 알아봤다. branch를 합칠 때 다양한 방법이 있는데 추천하는 두 가지를 설명한다. 1. 3-way merge 2. squash and merge 1. 3-way merge는 저번에 봤던 것과 같이 master branch 와 slave branch 각각에 신규 commit이 1회 이상 있는 경우, merge를 하면 두 branch의 코드를 합쳐서 새로운 commit을 자동으로 생성해준다. 이 방식을 merge의 기본 동작방식인 3-way merge라고 한다. 하지만, 회사에서 외주를 맡거나 혹은 회사에 들어갔을 때 대충 모든 branch를 3-way merge를 해버리면 곤란한 경우가 생긴다. 3-way merge 된 것들은 위에서 보이는 commit..

programming을 할 때 유지 보수 (maintance) 과정이 필요하다. 대표적인 git tool에 대해 간략히 요약하겠다. 이거를 쓰면 file 복사본을 만들지 않아도 되고 깔끔한 버전 관리가 된다는 장점을 가지고 있다. 먼저, 해당 git tool을 사용하려면 설치가 되어있어야겠고 그 확인은 git --version 을 통해서 확인할 수 있다. ( 버전이 뜬다면 git tool 설치 성공 ) 그 후 git config --global user.email "xxx@gmail.com" git config --global user.name "xxx" 을 통해서 git tool을 현재 누가 쓰고 있는지 구분하기 위한 간단한 ID 등록을 한다. 이제 commit에 대해서 알아 볼건데 우리는 굵직하게 기..