Linux란?
Linux는 1991년 리누스 토르발스가 Unix의 일종인 Minix 를 기반으로 개발한 OS다. 개발 초기 다양한 사람이 편집에 참여할 수 있는 오픈 소스로 시작하여 현재까지도 모든 소스가 공개된 상태로 개발이 이루어지고 있다
구조
Linux는 하드웨어를 제어하는 커널, 사용자가 커널에 접근할 수 있도록 도움을 주는 Shell, 그 외 응용프로그램으로 구성된다.
HW
CPU, RAM, 하드디스크 등, 실제로 컴퓨터를 구성하는 물리적 장치를 뜻한다.
Kernel
Kernel은 Linux OS의 핵심 소프트웨어로 CPU, 메모리, 하드 디스크 등의 물리적 장치에 접근할 수 있는 프로그램이다. 응용 프로그램이 실행되면 CPU, 메모리 등의 하드웨어 리소스를 할당하는 역할을 한다.
Shell
Shell은 유저와 커널 사이에서 명령어를 번역하여 해석하고 프로그램을 실행하는 프로그램이다. Shell의 종류는 Bourne shell, C shell, Korn shell, Bash shell 등이 있으며, 대부분의 리눅스는 주로 Bash shell을 사용한다. Shell은 명령어 번역 역할을 하는 Shell 과 유저로부터 입력을 받는 TTY로 구성된다
TTY
Shell은 Kernel과 유저 간 명령어 번역 역할만 수행하며, 명령어 입력을 받는 기능은 존재하지 않는다. 그러므로 유저가 Kernel에 접근하기 위해서는 Shell에 명령어를 입력할 수 있는 프로그램이 필요하다. 이러한 프로그램을 TTY (teletypewriter) 프로그램이라고 한다. 대표적인 TTY 프로그램으로는 Terminal, Konsole 등이 있다.
응용 프로그램
유저가 일반적으로 사용하는 프로그램이다. Kernel, Shell을 제외한 모든 프로그램이 해당된다. 대표적인 응용 프로그램으로 gcc, g++, vim, gedit 등이 있다
배포판
Linux의 핵심 소프트웨어인 Kernel을 일반 유저가 사용하기 위해서는 Shell, UI, 기타 응용프로그램 등등, 무수히 많은 프로그램이 필요하다. 일반 사용자가 Linux를 쉽게 설치해서 사용할 수 있도록 Kernel 과 기타프로그램들을 패키징한 전체 운영체제를 배포판이라고 한다.
Linux 배포판은 개발 그룹에 따라 계열로 나뉘고 있는데, 대표적인 계열로 Fedora 계열, Debian 계열, Android 계열 등이 있다. 현재 설명에서는 Redhat 계열의 Redhat Linux를 기준으로 삼고있다.
관리자와 일반 유저
Linux에서 유저 계정은 관리자 계정과 일반 계정으로 구분된다. 관리자 계정은 Linux 시스템을 모든 파일에 대한 접근 권한을 가지고 있으며, 모든 시스템 환경을 변경할 수 있는 권한이 있다. 일반 계정은 제한적인 권한을 가지지만, 관리자 권한을 얻을 경우 관리자 계정과 같은 역할을 할 수 있다.
관리자 계정은 Super User 또는 root 라고 부른다.
'개발이야기' 카테고리의 다른 글
Linux 특수 기능 (0) | 2024.04.23 |
---|---|
리눅스 명령어 입력 방법/Shell Script란? (0) | 2024.04.23 |
vi 편집기 사용법 (0) | 2024.04.23 |
vi 편집기 사용법 (0) | 2024.04.22 |
vi 에디터 .vimrc파일 설정하기 (0) | 2024.04.22 |