클라우드/IT 기초

Linux 기초 지식

Tay Kim 김태희 2021. 9. 18. 13:42

Linux OS 기초 

OS의 역할: 하드웨어나 네트워크 제어

 

Linux: Unix 호환 서버 OS. 보안에 뛰어나며 안정적으로 작동되어 서버에서 널리 이용된다. 임베디드 장비의 OS로서도 작동. 

- Linux 커널: OS의 코어가 되는 부분. HW, SW 제어를 위한 SW. 안드로이드 리눅스 커널 상에 구축되어 있다. C언어나 어셈블리 언어로 작성.

- Linux 배포판: 패키지화되어 배포됨. Linux 커널과 함께 커맨드, 라이브러리, 애플리케이션이 포함되어 있다. Linux 커널 이외의 부분을 사용자 공간(Userland)이라고 한다. 사용자 공간에서는 디바이스에 직접 엑세스할 수 없기 때문에 Linux 커널을 통해 처리가 이루어진다. ex) Ubuntu, openSUSE, CentOS 등.

 

Linux 커널의 주요 기능

- 디바이스 관리: 디바이스 드라이버라는 소프트웨어가 하드웨어(CPU/메모리/디스크/입출력 장치) 제어. 

- 프로세스 관리: Linux에서 명령을 실행할 때는 해당 프로그램 파일에 쓰여있는 내용을 읽어 들여 메모리 상에 전개한 후 메모리 상의 프로그램을 실행한다. 이렇게 실행된 프로그램을 프로세스라고 한다. OS를 작동시키거나 각종 애플리케이션을 실행하면 이 프로세스가 동시에 여러 개 실행된 상태가 된다. Linux커널은 이러한 프로세스에 PID 식별자를 붙여 관리한다. CPU를 효율적으로 할당하는 역할도 한다. 

- 메모리 관리: 프로세스가 실행되면 메모리상에 프로그램이 전개됨과 동시에 프로그램 안에서 이용하는 데이터도 메모리 상에 전개된다. Linux 커널은 프로그램/데이터를 물리 메모리에 효율적으로 할당한다. 또 실행이 끝난 프로세스가 사용하던 메모리 영역을 해제한다. 메모리의 물리적인 용량을 초과한느 경우 하드디스크와 같은 보조기억장치에 가상 메모리 영역(swap)을 만든다. 이용 빈도가 낮은 메모리 상의 데이터를 스왑으로 보내고(스왑 아웃), 스왑 상의 데이터를 메모리로 되돌리는(스왑인) 일을 한다. 

 

 

Shell로 Linux 커널을 조작한다. Shell은 사용자의 명령을 커맨드로 받아 Linux 커널에 전달한다. 쉘에서 실행하고자 하는 명령을 모아 텍스트 파일에 기술한 것을 쉘 스크립트라고 한다. 

 

리눅스 파일 시스템

파일 시스템: Linux에서 하드디스크나 USB메모리 등과 같은 데이터에 엑세스하기 위한 장치. Linux 커널은 VFS(Virtual File System)라는 장치를 사용해 데이터에 대한 투과 엑세스(저장 위치 신경쓰지 않음)를 가능하게 한다. VFS에서는 각 디바이스를 '파일'로 취급한다. 

'클라우드 > IT 기초' 카테고리의 다른 글

시스템과 IT 인프라 기초 정리  (0) 2021.09.12