기본 콘텐츠로 건너뛰기

리눅스 시스템 부팅 과정 이해하기 - mj의 블로그

리눅스 시스템 부팅 과정 이해하기 안녕하세요, mj입니다! 오늘은 리눅스 시스템의 부팅 과정에 대해 알아보겠습니다. 부팅 과정은 컴퓨터가 켜질 때 운영 체제를 로드하고 실행하는 복잡한 절차입니다. 이 과정은 여러 단계로 나누어져 있으며, 각 단계에서 중요한 역할을 하는 구성 요소들이 존재합니다. 1. BIOS/UEFI 부팅의 첫 단계는 BIOS(Basic Input/Output System) 또는 UEFI(Unified Extensible Firmware Interface)입니다. 이들은 하드웨어 초기화 및 부팅 장치를 탐색하는 역할을 합니다. BIOS는 오래된 기술로, UEFI는 더 현대적인 대안입니다. 예를 들어, UEFI는 GUI를 지원하고 더 큰 하드 드라이브를 사용할 수 있습니다. 예시: BIOS와 UEFI의 차이점 BIOS는 16비트 모드, UEFI는 32/64비트 모드 BIOS는 MBR(Master Boot Record) 기반, UEFI는 GPT(Guid Partition Table) 지원 BIOS는 텍스트 기반 인터페이스, UEFI는 그래픽 인터페이스 지원 BIOS는 부팅 속도가 느림, UEFI는 빠른 부팅 가능 BIOS는 드라이버가 필요, UEFI는 내장된 드라이버 사용 2. 부트 로더 다음 단계는 부트 로더입니다. 리눅스에서는 GRUB(Grand Unified Bootloader)가 가장 많이 사용됩니다. 부트 로더는 커널을 메모리에 로드하고 실행하는 역할을 합니다. 예시: GRUB의 설정 파일 # /boot/grub/grub.cfg 예시 set default=0 set timeout=5 menuentry '리눅스 5.4.0' { linux /vmlinuz-5.4.0 root=/dev/sda1 initrd /initrd.img-5.4.0 } 3. 커널 부트 로더...

리눅스에서 프로세스 우선순위 조정하기: nice와 renice 명령어 사용법

리눅스에서 프로세스 우선순위 조정하기

안녕하세요, mj입니다! 오늘은 리눅스에서 프로세스의 우선순위를 조정하는 방법에 대해 알아보겠습니다. 시스템 관리에서 프로세스의 우선순위를 적절히 설정하는 것은 매우 중요합니다. 이러한 작업을 수행하기 위해 사용할 수 있는 두 가지 주요 명령어는 nicerenice입니다.

1. nice 명령어

nice 명령어는 새로운 프로세스를 시작할 때 우선순위를 설정하는 데 사용됩니다. 기본적으로 프로세스는 우선순위 0으로 시작하며, nice 값을 조정하여 우선순위를 높이거나 낮출 수 있습니다.

nice 명령어의 기본 구문은 다음과 같습니다:

nice -n [우선순위] [명령어]

여기서 우선순위는 -20에서 19까지의 값을 가질 수 있으며, -20은 가장 높은 우선순위를 의미하고 19는 가장 낮은 우선순위를 의미합니다.

예시: nice 명령어 사용하기

  1. 우선순위 10으로 프로세스 시작하기:
    nice -n 10 sleep 60

    이 명령어는 60초 동안 대기하는 프로세스를 우선순위 10으로 실행합니다.

  2. 우선순위 -5로 프로세스 시작하기:
    nice -n -5 myscript.sh

    우선순위 -5로 myscript.sh 스크립트를 실행합니다.

  3. 기본 우선순위로 프로세스 시작하기:
    nice myprogram

    우선순위 0으로 myprogram을 실행합니다.

  4. 우선순위 15로 프로세스 시작하기:
    nice -n 15 longrunningtask

    우선순위 15로 긴 작업을 실행합니다.

  5. 우선순위 0으로 sleep 명령어 실행하기:
    nice sleep 30

    기본 우선순위로 30초 동안 대기합니다.

2. renice 명령어

renice 명령어는 이미 실행 중인 프로세스의 우선순위를 변경하는 데 사용됩니다. 이 명령어를 사용하면 특정 프로세스의 우선순위를 쉽게 조정할 수 있습니다.

renice 명령어의 기본 구문은 다음과 같습니다:

renice [우선순위] -p [프로세스ID]

프로세스 ID는 ps 명령어를 사용하여 확인할 수 있습니다.

예시: renice 명령어 사용하기

  1. 프로세스 ID 1234의 우선순위를 5로 변경하기:
    renice 5 -p 1234

    프로세스 ID가 1234인 프로세스의 우선순위를 5로 변경합니다.

  2. 프로세스 ID 5678의 우선순위를 -10으로 변경하기:
    renice -10 -p 5678

    우선순위를 -10으로 변경하여 더 높은 우선순위를 부여합니다.

  3. 프로세스 ID 9012의 우선순위를 19로 변경하기:
    renice 19 -p 9012

    우선순위를 19로 변경하여 낮은 우선순위를 부여합니다.

  4. 여러 프로세스의 우선순위를 동시에 변경하기:
    renice 0 -p 1234 -p 5678

    프로세스 ID 1234와 5678의 우선순위를 동시에 0으로 변경합니다.

  5. 우선순위를 10으로 변경하기:
    renice 10 -p 3456

    프로세스 ID 3456의 우선순위를 10으로 변경합니다.

결론

오늘은 리눅스에서 프로세스의 우선순위를 조정하는 방법에 대해 알아보았습니다. nicerenice 명령어를 사용하여 프로세스의 우선순위를 쉽게 조정할 수 있습니다. 적절한 우선순위 설정은 시스템의 성능을 최적화하는 데 큰 도움이 됩니다.

이 글이 도움이 되셨길 바랍니다! 궁금한 점이 있다면 언제든지 댓글로 남겨주세요. 감사합니다!

댓글

가장 많이 본 글

5. 버추얼박스:설정 (+네트워크의 종류 설명)

안녕하세요 , MJ 입니다 .   우리가 실습을 하는데에 필요한 버추얼박스의 설정에 대해 설명을 합니다 .     버추얼 박스의 설정에는 종류별로 메뉴가 구분되어있습니다 . 1-1. 환경설정 1-2. 네트워크 설정 1-3. 미디어 설정       다른 설정도 존재하지만 , 필요한 일이 없을것이 예상되고 , 위 3 가지 설정에 대해서만 알고 계신다면 버추얼 박스로 실습을 하는데에 아무런 지장이 없고 또 취업을 하신 뒤에 실무에 가셔서도 문제가 될 것이 없습니다 .   환경설정 부터 확인하겠습니다 . 1-1. 환경설정 : 우리가 알아야 편한 내용은 2 가지가 있는데 VM 의 기본 저장경로 설정 " 파일 (F)" 의 환경설정 (P) … [ 단축키 : Ctrl+G] 을 누르면 환경설정 창이 보이고 , 제일먼저 확인되는 기본 머신 폴더 (M) 입니다 . VM 을 저장 할 경로를 지정하는 것인데 VM 은 가상 머신으로 디스크의 용량과는 상관없이 , 가상 컴퓨터의 정보가 저장되는 것으로 , 텍스트 파일형태로 저장되어있고 , 그 내용에는 CPU 를 몇개 사용하도록 되어있는지 , 메모리는 얼마만큼을 할당하도록 되어있는지 , 네트워크 인터페이스는 몇 개가 어떻게 설정되어있는지 ... 등 가상의 컴퓨터를 정의하는 내용의 파일이 저장되는 경로가 되고 ,   디스크 파일은 별도 미디어 설정에서 관리가 되지만 VM 을 생성하는 과정에서 만든 디스크는 VM 저장경로에 함께 생성 되어있어 사용자가 파일탐색기로 경로를 찾아가보면 파일의 사이즈로 아 이것이 디스크 파일인가보구나 하고 알 수 있습니다 .( 용량이 크고 ...

MJ. 로또의 회차별 당첨번호 API 확인 (예제포함)

안녕하세요, MJ 입니다.   로또 당첨번호를 확인하기위해 동행복권 사이트를 찾아 가거나, 포털사이트에서 검색을 할 수 있지만, 다음 주소를 브라우저에 붙여넣거나, curl 명령을 이용하여 터미널에서 손쉽게 확인할 수 있는 방법이 있어 소개를 드리려고 합니다.     < URL> https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo= < 회차번호 >     - API 주소 활용 방법 브라우저에 URL 입력하여 확인 .           >> 인터넷 주소창에 URL 을 입력       ( 윈도우 ) cmd / ( 리눅스 ) bash 터미널에서 curl 을 사용하여 확인 .( 예 : 123 회차 ) >> curl " https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo= 123 " <cmd>   <bash>         python/java/c 등 코드를 만들어서 확인 . >> 코드를 짜서 확인하는 것이 , 데이터를 가공하기도 좋고 , 앞으로 출현할 숫자를 분석하기도 좋지만 , 자신이 원하는 대로 데이터를 가공하기 위해 시간과 노력의 투자가 필요함 .       [ (API 결과 예시 ) 123 회차 조회결과 ] >> json 형식으로 공백 , 줄바꿈이 없이 순서도 제멋대로 확인되지만 (브라우저나 터미널에서 확인하면), 다음과 같은 데이터가 확인됨 .   <확인한 정보 줄맞춰봄> #######...