[리눅스커널] 프로세스 - 프로세스, 태스크란
By Guillermo Austin Kim | 2018년 10월 18일 |
프로세스는 추상적이고 다양한 의미를 담고 있어 다양한 관점으로 설명할 수 있습니다. 프로세스란 무엇일까요? 프로세스(Process)는 리눅스 시스템 메모리에서 실행 중인 프로그램을 말합니다. 스케줄링 대상인 태스크와 유사한 의미로 쓰입니다. 다수 프로세스를 실시간으로 사용하는 기법을 멀티프로세싱이라고 말하며 같은 시간에 멀티 프로그램을 실행하는 방식을 멀티태스킹이라고 합니다. 우리가 쓰고 있는 스마트폰 동작을 잠깐 생각해봅시다. 전화를 하면서 메모를 남기고, 음악을 들으면서 브라우저를 볼 수 있습니다. 여러 어플리케이션이 동시에 실행하고 있습니다. 이것은 멀티태스킹을 수행해서 프로그램을 시분할 방식으로 처리하기 때문에 가능합니다. 이번에는 리눅스 개발자 입장에서 프로세스에 대해 생각해 봅시다. 프로세스
리눅스에서 FAT32 포맷하기
By 반달가면 | 2016년 11월 2일 |
데비안(Debian)/우분투(Ubuntu) 계열 리눅스에서 FAT32로 포맷하는 방법이다. USB메모리를 윈도우나 DOS와 호환되도록 포맷해야 할 경우 유용하다. 우선 dosfstools 패키지가 설치되어 있어야 한다. 설치되어 있지 않다면 아래와 같이 입력하여 설치. # dosfstools 패키지 설치 sudo apt-get install dosfstools 포맷하고자 하는 USB메모리를 연결하면 통상 자동으로 마운트될 것이다. 디스크의 빈 공간을 출력하는 df 명령으로 USB메모리의 장치 이름을 확인해 보자. # 디스크 현황 확인 df -h df 명령어의 결과를 보면 USB메모리는 통상 /media/ 디렉토리 아래에 마운트되어 있으며 장치 이름은 /dev/sdc, 또는
MX 리눅스(MX Linux) 라이브 세션에서 루트 암호
By 반달가면 | 2019년 6월 20일 |
MX 리눅스 iso 이미지를 부팅해서 라이브(live) 세션으로 들어갔을 때, 관리자 권한으로 뭔가 작업을 하려고 하면 루트(root) 암호가 필요하다. 초기 루트 암호는 아래와 같다. root
[ARM64]signal - sa_handler signal handler 실행 (code walk-through)
By Guillermo Austin Kim | 2017년 12월 30일 |
signal에 대해서는 리눅스 시스템 프로그램에서 많이 들어본 적이 있을 꺼에요.쓰레드에 특정 시그날이 전달되면 해당 시그널 핸들러 함수가 호출된다는 내용이죠. 아래 시스템 프로그램의 경우에는 SIGINT 시그널을 전달 받으면 sig_handler 함수가 호출되겠지오.#include<stdio.h>#include<signal.h>#include<unistd.h> void sig_handler(int signo){ if (signo == SIGINT) printf("received SIGINT\n");} int main(void){ if (signal(SIGINT, sig_handler) == SIG_ERR) printf("\ncan't catch SIGINT\