리눅스 민트에서 GRUB 부트 메뉴 표시하기
By 반달가면 | 2019년 7월 5일 |
리눅스 민트(Linux Mint)의 부팅 화면에는 통항 GRUB 부트 메뉴가 보이지 않는다. 부팅할 때 쉬프트(shift) 키를 누르고 있으면 메뉴를 볼 수 있긴 하나, 부트 메뉴를 항상 볼 수 있도록 설정을 바꿀 수 있다. 우선 /etc/default/grub 파일을 편집해야 한다. 시스템 설정 파일이므로 루트(root) 권한을 필요로 한다. # /etc/default/grub 파일 편집 sudo vi /etc/default/grub 파일 내용을 보면 "GRUB_HIDDEN_TIMEOUT"이라는 항목이 있다. 이 항목의 값이 0으로 설정되어 있는데, 예를 들어 GRUB 부트 메뉴를 5초간 보여주고 싶다면 5로 바꾸면 되겠다. GRUB_HIDDEN_TIMEOUT=5 그리고 아래와
스피드크런치(SpeedCrunch) - 리눅스용 공학계산기
By 반달가면 | 2019년 12월 11일 |
MX리눅스(MX Linux)에 기본으로 딸려 오는 계산기 프로그램인 갈큘레이터(Galculator)가 별로 마음에 들지 않아서 다른 계산기를 찾아보다가, 꽤 오래전부터 윈도우에서 사용했던 스피드크런치(SpeedCrunch)가 리눅스용 버전도 있다는 사실을 알게 되었다. 처음 스피드크런치를 알았을 당시에는 리눅스용 버전이 없었던 것 같기도 한데, 아무튼 있으니 다행. 스피드크런치 공식 웹사이트는 아래와 같다. 공식 웹사이트에서 리눅스용 패키지 파일을 다운로드할 수도 있으나, 주요 배포판의 S/W저장소에서 기본적으로 제공하는 듯하다. 데비안/우분투 계열 배포판에서는 아래와 같이 설치하면 되겠다. # S/W 저장소 정보 갱신 sudo apt-get update # speedcrunch 설치
[라즈베리파이] 워크큐(Workqueue) - 워크(struct work_struct) 란
By Guillermo Austin Kim | 2018년 8월 24일 |
리눅스 커널에서 work라고 부르나 워크(struct work_struct)로 명시 하겠습니다. 워크란 무엇이고 어떤 동작을 할까요? 워크는 워크큐 실행 단위이며 워커 쓰레드에서 실행합니다. 커널 후반부 처리 기법으로 워크큐를 많이 쓴다고 했는데 워크가 바로 후반부 처리를 합니다. 워크가 어떻게 동작하는지 이번 장에서 코드를 분석하면서 상세히 알아볼 예정입니다. struct work_struct 구조체워크를 표현하는 자료구조는 무엇일까요? 정답은 struct work_struct 이며 다음 코드와 같습니다.[https://elixir.bootlin.com/linux/v4.14.43/source/include/linux/workqueue.h]1 struct work_struct {2 atomic_long
[리눅스커널] 동기화: 스핀락과 뮤텍스 기법 차이점 알아보기
By Guillermo Austin Kim | 2019년 9월 14일 |
이번에는 스핀락과 뮤텍스의 자료구조와 함께 두 기법의 차이점을 살펴보겠습니다. 스핀락과 뮤텍스의 구현 방식의 차이점은 다음과 같습니다. 스핀락은 코드가 간결합니다. 다른 프로세스가 스핀락을 누군가 획득하고 있으면 밖에서 계속 기다리는 동작입니다. 뮤텍스는 스핀락에 비해 코드 복잡도가 높습니다. 다른 프로세스가 뮤텍스를 획득하면 휴면에 들어가고 깨어나는 추가 동작을 하기 때문입니다. 스핀락은 아키텍처에 의존적인 코드로 구현됐습니다. 대신 뮤텍스는 아키텍처에 의존적이지 않은 리눅스 커널 함수로 구현됐습니다. 이번에도 화장실에서 B 프로세스가 기다리는 상황을 그리면서 두 기법의 차이점을 알아보겠습니다. 자물쇠(락)가 잠겼는지 알아보는 방법 기법 특징스핀락: 스핀락 구조체 중 owner와 next 필드가