상세 컨텐츠

본문 제목

Linux 기초 ( 운영체제, 커널, 쉘, 프로세스)

기술공부/Linux

by helpilsang 2025. 12. 3. 08:43

본문

우선 Linux는 운영체제임 OS라고도 하지

운영체제

컴퓨터 하드웨어와 소프트웨어 사이에서 소통을 도와주는 인터페이스 / 운영체제에는 유닉스, 리눅스, 안드로이드, MS윈도우 등등...이 있음

리눅스의 종류

리눅스는 각종 회사, 커뮤니티에서 만든 배포판이 여러가지 존재 ( 배포판은 이눅스 커널, 쉘, 오픈소스 소프트웨어를 통합하여 제공)
우분투, 레드햇, CentOS, 페도라, 데비안 등이 존재

커널, 쉘

커널 : 하드웨어와 애플리케이션 간에 상호작용을 도와주는 OS의 핵심 구성요소
쉘 : 대화형 인터페이스 
      사용자의 커널 사이에서 사용자의 입력을 받아서 명령을 해석하여 커널에 전달하고 결과를 사용자에게 반환
      여러가지 쉘 중에서 가장 인기있는 5가지 쉘은 Bash, Tcsh, Ksh, Zsh, Fish

프로세스

- 일반적으로 프로세스는 실행중인 프로그램을 말함
- 여러개의 프로그램을 동시에 실행하는것을 멀티태스킹이라고 하고, 이 프로세스를 관리하는것은 운영체제의 중요한 역활중 하나

프로세스 실행방식

리눅스의 프로세스는 포그라운드, 백그라운드 방식으로 동작
 - 포그라운드 : 키보드 입력을 받아서 동작하는 방식으로 실행되면 다른 작업을 처리할 수 없음
                       작업을 실행하면 다른작업을 실행할 수 없고, 작업이 끝날때까지 대기
 - 백그라운드 : 사용자와의 대화 없이 실행되는 작업 방식
                       백그라운드 방식은 명령어 뒤에 &를 붙여서 실행하고, 다른 명령어를 추가적으로 입력할 수 있음

Tips

백그라운드 방식으로 실행해도 사용자의 터미널 세션이 종료되면 실행중인 프로세스도 종료된다. 
작업시간이 오래걸리는 작업인 경우 [ nohup ] 명령어를 이용하여 백그라운드로 실행하면 사용자의
터미널 세션이 종료되어도 작업이 종료될때까지 프로세스를 실행함
Exam
# 포그라운드 방식
$ sample.sh

# 백그라운드 방식 -- & 추가
$ sample.sh &

#nohup 커맨드 (no hang up)
nohup samle.sh &

 

 

관련글 더보기