리눅스(2)

·2025년 6월 21일

Devops

목록 보기
3/6

1.리눅스의 기초

1. 리눅스 개요

  • 1) 리눅스란 무엇인가? 리눅스는 "리누스 토발즈"에 의해 오픈소스로 개발돼. 개인용 PC, 서버, 메인 프레임, 모바일 기기, 임베디드 기기를 위한 유닉스 호환 운영체제다. 최초의 리눅스는 다양한 패키지를 포함하는 운영체제의 형태는 아니었고, 단지 리눅스 커널만을 의미했다.

  • 2) 특징

    • 이식성 : 리눅스는 대부분 C언어로 작성, 최소한의 종속적 부분만 어셈블리언어로 작성

    • 자유소프트웨어

    • 멀티 유저 : 다수의 유저가 네트워크를 통해 한 시스템의 cpu, 메모리, 저장소등의 자원을 접근해 사용할 수 있다.

    • 멀티 프로그래밍: 다수의 프로그램을 메모리에 적재하고 동시에 실행할 수 있다.

    • 계층적 파일시스템

    • 쉘(SHELL)

      • 리눅스의 다양한 기능을 수행할 수 있도록 명령어 기반 프로그램을 제공.
        사용자는 이 프로그램을 통해 사용자(명령) → 쉘(해석) → 커널(명령 수행 후 결과 전송) → 쉘(해석) → 사용자(결과 확인)

      • "명령어 해석 기능","프로그래밍 기능","사용자 환경설정 기능"

    • 보안

      • 임의접근제어: 자원의 소유자가 자유롭게 부여 or 회수
      • 확장접근제어: 리눅스의 파일, 디렉토리를 보면 r/w/x 이걸 의미.
  • 3) 기술적 특징

    • 모놀리식 커널(Monolithic Kernel) : 운영체제가 제공하는 서비스를 하나의 커널로 구현해서 제공. 그렇기에 일부를 변경하려면 커널을 다시 컴파일 해야함.
      리눅스는 기본적으로 모놀리식 커널이지만 동적로드가 가능한 커널 모듈과 동적 설정을 위한 프로퍼티 기능을 제공해 유연성을 확보.

    • 장치의 파일화: 파일은 디렉토리, 일반 파일, 특수파일(장치파일, 파이프, 소켓등)

    • 다양한 파일 시스템 지원 : ext2, ext3, ext4...그리고 저널링 파일시스템 지원

    • 가상메모리

    • 스왑(가상메모리와 관련)

    • 동적 라이브러리/ 정적 라이브러리

    • 파이프

    • 리다이렉션

    • 가상 콘솔

    4) 라이센스: GPL, LGPL, BSD, 아파치등

    5) 추가적으로 리눅스 1급은 로키 리눅스를 기준으로 출제된다.


2. 리눅스와 하드웨어

1) 컴퓨터의 구성요소

  • 1) 중앙처리장치(cpu)
    • 외부에서 정보를 입력받아 컴퓨터 프로그래의 명령어들을 해석 -> 연산 -> 결과를 반환.
    • cpu는 레지스터, 연산장치(ALU), 제어장치로 구성
      • 레지스터는 cpu가 연산을 처리하기 위한 임시 저장소 역할을 수행, 작은 데이터만을 저장하며 빠르다.
      • ALU는 데이터들간의 비교, 판단, 연산을 수행
      • 제어장치는 입력된 명령어 -> 해석 -> 연산장치로 보냄, 주소를 디코딩해 레지스터에 값을 저장.
  • 2) 주기억장치
    • cpu가 처리할 명령어와 데이터를 저장하기 위한 하드웨어
    • ROM, RAM으로 분류
      • ROM은 Mask(변경X), PROM(1번), EPRom(마음껏)
  • 3) 입출력장치 ex) 키보드, 마우스, 모니터 등
  • 4) 보조기억장치 ex) 하드디스크, SSD,CD-Rom, DVD등

2) RAID

  • 1) 정의

    • 하드디스크이 고성능 구현과 신뢰성을 위해 여러개의 하드디스크를 구성해, 알부에 중복된 데이터를 나눠 저장하는 '복수 배열 독립 디스크기술(Redundant Array of Independent Disks)'

    • 하나의 RAID는 하나의 논리적인 디스크다

    • '스트라이핑'은 디스크의 성능 향상을 위해 연속된 데이터를 여러 개의 디스크에 라운드로빈 방식으로 기록하는 기술

      • "라운드로빈"이란 '데이터를 여러 디스크에 분산 저장할 때, 순차적으로 데이터를 할당하는 방식'
    • '미러링 기술'

  • 2) 종류

    • RAID0(블록 단위) : 데이터 중복X , 오류시 복구 불가
    • RAID1 : 패리티, 스트라이핑X, 미러링O -> 복구 가능, 중복 데이터로 RAid0의 효율성 50%
    • RAID2(비트 단위): 패리티 도입
    • RAID3(바이트 단위)
    • RAID4(블록 단위)
    • RAID5(블록 단위) : 패리티를 별도 디스크가 아닌 분산 저장
    • RAID6(블록 단위) : 이중패리티 도입
    • RAID 0+1
    • RAID 1+0
    • RAID 5(실은 0)+3
  • 3) 디스크 인터페이스

    • IDE(Integrated Driver Electronics) : 병렬

    • S-ATA : 직렬

    • SCSI(Small Computer System Interface) : 병렬

      • 버스 기반 : 여러 장치가 하나의 SCSI 버스를 공유
      • 데이터 버스 폭 :8비트, 16비트
      • 전송 속도: 초창기 5MB/s → Ultra-640 SCSI는 최대 640MB/s
      • 연결 수: 8개, 16개 장치 연결 가능
      • 케이블 길이: 짧음 (약 1.5미터 내외), 왜곡·간섭에 민감함
      • 종단기(Terminator): 양 끝에 종단기 필요 – 반사 방지
      • 문제점
        • 병렬 방식 특성상 신호 간섭, 반사, 타이밍 오류에 취약
        • 버스 공유 방식으로 인해 병목(Bottleneck) 발생 가능
    • SAS(Serial Attached SCSI) : 직렬

      • 포인트-투-포인트 연결(전송 방식): 장치 간 직접 연결 (병렬 SCSI와 달리 버스 공유 아님)
      • 전송 속도 : 초기 3Gbps → 현재 12Gbps 이상 (이론상 1500MB/s 이상)
      • 케이블 길이 : 최대 수 미터 이상 가능 (노이즈 적음)
      • Hot Swap : 장비 전원 꺼짐 없이 드라이브 교체 가능
      • 호환성 : SATA와 하위 호환 가능 (SAS 컨트롤러에 SATA 드라이브 연결 가능)
      • 장점
        • 높은 속도와 안정성 제공
        • 확장성 우수: 더 많은 장치 연결 가능 (SAS Expander 활용 시 수백 개 가능)
        • Hot Swapping 지원 → 서버 유지보수 편리
        • 고급 기능 지원: 다중 경로, 이중 포트 등
profile
# h

0개의 댓글