Home OS와 Linux
Post
Cancel

OS와 Linux

OS (Operate System)


OS

  • 운영 체제
    ex) DOS, window 98, NT, XP, Vista, 7, Unix, Linux
  • 사용자들이 보다 쉽고 간편하게 시스템 이용 가능하도록 제어하는 시스템 소프트웨어의 일종
  • 사용자와 컴퓨터 간의 인터페이스 제공
  • 시스템의 효율적인 운영 및 관리 가능
  • 운영 체제의 성능을 평가하는 기준
    • 처리 능력 (Throughout) : 일정 시간 내에 시스템이 처리하는 일의 양
    • 반환 시간 (Turn Around Time) : 시스템에 작업을 제시하고 나서부터 결과를 받을 때까지의 경과 시간
    • 사용 가능도 (Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
    • 신뢰도 (Reliability) : 시스템이 주어진 문제를 정확하게 해결하는 정도

BIOS (Basic Interface Operate System)

  • 하나의 OS
  • 메인보드에 대한 정보 가지고 있음

Kernel

  • 메모리 관리하는 OS의 가장 핵심적인 부분
  • 컴퓨터가 부팅될 때 주기억 장치에 적재된 후 상주하면서 실행
  • 실행 중인 프로그램 관리와 시스템에 대한 전반적인 자원을 관리하는 역할 수행
  • 하드웨어 보호 및 프로그램과 하드웨어 간의 인터페이스 역할
  • HW/SW의 정보를 메모리 형태로 저장하고, OS에 전달해주는 중계 프로그램



Linux


GNU (Gnu’s Not Unix)

  • 자유 소프트웨어 재단
  • 리눅스 등록 관리
  • 무분별한 배포 관리
  • 리차드 스톨만 창시

Linux

  • 자유도가 높은 OS (Operate System)
  • 커스터마이징 가능(사용자 설정)
    • Redhat 계열, Debian 계열 등 여러계열의 리눅스 존재
  • 서버, 네트워크 기능 강화
  • 보안 강화
    • 자유도가 높기 때문에 보안에 대한 부분 계속해서 Update
  • Unix(대용량 Data를 관리하기 위해 사용하는 OS)를 소형화한 OS

Run level

  • 부팅 레벨 (0~6)
  • 리눅스 시스템 관리의 용이함을 위하여 서비스의 실행을 단계별 구분해 적용한 것
Run LevelModeDescription명령어
0halt시스템 종료init 0
1singel user mode시스템 복구 모드, 관리자 권한 default ex) windows 안전 모드init 1
2multi user modeNFS 미지원 다중 사용자 모드, TUI 환경init 2
3full multi user modeCLI 다중 사용자 모드, graphic user mode 미지원, TUI 환경init 3
4unused임의로 정의해 사용 가능한 레벨, 기본적으로 미사용init 4
5graphic user mode다중 사용자 모드, GUI 환경init 5
6reboot시스템 재부팅init 6

UI (user interface)

  • GUI (Graphical user interface)
    • 그래픽 환경
      • 그래픽으로 사용자와 상호 작용
    • 정보 저장소 = 폴더(folder)
  • TUI (Text user interface)
    • 텍스트 환경
      • 텍스트로 사용자와 상호 작용
    • 정보 저장소 = 디렉토리(directory)
  • UI 확인 및 변경 명령어
    1
    2
    3
    4
    5
    
      systemctl get-default # interface 확인
      sudo systemctl set-default graphical.target # 재부팅 시 GUI mode 변경
      sudo systemctl isolate graphical.target # 현재 세션에서 GUI mode 변경
      sudo systemctl set-default multi-user.target # 재부팅 시 TUI mode 변경
      sudo systemctl isolate multi-user.target # 현재 세션에서 TUI mode 변경
    

Shell

  • 언어 변환기(명령어 전달 도구)
  • 사용자가 쓰는 명령어, 언어를 Kernel에 전달해주는 언어 변환기
  • sh
    • 커널 기본 shell
  • bash
    • Linux shell
  • csh
    • C program 전용 shell
  • ksh
    • korn shell
    • Unix shell

Linux Directory 구조

  • 트리 구조
    image
  • /root
    • 최상위
    • 관리자 홈 디렉토리 ex) C:드라이브
  • /sbin
    • 필수적인 system 명령어 저장소
    • system binary
    • ascii(문자, 문서파일)
      ex) C:\Windows\wow64
  • /bin
    • 필수적인 기본 명령어 저장소
      • 대부분의 명령어 저장
    • binary
    • ascii(문자, 문서파일)
      ex) C:\Windows\system32
  • /boot
    • 부팅 파일 저장소
    • 부팅 관련 grub(부트로더), lilo(linux loader) 존재
    • 환경 파일 제외한 부팅 과정에서 필요한 모든 구성 요소들 존재
      ex) boot.ini (부팅 파일)
  • /home
    • 사용자 계정이 들어가는 저장소
    • 사용자 홈 디렉토리 저장소
    • 계정 접속 위치
    • 계정 전용 공간 (사용자 홈 디렉토리)
      ex) C\users\사용자명
  • /usr
    • 유저가 사용하는 소스
    • 사용자가 실행할 program files 저장
    • 응용 프로그램 대용량 저장소
    • /sbin
      • /sbin에 있는 명령을 제외한 system 관리 명령어 저장소
    • /bin
      • /bin에 있는 명령을 제외한 응용 프로그램 명령어 저장소
  • /var
    • 자주 변경되는 비휘발성(non-volatility) 데이터
    • 자주 변경되는 누적 파일 저장소
    • 내용 저장소
    • 로그 파일 저장소
    • 계속 남아있음
      ex) log, 메일, 상태 메세지, 시스템 에러 메세지
    • /run
      • 마지막 부트 때부터 작동하는 시스템에 대한 정보
      • 현재 로그인 정보와 작동하고 있는 데몬
    • /log
      • 컴퓨터 기록 저장
      • 로그 파일
        ex) 일기장
  • /etc
    • 설정 파일, 스크립트(ascii)
    • 기타 등등, 나머지 파일
    • 서버 관리 및 시스템 설정 파일 저장소
  • /proc
    • 자주 변경되는 program 동작 정보 저장소
      • kernel, 가상화, 프로그램 등 running 중인 모든 프로그램
    • 휘발성 (volatility) 데이터
    • 실행 중인 process 동작 정보 저장소
    • 재부팅 시 정보 사라짐
    • /proc/cpuinfo
      • 프로세서 정보
    • /proc/devices
      • 현재 커널에 설정되어 있는 장치 목록
  • /lib
    • library
    • 언어 번역기, 언어 관련 해석(변환)기
    • 프로그램 해석(실행)가능
    • 언어 관련 파일 저장소(컴파일러, 모듈)
    • 어떠한 프로그램을 실행하기 위해 있어야 하는 하나의 변환기 → 없으면 해당 언어 번역 불가능
    • C언어나 Java같은 언어를 해석해주는 하나의 언어 File
    • 정적/동적 라이브러리
      • 정적 라이브러리
        • Linux : a
        • Window : lib
      • 동적 라이브러리
        • Linux : so
        • Window : dll (Dynamic Link Library)
  • /tmp
    • temp
    • 임시저장소 (기본 1,000개)
    • 시스템 reboot 후 보존되지 않음
  • /misc
    • 아키텍처 독립 자료 디렉토리
  • /dev
    • device
    • 장치 파일 저장소
    • TUI (Text User Interface) 환경 : 수동 장치 연결 (mount)
    • GUI (Graphic User Interface) 환경 : 자동 장치 연결 (PnP:Plug&Play)
  • /media
    • 자동 장치 연결 시 기본 장치가 연결되는 장소
    • local device : 키보드, 마우스, HDD, CD-ROM
  • /mnt
    • 자동 장치 연결 시 원격 장치가 연결되는 장소
    • remote device : 리모콘, 블루투스, 무선 마우스, Wi-Fi

Directory 경로

  • /의 자리에 따라 의미가 달라짐
    ex) /var/log : 최상위 directory 안의 var directory 안의 log directory
    ex) /home/mxxikr : 최상위 directory안의 home directory 안의 mxxikr directory
    ex) /usr/bin : 최상위 directory 안의 usr directory 안의 bin directory
    1. 문자열 가장 앞 /
      • 최상위 디렉토리 의미
    2. 문자열 중간 /
      • dir 구분자
    3. 문자열 마지막 /
      • 보통 생략 사용
      • directory 의미 (정보 저장소)
  • 절대 경로
    • 최상위(/) 기준으로 판단
    • 최상위부터 시작
    • /가 기준이 되는 경로
      1
      2
      3
      
        pwd # /home/mxxikr/a
        cd /home/test # 절대 경로 지정 이동
        pwd # /home/test
      
  • 상대 경로
    • 현재 경로 (pwd) 기준으로 판단
    • 지금 내 위치에서 이동
    • pwd 입력 시 출력되는 위치부터 시작
      1
      2
      3
      
        pwd # /home/mxxikr/a
        cd b  # 상대 경로 지정 이동
        pwd # /home/mxxikr/a/b
      

파일/디렉토리 구분법

  • ls -al 명령어 통해 속성 확인 가능
    1
    2
    3
    4
    5
    
      ls -al
    
      # d rwxrwxrwx
      # - rwxrwxrwx
      # l rwxrwxrwx
    
    • d rwxrwxrwx : directory
    • - rwxrwxrwx : file
    • l rwxrwxrwx : link (바로 가기)
    • .파일명 : hidden file (숨김 파일)