본문 바로가기
IT/Tips

리눅스마스터 1급 필기 요약 - (1과목) 리눅스의 개요 / 리눅스 시스템의 이해 / 네트워크의 이해

by Jany 2016. 9. 8.
반응형

리눅스의 개요

 

▶운영체제의 목적

1. 효율적 사용

2. 사용자 편리성

3. 비간섭

 

▶운영체제의 주요 역할

1. 하드웨어 제어

2. 사용자들 간의 하드웨어 자원을 공유

3. 시스템 자원을 스케쥴링

4. 입출력을 용이하게 하는 기능

5. 응용 프로그램의 작성과 실행

 

▶시스템 성능을 나타내는 요소

1. Throughput : 단위 시간당 처리 능력

2. Turnaround Time : 제출 ~ 결과 까지의 총 소요시간

3. 신뢰도(Reliability) : 정확하게 작동 되는지

4. 사용 가능도(Availability) : 곧 사용할 수 있는 정도

 

▶운영체제의 분류

1.커널 : 메모리에 상주, 장치들 관리

2. 쉘 : 대화수단이되는 프로그램

3. 파일시스템

4. 시스템 소프트웨어

5. 애플리케이션

▶운영체제의 특징

1. 다중 사용자 시스템

2. 다중 작업 시스템

3. 강력한 네트워킹

4. 편리한 사용자 인터페이스

5. 계층적 파일관리 시스템

6. 가상 메모리

7. 고성능의 프로세서에 최적화

8. 개방형 운영체제 및 뛰어난 이식성

 

▶운영체제의 기능별 유형

1. 다중교환 : 동시실행, 포그라운드 프로그램만 동작

2. 단일작업 : 한번에 하나의 작업만 처리

3. 다중작업 : 여러개의 작업을 동시에 수행

4. 대화형 처리

5. 일괄 처리 : 작업을 묶어 한꺼번에 처리

6. 실시간 처리

7. 가상기계

8. 분산처리

9. 병렬계산 : 프로세서들이 동시에 동작, 높은 신뢰성

 

▶시스템 프로그램

1. 어셈블러 : 언어번역 프로그램

2. 매크로 프로세서 : 매크로 호출 → 매크로 정의 바꾸어주는 프로그램

3. 로더 : 데이터들을 주기억 장치에 놓아두는 프로그램

4. 컴파일러 : 목적코드 프로그램을 생성하는 프로그램

5. 운영체제

   

▶재배치 분할 기억 장치 관리

: 작은 기억 장소 조각(Fragment) 라고 하는데 이것을 한 곳에 모아서 커다란 기억 공간으로 만들 필요가 있다. 이러한 작업을 압축(Compaction) 혹은 쓰레기 수집(Garbage Collection) 이라고 한다.

 

▶GNU GPL

: GNU/FSF 가 정의하고 있는 자유 소프트 웨어의 범위 안에서 마음껏 사용할 수 있도록 합법적으로 허용해 주는 사용권 허가 문서라고 할 수 있다.

 

▶자유 소프트 웨어 재단 (FSF)

: 자유 소프트 웨어 사용자들의 권리를 지킴.

 

 

리눅스 시스템의 이해

 

 

▶CPU

1. 레지스터 : 데이터를 잠시 저장

2. 산술 논리 연산 장치

3. 제어장치

①프로그램 계수기 : 수행순서 제어

②명령 레지스터 : 수행중인 명령어 임시 기억

③명령 해독기 : 명령해독 → 제어신호

 

▶RAID (Redundant Array of Independent Disks)

    1. RAID-0 : 데이터를 중복해서 기록하지 않음.

                    고장대비 능력이 전혀 없음.

    2. RAID-1 : 디스크 미러링.

                    중복 저장된 데이터를 가짐

                    적어도 두 개의 드라이브로 구성.

                    각 드라이브를 동시에 읽을 수 있음.

    3. RAID-3 : 스트립을 사용.

                    단일 사용자 시스템에 적합.

    4. RAID-5 : 모든 읽기/쓰기 중첩 가능.

                     패리티 정보를 저장함.

                    중복 저장하지는 않음.

                     다중 사용자 시스템에 적합.

    5. RAID-53 : 스트립 어레이를 제공

 

▶SCSI (Small Computer System interface) 특징

  1. 월등한 다중 처리 성능

  2. 주변 장치를 이전의 인터페이스 보다 빠르고 유연하게 통신할 수 있도록 해주는 인터페이스.

  3. 고성능, 호환성과 확장성이 뛰어남

  4. 내외장 디바이스를 7~ 15개 까지 연결이 가능

  5. Ultra-3 SCSI : 최고속도 160Mbps.

                       16개 장치 부착 가능

 

▶부트 매니저 ( 리눅스의 부트로더)

  1.LILO (Linux Loader)

  2.GRUB (Grand unified bootloader)

      ① MBR 이라는 곳에 저장 - #grub-install

      ② 멀티 부팅 : /boot/grub/grub.conf 설정파일

  # timeout=5 5초이후에 자동 부팅

 

   

▶디렉토리

1. /dev : 시스템장치(device) 파일을 저장

2. /etc : 거의 모든 설정파일이 존재

  ① csh.login : C쉘 로그인을 위한 시스템 전역 설정 파일

  ② group : 사용자 그룹 파일

  ③ issue : 로그인 전에 표시되는 메시지 및 확인 파일

  ④ profile : sh 쉘 로그인에 대한 시스템 전역 설정 파일

  ⑤ /etc/rc.d : 부팅 레벨별 부팅 스크립트 파일들이 존재

3. var : 시스템 운용 중, 생성 되었다가 삭제되는 자료, 즉 가변자료 저장.

4. /lost+found : fsck, e2fsck 등과 같은 파일 시스템 체크 및 복구 유틸리티 실행 후에 주로 생성되는

   것. 복구되지 않은채로 블록만존재하는 파일, 즉 연결이 끊어진 inode 들이 숫자파일 형태로 존재.

 

▶ 부팅 과정

1. POST 기능과 부트로더를 불러들임.

2. 부팅할 운영체제의 선택.

3. 운영체제의 커널을 RAM에 적재(load)

4. 스와퍼 적재

5. 스와퍼 프로세스(0번)는 앞단계에서 인식했던 각 장치들의 드라이브를 초기화.

6. init 프로세스(1번)를 적재, 스스로 종료

 

▶시스템 종료 명령어

# shutdown -h now

# halt

# poweroff

# init 0

 

▶시스템 재부팅 명렁어

# shutdown -r now

# reboot

# init 6

 

▶리눅스 파일 시스템의 구조

1. 수퍼블록 : 파일시스템에 의존하는 정보를 가짐.

                   전체적인 정보를 가지고 있음.

2. 아이노드 : 파일의 이름을 제외한 해당파일의 모든 정보를 가지고 있음.

                   이름에 부여되는 고유한 번호

3. 데이터 블록 : 아이노드에 포함

4. 디렉토리 블록 : 파일이름과 아이노드 번호 저장

5. 간접 블록 : 추가적인 데이터 블록을 위한 포인터들이 사용할 동적으로 할당되는 공간.

 

▶ext2 아이노드

1. ext2 파일 시스템에서 가장 기본이 되는 단위.

2. 고유번호를 가짐

3. 역할 : 파일의 데이터가 어느 블록의 어느 위치에 저장되어 있는지, 파일에 대한 접근 권한, 최종 수정 시간, 파일의 종류 등을 저장.

4. 아이노드는 아이노드 테이블에 저장됨.

 

▶아이노드에 저장되는 정보의 항복

1. 모드

2. 소유자정보

3. 크기

4. 타임스탬프

5. 데이터 블록

 

▶ext3 의 특징

1. fsck (파일 시스템 복구 기능) 제공

2. 저널링 기능

 

▶저널링

1. 데이터를 디스크에 쓰기 전에 로그에 데이터를 남겨 시스템의 비정상적인 셧다운에도 로그를 사용해 fsck 보다 빠르고 안정적인 복구 기능을 제공.

2. 시스템이 비정상적으로 동작을 멈추더라도 시스템의 파일 시스템을 복구하기 위해서 로그만을 검사.

3. 해당로그에 저장된 내용이 불안정할 경우에는, 복구자체를 포기하기 때문에 파일 시스템이 불안정한 상태로 되지 않는다.

 

▶X 윈도우 시스템

1. 클라이언트/서버 : 자원제공 / 출력장치에 표시

2. X Protocol : 메시지 형태와 사용법

3. Xlib, Xtoolkit

▶윈도우 매니저의 종류

twm, dxwm, fvwm, AfterStep, kwm ...

 

▶윈도우 매니저의 변경

/etc/sysconfig/desktop/

 

▶ 쉘 (Shell) : 명령어 해석기 역할

cf. 하드웨어) 커널) 쉘) 애플리케이션)

 

▶본 쉘 계열의 쉘

1. sh

2. ksh

3. bash : 리눅스에서 가장 많이 사용되는 쉘.

C쉘과 콘 쉘의 장점을 결합.

 

▶쉘의 변경

# echo $SHELL

▶기본 사용쉘 변경

1. # chsh

2. /etc/passwd

▶쉘의 환경변수

1. HOME : 현재 사용자의 홈 디렉토리.

2. PS1 : 매개변수의 값을 확장하여 주 프롬프트 문자열로 사용 ( 기본값 bash )

3. TERM : 터미널 타입 확인

4. PWD : 현재 디렉토리

▶환경 변수 값 확인

1. 하나씩 확인

# echo $변수명

# printenv 변수명

2. 모두 확인

# printenv

# env

 

▶표준 에러

# find / -name *linux* 1> find 2> err

= root 아래에서 중간에 ‘linux‘ 라는 단어를 포함하는 모든 파일을 찾아서 find에 저장, 에러메시지는 err라는 파일에 저장.

# find / -name *linux* 1> find 2> /dev/null

= 표준에러 메시지를 파일이 아니고, 화면상에도 표시되지 않고 그냥 버리고 싶을 경우.

 

▶쉘 스크립트 : 쉘이 수행하고 있는 명령어를 저장하고 있는 파일

① 위치매개변수

② 특별매개변수 :

* : 1부터 시작하여 위치 매개변수로 확장.

# : 십진수로 위치 매개변수의 수로 확장.

$ : 쉘의 프로세스 ID로 확장.

0 : 이름으로 확장

③ 복합 명령

- if 문

- case

- for

- while : #while (조건문)

do 반복명령문 done

▶쉘 프로그래밍 : 쉘 스크립트를 제작.

 

▶프로세스 관리 블록 (PCB) 의 정보

1. 프로세스 고유번호 (PID)

2. 프로세스 우선순위 (priority)

3. 프로세스의 현재 상태 (current state)

4. 프로세스가 할당받은 자원들의 리스트 또는 이들에 대한 포인터

5. 문맥 저장 영역

▶프로세스 식별자(PID)

: 유닉스 커널과 같은 운영체계에서 각 프로세스나 서비스를 식별하기 위해 할당하는 고유한 번호.

▶프로세스 상태

 1. 활동상태

    ① 생성상태 : 사용자가 요청한 작업이 커널에 등록되어 커널 공간에 PCB 등이 만들어지고,

                       프로세스가 처음 생성되는 상태

   ② 준비상태 :모든 필요한 자원들을 할당받은 상태에서 프로세서를 할당받기 위해 기다림.

   ③ 실행상태 : 프로세서에 의해 실행되고 있는 상태.

   ④ 대기상태 : 임의의 자원을 요청한 후 할당 받을 때까지 기다리고 있는 상태.

2. 지연상태 : 프로세스가 기억장치를 할당받지 못하고 있는 상태

   ① 지연 준비상태

   ② 지연 대기상태

 

   

▶ 데몬

1. /etc/init.d 디렉토리 아래에 제공

2. /etc/rc.d/rc[런레벨번호].d로 존재

 


네트워크의 이해

 

▶OSI 7 Layer

 

1. 물리계층(Physical Layer)

2. 데이터 링크 계층(data link layer)

    ①프레이밍

    ②오류제어

    ③시간 제한 및 확인

    ④흐름제어

3. 네트워크 계층(network layer)

    데이터가 목적지까지 올바르게 도달할 수 있도록

    경로선택 및 라우팅 기능 수행.

4. 전송계층(transport layer)

5. 세션계층(session layer)

6. 표현계층(presentation layer)

    ①데이터 표현과 형식의 차이 해결

    ② 데이터 압축, 암호, 추상구문을 전송구문으로 사용자 데이터로 변환

    ③적잘한 전송 구문 협상

    ④전송가능한 형식으로 변환하여 송신,수신

    ⑤세션계층의 기능을 응용계층에 제공

    ⑥데이터를 읽을수 있도록 하는 역할

7. 응용계층(application layer)

 

 

▶네트워크 장비

1. 케이블

2. NIC

3. 허브

    ①더미허브 : 연결된 컴퓨터가 많을수록 충돌율이 높아져 효율성이 크게 저하됨.

    ②스위칭 허브 : 목적지 노드로 직접 연결. (1:1)

4. 라우터

5. 브리지

6. 게이트웨이

7. 리피터

 

 

▶Ethernet

1. IEEE의 802.3에서 표준으로 정의

2. 10Mbps 의 전송속도. 500m

3. 100Mbps 의 Fast Ethernet

 

▶토큰링

: IBM에 의해 개발, 4~16Mbps 의 속도

 

▶WAN

1. 광역통신망

2. 각 노드간의 연결 : 지점간 접속(point-to-point) 방식

 

▶서브넷 마스크

: IP주소를 실제로 컴퓨터사에서 Network Address와 Host Address로 구분하기 위해 필요함.

 

▶라우팅 결정

1. 목적지 호스트가 로컬 네트워크에 있으면,

데이터는 목적지 호스트로 전달

2. 목적지 호스트가 원격 네트워크에 있으면,

데이터는 로컬 케이트웨이로 전달.

▶네트워크 환경 설정

1. # ifconfig :

2. # setup : 간단한 네트워크 설정 툴

3. # netcofig

 

▶ # netstat

: 호스트들과 어떤 서비스로 연결되어 있는지와 그연결상태는 어떠한가에 대한 정보

 

▶ # route

1. 기본 게이트웨이추가

    #route add default gw 기본게이트웨이주소 dev 인터페이스명

2. 주요 옵션

    -F : 커널의 FIB 라우팅 테이블에 기초하여 동작

    -e : 라우팅테이블 출력하기 위해 netstat 포맷사용.

    gw : 게이트웨이를 통해 패킷을 route

    irtt : 해당 route에 걸친 tcp연결에 대한 initial round robin trip 시간. 기본값 300ms

 

▶ traceroute

: 사용자가 원하는 호스트까지 패킷이 어떠한 경로로 전달이 되는지 작은 ttl값과 돌아오는 ICMP TIME_EXCEEDED 응답을 통해 사용자에게 알려준다.

 

▶ ping

: ICMP 에코메시지 사용

▶ARP(address resolution protocol)

1. IP주소를 ethernet 주소로 변경

2. 주요옵션

-a : 모든 호스트 정보 출력

-s : 특정 IP에 대한 MAC 주소 변경

-d : 특정 MAC 주소를 삭제

-v : 자세한 모드로 결과 출력

 

▶dig

: DNS 서버의 설정 내용과 특정 도메인의 네임서버 설정 내용을 확인하는 명령어

/etc/resolv.conf

반응형

댓글0