운영체제 Flashcards
운영체제
[정의] 컴퓨터와 사용자의 중간에 위치 사용자의 편의성 제공 시스템 제어 및 관리 소프트웨어
[특징] 자원할당, 제어 프로그램, 사용자 편의 제공
[주요기능] 메모리 관리, 보조기억장치 관리, 입출력 관리, 파일관리, 보호 시스템, 네트워킹, 명령 해석 시스템
[종류] 싱글/멀티태스킹, 단일/다중사용자, 분산, 판형, 임베디트, 실시간
[운영모드] User 모드, Kernel 모드
커널
[정의] 시스템 HW와 User Application연동 위해 자원관리, 스케쥴러, 슈퍼바이저(Supervisior) 포함하는 운영체제의 가장 핵심 서비스
[기능] 보안, 자원관리, 추상화
[종류]
1. Monolithic Kernel : 다양한 서비스 제공, 높은 추상화, 성능 우수, 유지보수 어려움
2. Micro Kernel : 낮은 수준 추상화, Kernel은 최소 기능 제공, Server를 통해 많은 기능 제공
3. Hybrid Kernel : Kernel에 Server를 포함
유니 커널
[정의] 단일 응용과 커널이 하나의 실행 이미지로 동작하여 보안에 안전하고, 작고 빠르게 실행할 수 있는 클라우드 컴퓨팅 기반 OS기술
특징 단일주소 공간 사용, 초경량, 빠른 실행 시간, 강력한 보안 (단) 사용성 제약, 유연성 제약
[구성요소] LibOS, 런타임 라이브러리, 응용프로그램
Secure OS
[정의] 컴퓨터 운영체제 상에 내재된 보안 결함의 위험으로부터 보호하기 위하여 기존의 운영체제 내에 보안 기능(보안 커널)을 추가로 이식한 운영체제
[기능] 식별 및 인증, 접근제어(DAC, MAC, RBAC), 감사, 시스템 관리
부팅(UNIX)
[리드] 사용자의 편의성 제공 OS 기동
[정의] UNIX 운영체제 동작 위해 커널을 메모리에 올려서 실행 부트스트래핑하는 과정
[특징]
[부팅과정]
1. ROM-BIOS 실행 : 하드웨어 이상유무 점검 및 정보 수집 (무결성 체크, MBR)
2. 부트로더(boot loader) : 하드디스크에서 커널을 RAM에 적제 (GRUB, LILO)
3. Kernel 로딩 : 루트 파일 시스템 마운트 (/sbin/init 실행, PID=0)
4. INIT 프로세스 실행 : 시스템 초기화, PID1 실행 (/etc/inittab 참조, /etc/rc.d/rc.sysinit 실행)
5. Run Level : 설정 레벨로 프로그램 실행(일반적으로 3(다중 사용자), 5(통상 GUI)레벨로 실행)
[차별화] 정상 부팅 과정의 진단 방안 혹은 부트로더 설명후 진단은 간글로
- 로그 파일 : /var/log/dmesg
- 명령어 : dmesg (dmesg | grep sda, dmesg | grep err )
* UNIX는 부팅과정 동안 발생하는 로그를 dmesg에 기록, 분석통해 문제 원인 파악 및 해결 가능
부트로더
[정의] 운영 체제가 시동되기 전 메모리/하드웨어 초기화, 커널적재등를 담당하는 운영 체제 시동위한 프로그램
[종류] LILO, GRUB, NTLDR, BLOB, U-BOOT
[기능]
- 메모리/하드웨어 초기화 : 직렬포트의 초기화, 네트워크 초기화, 인터럽트 초기화
- 자동 부트 : 커널 등의 프로그램 이미지를 로딩하고 실행
- 입력 명령 처리 : 간단한 수준의 디버깅
- 커널 적제 및 부팅 : 커널과 루트 파일시스템을 RAM/플래시메모리에 적재하여 실행
* 부트로더는 GRUB가 많이 쓰이며 리눅스의 LILO, 윈도우의 NTLDR등이 존재
UNIX 파일 시스템
[정의] 데이터를 읽고, 쓰고, 찾기위한 파일에 대한 정책과 규칙을 정해놓은 체계
[특징] 다중 사용자 지원, 계층적 구조, 효과적 파일 관리 및 접근 편의성
[구성요소]
- Boot block : unix 커널 적재를 위한 프로그램 저장 (bootfile)
- Super block : 파일 시스템 기술 정보 저장 (jfs,ext3,NFS)
- i-node block : 파일과 디렉토리에 대한 모든 정보 (file type, id, flag)
- Data block : (binary file)
[유형] Unix 기준
1. 일반 파일 : 텍스트 등의 읽기 가능한 파일 (Text, Binary, /etc/passwd)
2. 디렉토리 파일 : 계층적으로 이루어진 파일 시작점의 포인터 (/(루트), /bin(실행), /dev(장치))
3. 특수 파일 : 입출력 장치들의 접근을 위한 파일 (Pipe, socket)
4. 명명 파일 : 큐의 입출력을 지원하는 파이프 (Named pipe)
[차별화] UNIX 시스템의 안전을 높이기 위한 파일 시스템 관점 방안
- 무결성 측면 : JFS 사용 (저널링 파일 시스템으로 파일 손상 최소화)
- 가용성 측면 : 클러스터링(고가용성, 이중화), CDP 동기화(실시간 데이터 복제)
- 기밀성 측면 : SUID(Set User ID) 최소화, 암호화 파일 시스템, 권한 관리
시스템 호출
[리드] 사용자의 커널 기능 사용
[정의] 운영체제(커널)가 특권 명령을 수행토록 요청하는 하드웨어와 사용자 사이의 인터페이스 또는 함수
[특징] 인터럽트 사용(S/W Interrupt), 이중 동작 모드(커널 영역 진입 아닌 특권 레벨로 변경)
* 커널 영역의 기능을 사용자 모드가 사용 할 수 있도록 제공하는 함수
[종류] (프파메네시)
1. 프로세스 관리 : fork(), execve(), getpid(), signal()
2. 파일 시스템 : open(), read(), write(), close()
3. 메모리 관리 : brk()
4. 네트워크 관리 : socket(), bind(), connect()
5. 시스템 정보/제어 : time()
JFS
[정의] 시스템 충돌이나 시스템 중단시 하드 디스크 무결성을 유지시키기 위해 사용되는 파일 시스템
inode
[정의] UNIX 파일 시스템에서 사용하는 자료구조 파일 시스템 정보 보유한 127byte 구조체
[관리 자료구조] (모리카 유지 시대)
- inode에서 관리하는 자료구조
- Mode(접근 ,실행권한), Link Count, UID, GID, Timestamp(접근,수정,생성), Data Block
이중모드
[정의] 다중 프로그래밍 환경, 자원에 대한 접근을 사용자 모드와 커널 모드로 분리, 운영체제 보호 하는 기법
[특징] 보호 링(Protection Rings) - 자원에 대한 접근 수준을 정의하여 데이터와 기능을 보호하는 메커니즘
* 커널 모드, 사용자 모드로 구성
[구현] 사용자 모드 (어플리케이션) → System Call I/F (사용자모드→ 커널모드) → 커널 모드
[종류] (역할)
- 사용자 모드(slave, unprivileged) : 보안제공, 장애/결함 대응
- 커널 모드 (master, privileged, supervisor) : 장치보호, 메모리 보호, CPU 보호