리눅스

 

리눅스란?

  • 운영체제의 한 종류로 컴퓨터 시스템의 하드웨어를 효율적으로 관리하기 위한 시스템 소프트웨어. 

 

리눅스의 특징

  • 다중 사용자(Multi User)
    • 여러 명의 사용자가 네트워크를 통해 접속하여 컴퓨터 시스템을 사용할 수 있는 다중 사용자를 지원. 다중 사용자를 지원하기 때문에 사용자 별 권한 관리와 자원 관리를 지원.
  • 다중 작업(Multi-Tasking)
    • 운영체제 내에서 여러 개의 프로세스(Process)를 동시에 실행시켜 CPU를 스케줄링하여 사용할 수 있음
    • 여러 개의 프로세스가 동시에 실행되기 때문에 각 프로세스 간에 작업순서 조정과 같은 스케줄링 기능을 가지고 있음.
    • 시간 사용량만큼 자원을 할당하여 사용할 수 있게 하는 시분할 시스템을 지원
  • 다중 처리기(Multi-Processor)
    • 컴퓨터 시스템에 한 개 이상의 CPU가 탑재되어 있는 경우 여러 개의 CPU를 지원
    • 작업을 병렬적으로 처리하여 시스템을 효율적으로 사용
  • 다중 플랫폼(Multi-Platform)
    • 리눅스는 여러 종류의 CPU를 지원. 즉, 인텔, Sun Sparc, Power PC 등을 모두 지원하여 대부분의 플랫폼을 지원하고 성능을 낼 수 있음
  • 계층형 파일 시스템(File System)
    • 루트(Root)를 기반으로 하위 디렉터리를 이루는 계층형 파일 시스템으로 이루어져 효율적인 관리 가능.
    • 윈도우, 유닉스 모두 마찬가지
  • POSIX과 호환
    • POSIX: 유닉스 계열 시스템 간 이식성 높이기 위해 IEEE가 지정한 인터페이스 규격
  • 우수한 네트워킹
    • TCP/IP, IPX/SPC, Appletalk, Bluetooth 등 다양한 프로토콜을 지원하며 리눅스 설치 이후 IP 주소, 게이트웨이, 서브넷 등을 설정하면 바로 네트워크를 사용할 수 있음
  • 가상 콘솔(Virtual Console)
    • 기본적으로 6개의 가상 콘솔이 존재해 이를 통해 각 창마다 서로 다른 작업을 수행할 수 있음. 
  • 가상 기억장치(Virtual Memory)
    • 기억 공간을 확대하여 기억장치를 효율적으로 사용할 수 있어서 시스템을 안정적으로 사용할 수 있음

 

리눅스의 구조

운영체제의 한 종류이기 때문에, 운영체제가 가지는 기능(프로세서 관리, 메모리 관리, 입출력 장치 관리, 사용자 관리, 보안 관리, 로그 관리, 하드웨어 관리 등 파일 시스템)은 기본적으로 모두 갖춤.

커널, 셀, 파일 시스템으로 구성됨. 

  1. 커널(Kernel)
    • 운영체제의 핵심 기능으로 프로세서, 프로세스, 메모리 입출력 장치 등의 기능을 수행
      • 프로세서 사용을 관리
      • 주 기억장치 사용을 관리
      • 실행 중인 프로세스를 관리
      • 주변 장치와 입출력을 관리
  2. 셀(Shell)
    • 사용자의 명령을 입력 받아서 실행하기 위핸 인터프리터(Interpreter) 기능을 수행하는 것으로 사용자가 ps라면 명령어를 입력하면 프로세스 정보를 출력해주는 역할 같은 것을 수행
      • 사용자의 명령어를 실행
      • 사용자가 명령어를 입력하면 바로 실행시키는 인터프리터 기능 제공
      • 리눅스 표준 셀은 bash. 외에도 C shell, Korn shell 등을 제공
  3. 파일 시스템(File System)
    • 저장장치(디스크, USB, SSD 등)에 보관되어 있는 파일을 관리하기 위한 것
      • 사용자 파일과 디렉터리를 관리
      • 파일과 디렉터리 등에 권한을 설정하고 해제
      • 파일의 연결 정보인 링크 관리
      • 파일의 소유자, 그룹, 파일 생성 일자, 변경 일자 등을 관리

+ Recent posts