새소식

languages/Linux

[Linux] 개요: 리눅스에 대해 알아보자

  • -

 

더보기

운영체제 종류

범용 운영체제

하드웨어 발전에 따라 변화해왔음

Unix와 Linux

Unix

Unix는 1969년 Bell 연구소에서 개발한 운영체제로, Multics((Multiplexed Information and Computing Service) 프로젝트로부터 파생했다. 

이식 가능하고(Portable), 멀티태스킹 가능하며(Multi-tasking), 다양한 유저가 있고(Multi-user), 시분할이 가능한(Time-sharing) 운영체제를 만들고자 하는 의도 하에 만들어졌다. (Network와 Security 개념은 없었다.)

 

Linux

Linux는 1990년대 초에 만들어진 Unix의 변종으로, 무료 및 오픈 소스이며 다수 개발자가 참여한다. Free Software 운동에서 영향을 받았으며 Linus Torvalds에 의해 1991년 8월 최초로 커널 공개되었다.

비상업적 소스 오픈, 다양한 개발자가 참여하고 소스를 수정하여 안정성이 높으며 끊임없이 변화하고 진화한다. 또한 전세계 서버 OS의 70%이상을 점유하고 있다.

supercomputer 점유율이 100%에 이른다


운영체제의 일반적인 구조

운영체제는 일반적으로 계층 구조를 이룬다. 사용자 공간과 커널 공간, 하드웨어와 소프트웨어가 분리되어 있다.

사용자 접근은 shell까지만 허용된다

Unix의 운영체제

컴퓨터의 하드웨어 자원을 운영/관리하고 프로그램을 실행할 수 있는 환경을 제공한다.

커널(Kernel)

시스템 기능 핵심 부분으로, 메모리에 상주하면서 시스템에 존재하는 자원을 관리하는 역할을 한다. 디스크에 파일로서 존재하는 프로그램이다.

  • 자원 관리(Resource Management): 하드웨어와 사용자 프로그램의 중간에 위치하며, 하드웨어 자원(CPU, 메모리, 하드디스크, 네트워크 카드, 그래픽 카드 등)을 제어한다.
  • 서비스 제공 (Service for Users): 응용프로그램 실행(프로세스, 메모리 관리), 파일 관리, 시스템 호출 인터페이스, 입출력 서비스, 네트워킹 서비스 등을 사용자에게 제공한다.

하드웨어를 운영하고 관리하며 프로세스, 파일, 메모리, 통신, 주변장치 등을 관리하는 서비스를 제공한다.

커널의 역할

  • 프로세스 관리: 여러 프로그램들이 실행될 수 있도록 프로세스들을 CPU 스케줄링하여 동시에 수행되도록 한다.
  • 파일 관리: 저장장치에 파일 시스템을 구성하여 파일을 관리한다.
  • 메모리 관리: 메인 메모리가 효과적으로 사용될 수 있도록 관리한다.
  • 통신 관리: 네트워크를 통해 정보를 주고받을 수 있도록 관리한다.
  • 주변 장치 관리: 모니터, 키보드, 마우스와 같은 장치를 사용할 수 있도록 관리한다.

셸(Shell)

커널과 사용자 간의 인터페이스로, 운영체제 부팅 후 자동으로 수행되는 특수 프로그램이다. 사용자가 입력한 명령을 해석하여 커널에 전달하고, 커널이 실행한 결과를 받아 보여주는 명령 해석기 역할을 한다. 명령 해석 외에도 입출력 방향 전환 등의 역할을 수행한다. 

  • 전통적 CLI 모드 셸: sh, csh, ksh, bash, zsh 등
  • GUI 모드 셸: GNOME, KDE, Xfce 등

시스템 호출(System Call)

커널이 제공하는 서비스에 대한 프로그래밍 인터페이스 역할을 수행한다.


Linux의 특징

  • 여러 시스템에 유연하게 적용된다.
    • 다양한 프로세서 아키텍처와 광범위한 하드웨어를 지원한다.
  • 신뢰성(Reliability)
    • 다수 개발자와 사용자의 의한 테스트와 디버깅으로 신뢰성이 높다.
  • 보안 기능(Security)
    • 커널 수준의 보안: 운영자가 직접 보안 사항을 설정할 수도 있다.
  • 안정성(Robustness)
    • 안정성은 운영체제의 제어를 벗어난 문제를 처리하는 능력으로, 실행 중인 다른 프로세스에 의한 중지나 성능 저하가 안정성의 요인이 될 수 있다.
    • 메모리 보호 기법과 선점형 멀티태스킹이 가능하며, 자원을 효율적으로 관리할 수 있다.
  • 저렴한 비용
    • 오픈소스로 공개되어 있어 저렴한 비용으로 사용가능하다.
  • 다양한 응용 프로그램
더보기

운영체제의 기본 기능

응용 프로그램 실행

파일 관리

사용자 관리

네트워크 관리

보안 및 성능 관리 등

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.