운영 체제-Linux
Linux는 널리 사용되는 UNIX 운영 체제 버전 중 하나입니다. 소스 코드를 자유롭게 사용할 수 있으므로 오픈 소스입니다. 사용은 무료입니다. Linux는 UNIX 호환성을 고려하여 설계되었습니다. 기능 목록은 UNIX와 매우 유사합니다.
Linux 시스템의 구성 요소
Linux 운영 체제에는 주로 세 가지 구성 요소가 있습니다.
Kernel− 커널은 Linux의 핵심 부분입니다. 이 운영 체제의 모든 주요 활동을 담당합니다. 다양한 모듈로 구성되며 기본 하드웨어와 직접 상호 작용합니다. 커널은 시스템 또는 응용 프로그램에 대한 낮은 수준의 하드웨어 세부 정보를 숨기는 데 필요한 추상화를 제공합니다.
System Library− 시스템 라이브러리는 응용 프로그램 또는 시스템 유틸리티가 커널의 기능에 액세스하는 데 사용하는 특수 기능 또는 프로그램입니다. 이러한 라이브러리는 운영 체제의 대부분의 기능을 구현하며 커널 모듈의 코드 액세스 권한이 필요하지 않습니다.
System Utility − 시스템 유틸리티 프로그램은 전문화 된 개별 수준의 작업을 수행 할 책임이 있습니다.
커널 모드와 사용자 모드
커널 구성 요소 코드는 다음과 같은 특수 권한 모드에서 실행됩니다. kernel mode컴퓨터의 모든 리소스에 대한 전체 액세스 권한이 있습니다. 이 코드는 단일 프로세스를 나타내며 단일 주소 공간에서 실행되며 컨텍스트 전환이 필요하지 않으므로 매우 효율적이고 빠릅니다. 커널은 각 프로세스를 실행하고 프로세스에 시스템 서비스를 제공하고 프로세스에 대한 하드웨어 액세스를 보호합니다.
커널 모드에서 실행하는 데 필요하지 않은 지원 코드는 시스템 라이브러리에 있습니다. 사용자 프로그램 및 기타 시스템 프로그램은User Mode시스템 하드웨어 및 커널 코드에 액세스 할 수 없습니다. 사용자 프로그램 / 유틸리티는 시스템 라이브러리를 사용하여 커널 기능에 액세스하여 시스템의 하위 수준 작업을 가져옵니다.
기본 기능
다음은 Linux 운영 체제의 몇 가지 중요한 기능입니다.
Portable− 이식성은 소프트웨어가 다른 유형의 하드웨어에서 동일한 방식으로 작동 할 수 있음을 의미합니다. Linux 커널 및 응용 프로그램은 모든 종류의 하드웨어 플랫폼에 설치를 지원합니다.
Open Source− Linux 소스 코드는 무료로 제공되며 커뮤니티 기반 개발 프로젝트입니다. 여러 팀이 협력하여 Linux 운영 체제의 기능을 향상시키고 있으며 지속적으로 발전하고 있습니다.
Multi-User − Linux는 다중 사용자 시스템으로 여러 사용자가 메모리 / 램 / 응용 프로그램과 같은 시스템 리소스에 동시에 액세스 할 수 있습니다.
Multiprogramming − Linux는 다중 프로그래밍 시스템으로 여러 응용 프로그램을 동시에 실행할 수 있습니다.
Hierarchical File System − Linux는 시스템 파일 / 사용자 파일이 정렬 된 표준 파일 구조를 제공합니다.
Shell− Linux는 운영 체제의 명령을 실행하는 데 사용할 수있는 특수 인터프리터 프로그램을 제공합니다. 다양한 유형의 작업을 수행하고 응용 프로그램을 호출하는 데 사용할 수 있습니다. 기타
Security − Linux는 암호 보호 / 특정 파일에 대한 액세스 제어 / 데이터 암호화와 같은 인증 기능을 사용하여 사용자 보안을 제공합니다.
건축물
다음 그림은 Linux 시스템의 아키텍처를 보여줍니다.
Linux 시스템의 아키텍처는 다음 계층으로 구성됩니다.
Hardware layer − 하드웨어는 모든 주변 장치 (RAM / HDD / CPU 등)로 구성됩니다.
Kernel − 운영 체제의 핵심 구성 요소이며 하드웨어와 직접 상호 작용하며 상위 계층 구성 요소에 낮은 수준의 서비스를 제공합니다.
Shell− 커널에 대한 인터페이스로 사용자에게 커널 기능의 복잡성을 숨 깁니다. 쉘은 사용자로부터 명령을 받아 커널의 기능을 실행합니다.
Utilities − 사용자에게 운영 체제의 대부분의 기능을 제공하는 유틸리티 프로그램.