본문 바로가기

Linux

[Linux] 리눅스 터미널, 셸, 커널 개념 / 프로세스, 잡

 

 

Terminal 터미널

입력+출력 장치를 제공한다.

요즘은 터미널 에뮬레이터를 터미널로 칭하는 경우가 많다.

입출력화면을 제공만 한다.

 

Shell 셸

번역기

사용자의 요청을 기계어(이진법)로 바꿔서 커널로 전달한다.

명령어를 받아들이고 커널의 실행 결과를 출력한다.

커널의 인터페이스

 

Kernel 커널

물리적 디바이스를 처리한다.

물리적 디바이스 - CPU(프로그램 연산 데이터 처리), 메모리-연산데이터 저장(휘발성)

명령어를 실행하면서 프로세스를 관리한다.

 


Process 프로세스

: 커널에서 바라 본 처리 단위

: 메모리 위에 올린 프로그램 (따라서 명령어를 입력하고 실행한 것)

각 프로세스는 별도의 메모리 영역을 가진다.

명령어를 여러 번 실행해도 데이터가 독립적임

Process ID=PID: 커널이 할당한 고유한 관리 번호

 

ps 명령어

: 프로세스 목록을 표시한다. 

x: 사용자가 실행 중인 모든 프로세스 출력

f: 부모 자식 관계 표시

ax: 모든 사용자의 프로세스 출력

aux: 모든 사용자의 프로세스를 상세하게 출력

 

Job 잡

셸에서 바라본 처리 단위

파이프와 연결되어도 잡은 1개이다. (프로세스는 여러 개)

 

잡 제어

ctrl+z로 일시정지 시키면 잡이 정지 된다. 

  • fg 명령어: 잡을 포그라운드(사용자의 입력을 받을 수 있는) 상태로 만든다
fg %1 #잡 번호 1번을 포그라운드로 전환
  • bg 명령어: 잡을 백그라운드로 전환(백그라운드에서 실행된다)