2.1_ 네트워크 개념

① 네트워크의 개요와 통신망의 종류

  • 네트워크란
  • LAN
    • 스타형
    • 버스형
    • 링형
    • 망형
  • LAN 전송방식
    • 이더넷과 CSMA/CD
      • 48비트 MAC주소 기반
      • LAN을 위해 개발됨
      • UTP, STP 케이블 사용
      • 허브, 스위치, 리피터 사용
      • 반송파 감지 다중 접속 및 충돌 방지 : CSMA/CD
      • 저럼
    • 토큰링
    • FDD
  • MAN : 도시
  • WAN : 국가,대륙
    • 전용 회선 방식
      • 전용 통신 선로
      • 안전성 우수, 높은 비용
    • 교환 회선 방식 : 공중망
      • 회선 교환방식 
        • 데이터 전송하기 전에 연결 경로를 설정
        • 물리적 전용선 연결하는 방식
        • 고정된 대역폭 할당
        • 안정적인 데이터 전송률 지원
        • 전화
        • 사용 중 다른 사람 이용 불가
      • 패킷 교환 방식
        • 패킷이용해서 전송
        • 패킷 : 일정  크기로 분할, 정보를 추가하여 만든 데이터 블록
        • 전송 대역폭 동적 -> 이용 효율 극대화
        • 패킷별로 우선순위 부여 가능
        • 많은 지연
        • 오버헤드 비트가 존재
  • X.25
    • 프레임 릴레이
    • 셀 릴레이

 

② 네트워크 장비

  • LAN 구성 장비
    • 네트워크 카드
    • 케이블
    • 허브
  • 인터네트워킹 장비
    • 리피터
    • 브리지
    • 라우터

 

③ 프로토콜

  • 프로토콜의 개요
  • 프로토콜의 기능
    • 주소지정
    • 순서지정
    • 단편화와 재조합
    • 흐름제어
    • 오류제어
    • 연결 제어
    • 동기화
    • 멀티플렉싱
    • 전송 서비스
    • 캡슐화
  • 프로토콜 재정 기관
    • ISO
    • IEEE
    • ANSI
    • EIA
    • ITU-T
  • TCP/IP
    • TCP/IP의 개요
    • 구조
    • TCP
      • 3-way handshaking
        • SYN
        • ACK/SYN
        • ACK
        • ESTABLISHED
    • UDP
  • OSI 7계층
    • 물리계층
    • 데이터링크 계층
    • 네트워크 계층
    • 전송 계층
    • 세션 계층
    • 표현 계층
    • 응용 계층
    •  
  • 프로토콜 번호
  • 포트 번호
  •  소켓
계층 전송 단위 역할
물리 bits 전송 매체를 통해 전송
데이터 링크 frames 물리적인 링크를 통하여 신뢰성 있는 정보의 전송을 위한 통신로 설정
네트워크 packets 정보의 전송을 위한 경로 선택
 전송 segments 정보의 신뢰성 있고 투명한 데이터 전송
세션  data 응용 프로그램 간의 통신 관리하기 위한 방법, 동기화 유지
표현 data 송수신할 정보의 표현에 차이가 있는 응용 프로그램에게 연결 제공
응용 data 사용자에게 직접 제공하는 서비스 및 응용 프로그램 간의 정보 교환

④ IP 주소와 도메인

  • IP 주소
  • IP 주소의 클래스
    • A : 0~127
    • B : 128~191
    • C : 192~223 
    • D : 224~239
    • E : 240~255
  • 특수 목적 IP 주소
    • 사설 아이피 주소
    • A : 1개 네트워크, 10~10.255.255.255
    • B : 16개 네트워크 172.16.0.0~ 172.31.255.255
    • D : 256개 네트워크 192.168.0.0~ 192.168.255.255
  • 도메인네임
  • 도메인네임 시스템 (DNS)
  • 도메인 체계 
  • ICANN
  • IPV6

3-2 인터넷 활용

2.1_ 네트워크 개념

① 네트워크의 개요와 통신망의 종류

  • 네트워크란
  • LAN
    • 스타형
    • 버스형
    • 링형
    • 망형
  • LAN 전송방식
    • 이더넷과 CSMA/CD
    • 토큰링
    • FDD
  • MAN
  • WAN
    • 회선 교환방식
    • 패킷 교환 방식
  • X.25
    • 프레임 릴레이
    • 셀 릴레이

 

② 네트워크 장비

  • LAN 구성 장비
    • 네트워크 카드
    • 케이블
    • 허브
  • 인터네트워킹 장비
    • 리피터
    • 브리지
    • 라우터

 

③ 프로토콜

  • 프로토콜의 개요
  • 프로토콜의 기능
    • 주소지정
    • 순서지정
    • 단편화와 재조합
    • 흐름제어
    • 오류제어
    • 연결 제어
    • 동기화
    • 멀티플렉싱
    • 전송 서비스
    • 캡슐화
  • 프로토콜 재정 기관
    • ISO
    • IEEE
    • ANSI
    • EIA
    • ITU-T
  • TCP/IP
    • TCP/IP의 개요
    • 구조
    • TCP
    • UDP
  • OSI 7계층
    • 물리계층
    • 데이터링크 계층
    • 네트워크 계층
    • 전송 계층
    • 세션 계층
    • 표현 계층
    • 응용 계층
  • 프로토콜 번호
  • 포트 번호
  •  소켓

④ IP 주소와 도메인

  • IP 주소
  • IP 주소의 클래스
  • 특수 목적 IP 주소
  • 도메인네임
  • 도메인네임 시스템 (DNS)
  • 도메인 체계 
  • ICANN
  • IPV6

 

 

2.2_ 인터넷 서비스의 종류

① 인터넷 서비스의 종류 및 특징

  • WWW
  • 전자 우편
  • 파일 전송
  • 텔넷
  • SSH
  • tkaqk
  • NFS
  • 기타
    • 유즈넷
    • IRC
    • 고퍼

② 인터넷 서비스의 사용

  • 웹 브라우저
    • 파이어폭스
    • 오페라
    • 크롬
  • 텔넷
  • ftp
  • SSH

 

2.3_ 인터넷 서비스의 설정

① 리눅스 네트워크 설정

② 인터넷 접속을 위한 설정

  • 인터넷 접속의 개요
  • 넷마스크와 게이트웨이 주소
  • 넷마스크 값과 호스트 수
  • 네트워크 인터페이스 설정 방법
    • GUI 기반 네트워크 설정
    • 텍스트 기반 유틸리티 사용 방법
    • 명령어 이용하는 방법
    • 네트워크 관련 파일을 이용하는 방법

③ 관련 명령어

  • ifconfig
  • route
  • netstat
  • arp
  • mii-tool
  • ethtool
  • ip
  • ss

④ 네트워크 관련 파일 

  • /etc/sysconfig/network
  • /etc/sysconfig/network-scripts 디렉토리
  • /etc/resolv.conf
  • /etc/hosts

 

 

3. 리눅스의 활용

 

3-1 X 윈도

1.1_ 개념 및 사용법

① x 윈도의 개념 및 특징

  • x 윈도의 역사
    • XFree86
    • X.org - MIT
  • X 윈도의 특징
    • 네트워크 프로토콜 기반
    • 그래픽 사용자 인터페이스 환경
  • X 윈도의 구조
    • 클라이언트/서버
  • Xlib와 X 관련 라이브러리
    • Xlib : c언어로 구현된 클라이언트 라이브러리
    • 최근 : Xt, Xzw, Motif, FLTK, GTK+, Qt, Tk, SDL
    • X.org -> XCB대체해서 사용 (쓰레딩 기능 제공, 확장성 뛰어남, 라이브러리의 크기 작고, 단순, 직접 접근 가능)
  • X 윈도 설정과 실행
    • 리눅스 부팅 모드 설정 : etc/inittab
      • id:5:initdefault:
      • 텍스트 모드 : 3
    • 디스플레이 매니저
      • 세션 시작해주는 역할
        • XDM, GDM, KDM 
      • startx
        • X 윈도 실행 시키는 스크립트
        • 시스템 환경 초기화시킴
        • 최종적으로 xinit 호출
        • -- : 명령행의 인자값을 xinit에 넘겨줌
          • ex) startx -- :1 두 번재 윈도 터미널에 X윈도를 실행시킴

② 데스크톱 환경

  • 데스크톱 환경
    • 사용자에게 제공되는 인터페이스 스타일
    • 위젯 제공
    • Drang & Drop 과 프로세스 간의 통보 기능
    • 환경
      • GNOME, KDE, Xfce, LXDE -- 2020.12
  • KDE
    • Qt 라이브러리 
    • K Desktop Environment
    • 프로그램
      • konqueror
      • dolpgin
      • kwrite
      • Gwenview
      • KColorChooser
      • KColorEdit
      • KlconEdit
      • KRuler
      • KSnapshot
      • KolourPaint
      • Okular
      • KGet
      • KMail
      • Konsole
      • KDiskFree
      • KSystemLog
      • Krfb
      • Dragon Player
      • Julk
  • GNOME - 2020.12
    • GNU Network Object Model Environment
    • 프로그램
      • nautilus : 파일 관리 
      • Cheese : 웹캠을 이용한 사진 및 비디오 추출
      • GIMP : 이미지 편집, 변환, 생성
      • Rhythmbox : 인터넷 라디오 및 음악 연주 
      • gThumb : 이미지 뷰어 및 편집
      • gnome-terminal : 터미널
      • gedit : 문서 편집
      • evince : 문서 뷰어 (pdf, PS, EPS,,,)
      • totem : 사우드 및 비디오 플레이어
      • gnome-system-monitor : 프로세스 및 자원 모니터링
      • sound-juicer : CD 플레이어 
      • evolution : 메일, 달력, 주소록 

③ 윈도 매니저

  • 윈도 매니저란 : -2020.12
    • X 윈도 환경에서 윈도의 배치와 표현 담당 system sw
    • 창 열기, 창 닫기, 최소화 및 최대화, 이동 크기 조정 등
    • 도크, 태스크 바, 프로그램 런쳐, 데스크톱 아이콘, 바탕화면 제공함

 

1.2_ X윈도 활용

① 원격지에서 X 클라이언트 이용 1

  • xhost
    • X 서버에 접근할 수 있는 클라이언트를 지정, 해체
    • xhost [+/-] [Ip 주소 or 도메인명]
      • +가 기본
      • ex) xhost : 접근 목록 출력
      • xhost + : 모든 클라이언트 접속 허용
      • xhost (+) 192.168.123.456 : 192.168.123.456의 접속 허가
  • DISPLAY
    • X 클라이언트 프로그램이 실행될 때 표시되는 창의 ㅌ환경변수
    • X 클라이언트 프로그램을 원격지의 X 서버에 전달하기 위해 수정하는 환경 변수 - 2020.12
    • 기본 값 -> ':0.0'
      • 첫 번째 : 시스템에 실행되고 있는 첫번째 X 윈도
      • 두 번째 : 첫 번째 모니터
      • ex) export DISPLAY = "123.456.789.147:0.1
        • X 클라이언트 프로그램을 123.456.789.147의 첫 번째 실행된 X서버의 두 번째 모니터로 전송

 

② 원격지에서 X 클라이언트 이용

  • 불필요한 클라이언트 접속 막음
  • startx X윈도 실행 -> $HOME/.Xauthority 파일 생성
    • MIT - MAGIC - COOKIE - 1 키 값 가짐
      • 이 키로 X서버로 접근 사용자 인증함
  • xauth - 2020.12
    • X접근허가 파일 관련 도구
    • ex) xauth list $DISPLAY
      • .Xauthority 파일의 키 값 출력,
      • 해당 값을 X 클라이언트 프로그램이 전송할 시스템에 보내어 설치

③ X 윈도 응용 프로그램

  • GIMP : 사진이나 그림 편집하는 자유 SW
  • Totem : GNOME 데스크톱 기반의 Movie player
  • KMid : 노래방 파일 플레이어
  • ImageMagick : 비트맵 이미지 보여주고, 생성 및 편집 가능하도록
  • eog : GNOME 제공하는 이미지 뷰어 프로그램
  • kdergraphics : KDE 제공하는 그래픽관련 프로그램
  • Rhythmbox : 통합형 음악 관리 프로그램
  • evince : 멀티 페이지 문서 뷰어 프로그램 (pdf)
  • LibreOffice : 워드 프로세서, 스프레드시트(Calc),,, oowriter입력하면 됨.

2-6 장치 설정

1. 주변 장치 연결 및 설정

① 프린터

LPRng -> CUPS사용

② 사운드 카드

  • 고급 리눅스 사운드 아키텍처(ALSA)
    • 리눅스 커널의 요소
    • 사운드 카드용 장치 드라이버 제공하기 위함
    • OSS 지원 받아서 하드웨어 기반 미디 합성, 다중 채널 하드웨어 믹싱, 전이중 통신, 다중 프로세서와의 조화, 스레드 안전장치 드라이버 등 기능 지원
  • 오픈 사운드 시스템 (OSS)
    • 리눅스 및 유닉스 계열 운영체제에서 사운드를 만들고 캡처하는 인터페이스
    • 표준 유닉스 장치 시스템 콜에 기반 둠 (POSIX read, write, ioctl)

③ 스캐너

  • SANE - 2020.12
    • Scanner Access Now Easy
    • 평판 스캐너, 핸드 스캐너, 비디오 캠
    • 이미지 관련 하드웨어 사용할 수 있도록 해주는 API
    • GPL 라이선스로 공개되어 있다. 
    • 2개의 패키지로 구분되어 배포
      • 스캐너 관련 드라이버, 사용자 관련 명령
  • XSANE

 

2. 주변 장치 활용

프린터 관련 명령어 - 2020.12.12

  • lpr - BSD
    • 프린트 작업 요청
    • lpr [옵션] [파일명]
    • -# 값 : 인쇄할 매수 지정
      • ex) lpr -# 3 -P p204 luster.txt : luster.txt 문서를 p204라는 이름의 프린터로 3장 출력
      • cat luster.txt | lpr
  • lpq - BSD
    • 프린터 큐에 있는 작업의 목록 출력
    • lpq [옵션]
  • lprm - BSD
    • 프린터 큐에 대기 중인 작업을 삭제 
    • 번호를 입력함
    • 번호 입력 안하면 마지막에 요청한 작업 취소
    • lprm [option] [파일명]
      • ex) lprm 5 : 작업번호 5 프린트 작업 취소
      • lprm - : 모두 취소
  • lpc - BSD
    • 프린터나 프린터 큐 제어
    • lpc 실행하고, 지정한 명령어 사용
  • lp - System V
    • lpr과 유사
    • -n : 출력할 매수 지정
    • lp -n 5 /etc/hi : etc/hi 파일의 내용을 5매 출력
  • lpstat - System V
    • 프린터 큐의 상태 출력
  • cancel - System V
    • 프린트 작업 취소

 

② 사운드 관련 명령어 - 2020.12.12

  • alsactl
    • ALSA 사운드 카드 제어
    • alsactl [option] [명령]
      • init : 사운드 장치 초기화
  • alsamixer
    • 커서 라이브러리 기반의 ALSA 사운드카드 오디오 믹서 프로그램
  • cdparanoia
    • 오디오 CD에서 음악 파일 추출할 때 사용
    • -w : wav 파일로 추출
      • ex) cdparanoia -- "--5" : 트랙 5번부터 추출

 

 

<1. 리눅스 일반>

 /etc/password

  • 사용자의 목록 저장
  • 암호화하여 /etc/shadow에 추가 관리함
  • [아이디] : [password] : [UID] : [GID] : user의 추가 정보 : user의 홈 디렉터리 : 로그인 시 사용하는 셸 
    • ex ) luster47 : 1q2w3e4r : 600 : 500 : engineer : /home/luster : /bin/bash

 

ls 

  • 디렉토리 안의 내용 출력
    • -a : 숨겨진 파일, 디렉터리/ '.' : 숨겨진 파일
    • -F : 파일 형태에 따라 관련된 정보 출력
      • * : 실행 가능한 파일 (파일 이름 뒤에)
      • ./ : 디렉터리 (이름 뒤에)
      • @ : Symbolic link 뒤에
    • -l : 파일이나 디렉터리 정보를 한 줄씩 하나씩 길게 보여줌
    • -d : 디렉터리에 대한 정보 출력
    • -t : 시간 순으로 출력
    • -u : 사용된 시간 순으로 출력
    • -i : i-node 번호 출력(파일 or 디렉터리 명 앞에)
    • -r : 알파벳 역순으로 출력
    • -R : 관련 내용 전부 출력
    • -S : 파일 크기가 큰 것부터 출력
    • --color : 파일 종류에 따라 색 보여줌
    • -1 : 한 줄의 한 파일씩 출력
    • -Z : 보안 문맥 출력
  • 출력 결과 : [허가권] [하드 링크 수] [파일 소유자(파일 생성자)] [소유 그룹] [파일 크기] [파일 생성한 시간] [파일명]

<2. 리눅스 운영 및 관리>

1.1_권한 및 그룹 설정

 

 umask 

  • 파일이나 디렉터리 생성 → 허가권 지정
  • 파일 생성 시 : 666
  • 디렉터리 : 777
  • -S : umask 값을 문자로 표기
ex) umask -S
     u=rwx, g=rwx, o=rw
         u : 파일 소유자 접근 권한
         g : 그룹에 속한 사람들에 대한 접근 권한
         o : 다른 사용자들에 대한 접근 권한

cmod

  • 파일이나 디렉터리에 접근할 수 있는 허가권 설정
    • 권한 표시 - r, w, x
    • 사용자 지정 - u, g, o. a
    • 설정 - +, -, =(특정 권한만 지정)

 

1.2_파일 시스템 관리

리눅스의 파일 시스템

  • 파일 시스템 : os가 파티션 or 디스크에 데이터 저장, 읽기, 쓰기, 찾기 위해 구성하는 일련의 체계
  • ext3 (저널링 파일 시스템 기능 있음): 리눅스 커널 2.4부터 사용
  • 저널링 파일 시스템 : 파일 시스템에 변경사항을 반영하기 전에
    • 저널(로그)에 변경사항을 저장하여 추적이 가능하게 만든 파일 시스템
    • 시스템에 충돌 현상 or 전원 문제 발생 -> 데이터 복구 확률 높여줌
    • minix
    • ext
    • ext2
    • ext3 : 저널링 파일 시스템
    • ext4 : 저널링
    • Reiserfs : 저널링
    • XFS : 저널링
    • JFS : 저널링

 /etc/fstab 

  • 파일 시스템에 대한 다양한 정보 담고 있는 파일로 부팅 시에 마운트 할 파티션 정보가 기록되어 있는 파일
  • mount, umount, fsck,, 수행될 때 이 파일이 정보를 참고함.
  • 필드 구성
    • 첫 번째 : 장치명 기록 -> 볼륨 라벨, UUID
    • 두 번째 : 마운트 될 디렉터리 ex) /, /home
    • 세 번째 : 파일 시스템의 유형 ex) ext4, swap, nfs
    • 네 번째 : 마운트 될 때의 옵션
    • 다섯 번째 :  dump 명령을 통한 백업 시 레벨 덤프 주기 결정
      • 0 : dump사용 안 함
      • 1 : 매일 수행
      • 2 : 이틀에 한번 수행
    • 여섯 번째 : fsck 명령의 순서 정함 (부팅 시 파일 시스템 점검)
      • 0 : 부팅 시에 해당 파일 시스템 검사 X

특수 권한 //

  • Set-UID : 해당 파일을 실행하는 동안에는 실행시킨 사용자의 권한이 아닌 해당 파일의 소유자 권한으로 인식함
    • 소유자 권한 부분의 x자리에 s로 표시
    • 실행 권한이 없는 파일에 부여 -> S로 표시
  • Set-GID : 주로 디렉터리에 설정,
    • 이 권한이 설정된 디렉터리에 user가 파일들을 생성 -> 사용자가 속한 그룹에 상관 X, 디렉터리 소유 그룹 권한으로 만들어짐
    • 그룹 소유권 부분 x자리에 s로
    • 실행 권한이 없는 경우 ->  S로 표시
  • Sticky - Bit : 특수 권한 공유 디렉터리
    • /tmp디렉터리에 기본적으로 설정
    • 삭제하는 경우에 본인이 생성한 파일 이외에는 삭제 불가능
    • Group과 other 계층 사용자에게 사용할 수 있지만, 같이 사용 불가
    • other계층에 설정함
    • x자리에 t로 표기, 
    • other계층에 실행 권한이 없는 경우 -> 대문자 T로 

 

fdisk

  • 디스크 파티션을 확인하고 추가/삭제하는 명령
  • 설정 후에는 재부팅해야 함
  • 옵션
    • -I : 현재 디스크 파티션 테이블 출력
    • -s partition : 특정 파티션의 크기 출력, 단위는 block
  • 명령어
    • p : 현재 디스크 정보 출력
    • d : 파티션 삭제
    • n : 파티션 새로 생성
    • t : 파티션 속성 변경
    • w : 변경된 파티션 정보 저장하고 종료함
    • q : 파티션 정보 저장 X 하고 저장
  • ex) fdisk /dev/hi
    • p

 

mkfs(make filesystem)

  • 새로운 파일 시스템 만듦
  • root만 사용 가능
  • 파일 시스템 유형 설정 안 하면 -> ext2로 
  • mkfs [-t fs_type] [option] 장치명
  • 옵션 
    • -t fs_type : 파일 시스템 유형
    • -c : 배드 블록을 체크한 후 파일 시스템 구축
  • ex ) mkfs -t ext3 /dev/asdf
    • /dev/asdf을 리눅스 파일 시스템인 ext3로 만듦

 

 

mount

  • 보조기억장치나 파일 시스템이 다른 디스크를 /의 하위 디렉터리로 연결하여 사용 가능하게 해 줌
  • 옵션
    • -a : /etc/fstab에 명시된 파일을 마운트 할 때 
    • -t : fs_type : 파일 시스템의 유형 지정
      • 지정하지 않으면 : /etc/fstab 참조함
    • -o : 추가적인 설정 적용할 때
  • 유형
    • msdos : FAT - 16 마운트 할 때
    • vfat : FAT - 32
    • ntfs : NT, 2000, XP 이후 버전에서 사용하는 파일 시스템 마운트 할 때
    • ext2, ext3, ext4 
    • xfs
    • iso9660 : CD-ROM, DVD 마운트 할 때
    • smbfs : 네트워크 파일 시스템(삼바 파일 시스템)
    • cifs : 삼바 시스템 확장된 거
    • nfs : 네트워크 파일 시스템 (NFS) , 공유된 영역 마운트 할 때
    • udf : DVD 파일 시스템
  • -o의 항목
    • ro : 읽기 전용
    • rw : 읽/쓰 (기본값)
    • remount : 다시 마운트
    • loop : loop 디바이스로 마운트 할 때, iso(CD-ROM 이미지 파일)를 마운트 해서 사용할 때
    • noatime : 파일이 변경되기 전까지 Access Time(파일 내용 읽을 때 변경됨) 변경 X
    • username = 사용자명 : 사용자 계정 필요할 때
    • password
    • acl : ext3에서 지원하는 접근제어 리스트 사용 가능하도록
  • ex) mount -t ext4 -o ro /dev/sdf /hn
    • ext4인 /dev/sdf를 /hn 디렉터리에 읽기 전용으로 마운트

↓설명 너무 잘 되어 있다. 매일 읽자

jhnyang.tistory.com/12

 

마운트(mount) 뜻, 관련 명령어 & 문제 (fdisk, df, mkfs,디스크마운트)

리눅스 완전 정복 : 리눅스 목차 아마 마운트라는게 윈도우 운영체제에서는 우리가 실감할 일이 없기 때문에 리눅스를 처음 접하시는 분들은 헷갈릴 수 있는 개념이예요. 오늘은 마운트에 대해

jhnyang.tistory.com

 

df (disk free)

  • 현재 마운트 된 디스크의 크기, 사용량, 남아있는 용량,,, 대한 정보 출력
  • 옵션
    • -h : 용량 단위 표시
    • -k : 킬로바이트 단위로 보여줌 (기본)
    • -m : 메가바이트 단위로 보여줌
    • -T : 파일 시스템 유형 보여줌
    • -i : 아이 노드의 사용량 보여줌

 

du (disk usage)

  • 파일 or 디렉터리들이 디스크에서 차지하고 있는 크기 출력
  • 옵션
    • -h : 용량의 단위 표시
    • -s : 파일의 전체 크기 합한 값만 보여줌

nice 

  • 우선순위 변경
  • 프로세스 명으로 우선순위 조정
  • 명령 실행 -> 새로운 프로세스 추가 발생
  • NI 설정할 때 (증감)
  • root만 가능
  • nice [옵션] 프로세스 명
  • 옵션 
    • -n 값, -값/ --adjustment=값
    • 기본값은 10

 

renice

  • 실행 중인 프로세스 우선순위 변경할 때
  • 기존 프로세스 교체하여 조정
  • 설정된 NI 값 바로 설정 됨
  • renice [옵션]  NI  PID
  • 옵션
    • -p : PID 지정
    • -u : 사용자 이름 지정
    • -g : 프로세스 그룹 ID지정

 

 

2. shell
    shell : 커널 - 사용자 간의 다리 역할

    사용자로부터 명령어 받 -> 해석 -> 프로그램 실행

 

셀 확인

  • echo $SHELL
  • 변경 가능한 쉘 확인
    • chsh -l
    • cat /etc/shells
  • 쉘 변경 
    • chsh [쉘 이름]
  • 쉘 관련 파일 및 디렉터리
    • /etc/profile : 시스템 전체의 환경변수, 시작 관련 프로그램 설정
    • /etc/bashrc : 시스템 전체에 적용되는 alias와 함수 설정
    • ~/. bash_profile : 개인 사용자의 환경설정, 시작 프로그램 설정과 관련 있는 파일/ 로그인 시 읽어 들인다.
    • ~/. bashrc : 개인 사용자가 정의한 alias와 함수들이 있는 파일
    • ~/. bash_logout : 개인 사용자가 로그아웃할 때 수행하는 설정 지정
    • /etc/profile.d : 몇몇 응용프로그램이 시작할 때 필요한 스크립트가 위치하는 디렉터리

 

3. 프로세스 관리

  • 프로세스 : 실행 중인 프로그램
  • 시스템 호출 방법
    • fork : 새로운 프로세스를 위해 메모리 할당 받음 -> 복사본 형태의 프로세스 실행
      • 기존 프로세스는 그대로 실행
      • 원래 프로세스와 똑같은 코드 기반으로 실행됨
    • exec : 원래의 프로세스를 새로운 프로세스로 대체
      • 메모리 할당 X
  • 부팅 시작 -> init 프로세스 발생 -> init는 PID 1번 할당
  • 명령어 앞에 exec : 기본 프로세스 교체, 새로운 프로세스 할당됨
  • bg : 백그라운드 프로세스로 전환
  • fg : 포어그라운드 프로세스로 전환
  • 시그널 - 순서 기억
    • 특정 프로세스가 다른 프로세스에게 메시지 보낼 때
    • SIGHUP : 터미널에서 접속이 끊겼을 때 보냄, 재시작할 때 쓰임
    • SIGINT : 키보드로부터 오는 인터럽트 시그널 ( ctrl + c)
    • SIGQUIT : 키보드로 부터 오는 중지 시그널 (ctrl + \)
    • SIGKLL : 프로세스 강종
    • SIGTERM : 정상 종료
    • SIGCONT : 정지된 거 다시 실행시킬 때
    • SIGSTOP : 정지
    • SIGTSTP : 정지 후 다시 실행을 계속하기 위해 대기시킴 (ctrl + z)
  • 데몬
    • 백그라운드로 실행
    • 지속적인 서비스 요청 처리
    • 서버 역할
    • 방법
      • standalone : 부팅 시에 실행, 메모리 상주하면서 클라이언트의 요청 처리
      • inet : 클라이언트의 요청이 들어왔을 때 관련 프로세스 실행 -> 접속 종료 후에 자동으로 프로세스 종료

 

스케줄링과 cron

  • 스케줄링 : 특정한 시간에 특정한 작업 수행, at, cron사용
  • cron 
    • 시스템 운영에 필요한 작업 : /etc/crontab에 등록해서 주기적으로 실행
    • 사용자의 필요에 의한 작업 : crontab명령으로 등록 가능
    • 필드
      • minute
      • hour
      • day of month
      • month
      • day of week : 1월, 2화 ...
      • user-name
      • command

 

ps

  • 동작 중인 프로세스의 상태를 출력해 주는 명령
  • 옵션 계열
    • System V : (dash, -)사용
    • BSD : 대시 사용 X
    • GNU : 두 개의 대시 
  • ps [option]
  • 옵션
    • a : 터미널과 연관된 프로세스 출력
    • u : 프로세스의 소유자를 기준으로 출력
    • x : 터미널에 종속되지 않는 프로세스 출력
    • l : 프로세스의 정보를 길게 보여줌, 우선순위와 관련된 (RPI, NI)값 확인
    • 옵션 항목
      • USER : BSD 계열, 프로세스 소유자의 이름
      • UID : SYSTEM V 계열, 프로세스 소유자의 이름
      • PID : 프로세스의 식별 번호
      • %CPU : CPU 사용 비율 추정치 (BSD)
      • %MEM : 메모리 사용 비율의 추정치 (BSD)
      • VSZ : K단위 또는 페이지 단위의 가상메모리 사용량
      • RSS : 실제 메모리 사용량
      • TTY : 프로세스와 연결된 터미널
      • STAT : 현재 프로세스의 상태 코드
      • START : 프로세스 시작 시간 or 날짜
      • TIME : 총 CPU 사용 시간
      • COMMAND : 프로세스의 실행 명령행
      • STIME : 프로세스가 시작된 시간 혹은 날짜(Sys V)
      • C, CP : 짧은 기간 동안의 CPU사용률
      • F : 프로세스의 플래그 (1:exec 호출 없이 fork된 경우 / 4 : 슈퍼유저 권한 사용자)
      • PPID : 부모 프로세스의 PID
      • PRI : 실제 실행 우선순위
      • NI : nice 우선 순위 번호
    • STAT의 주요 값
      • R ( Runnig) : 실행 중 혹은 실행될 수 있는 상태
      • S ( Sleeping) : 인터럽트에 의한 sleep 상태, 특정 이벤트가 끝나기를 기다리는 상태
      • D ( Disk wait) : 디스크 I/O에 의해 대기하고 있는 상태
      • T ( Traced or stopped) : 정지된 상태
      • W : paging 상태
      • Z ( Zombie) : 작업이 종료되었거나 부모 프로세스로 부터 회수되지 않아 메모리를 차지하고 있는 상태
      • X : 죽어있는 상태, 상태값으로 볼 수 X
      • < : 우선순위가 인위적으로 높아진 상태
      • N (Nice) : 다른 사용자에 의해 인위적으로 우선순위가 낮아진 상태
      • L : 메모리 안에서 페이지가 잠금된 상태
      • s : session Leader
      • I : 멀티 쓰레드 상태
      • + : 포어그라운드 프로세스 그룹

+ Recent posts