[리눅스커널] 프로세스 - 기본 유저레벨 프로세스 생성 실습 및 ftrace 로그 분석(1/2)
By Guillermo Austin Kim | 2018년 10월 22일 |
다시 라즈베리파이에서 X-terminal 프로그램을 실행해서 셸을 엽시다. root@raspberrypi:/boot# ps -ely | grep bashS UID PID PPID C PRI NI RSS SZ WCHAN TTY TIME CMDS 1000 541 443 0 80 0 4024 1645 poll_s tty1 00:00:00 bashS 1000 880 878 0 80 0 4008 1628 wait pts/0 00:00:00 bashS 0 977 972 0 80 0 3284 1416 wait pts/0 00:00:00 bashS 1000 993 989 0 80
HP 255 G7-6WW80PA 노트북에 리눅스 설치
By 반달가면 | 2019년 6월 15일 |
얼마전에 HP 255 G7-6WW80PA 노트북을 구입했다. AMD 라이젠 APU를 탑재한 제품이다. 사양은 대략 아래와 같다. AMD 라이젠(Ryzen) 3 2200U 듀얼코어 APU 4GB RAM 256GB SSD 윈도우10을 쓸 것인가 리눅스를 쓸 것인가 잠깐 고민하다가, 무료라는 점 때문에 리눅스를 설치해 보기로 했다. 후보로 생각한 배포판은 리눅스 민트 19.1 XFCE와 MX 리눅스 18.3. 리눅스 iso 이미지를 USB 메모리에 옮겨서 부팅하기 위해 YUMI 최신 버전을 다운로드해서 활용했다. YUMI에 대한 내용은 이전 게시물을 참고하자. 여기로. HP 255 G7 노트북을 부팅할 때 esc키를 누르면 메뉴가 나오는데, 여기서 F10을 눌러 바이오스(BIOS)로
[bash: awk] 다수의 문자열을 검색하여 일치하는 부분만 출력하기(match, substr)
By 반달가면 | 2018년 12월 27일 |
우선, awk에서 match 함수와 substr 함수를 활용해서 특정 문자열 패턴을 검색하고 일치하는 부분만 출력하는 방법은 이전 게시물을 참고하자. 여기로. 일단 기본적인 예시는 아래와 같다. 행 전체($0)에서 문자열 "abc"가 있으면 일치하는 부분만 출력한다. echo "abcdefg" | awk 'match($0,/abc/) { print substr($0,RSTART,RLENGTH) }' abc 여기서는 입력에 대해 검색하고자 하는 문자열 패턴이 여러개일 경우를 생각해 보려고 한다. 예를 들어 탭(tab)을 항목 구분자(field separator)로 사용하는 입력에서 두번째 항목($2)에 문자열 "abc"가 있는지 확인하고 세번째 항목($3)에 3개의 연속된 수자(정규표현식
[라즈베리파이] 스케줄링: 스케줄링 클래스란
By Guillermo Austin Kim | 2019년 2월 3일 |
리눅스 커널에서는 기본으로 5개의 스케줄러를 제공합니다. + stop 스케줄러, deadline 스케줄러, RT 스케줄러, CFS 스케줄러, 아이들 스케줄러 리눅스 커널은 5개의 스케줄러를 프로세스가 유연하게 쓸수 있도록 스케줄러 세부 동작을 모듈화했습니다. 이를 스케줄러 클래스라고 하며 5개의 스케줄러를 스케줄러 클래스로 정의합니다. 프로세스는 자신이 실행할 스케줄러 클래스 정보를 갖고 있습니다. 즉, 모든 프로세스들은 태스크 디스크립터에 자신이 선택하거나 부모 프로세스로부터 물려 받은 스케줄러 클래스 정보를 갖고 있는 것입니다. 대부분 일반 프로세스들은 CFS 스케줄러 클래스에 등록해서 CFS 스케줄러로 스케줄링됩니다. 대부분 일반 프로세스들은 CFS 스케줄러 클래스에 등록해서 CFS 스케줄러로 스