728x90
반응형
-목차-
1.운영체제 정의
2.운영체제 목적
3.운영체제 기능
3-1) 프로세스관리
3-2) 장치관리
3-3) 파일 관리
4.리눅스
5.윈도우
1.운영체제 정의 : 사용자가 컴퓨터 시스템을 손쉽게 사용하도록 하고, 시스템 자원(기억장치, 프로세서, 입출력장치, 정보, 네트워크 등)을 효율적으로 관리하도록 하는 프로그램의 집합(윌리엄 스탈링스)
2.운영체제 목적
- 처리능력 향상
- 신뢰성 향상
- 응답시간 단축
- 자원 활용률 향상
- 가용성 향상
3. 운영체제 기능 : 프로세스관리, 장치관리, 파일관리
3-1)프로세스 관리
- 개념정리
- 프로세서 : 컴퓨터 운영을 위한 기본 명령어를 처리하기 위한 논리회로(CPU)/데이터 처리 시스템(data processing system)
- 프로세스 : 레지스터,스택,포인터,데이터 등의 집합체/ 자원할당의 기본 단위(=작업 단위)/OS로부터 자원을 할당받음
- 프로그램 : 보조기억장치에 저장된 명령어, 코드, 정적데이터
- 스레드 : 제어의 흐름 단위/ CPU작업에서 기본 단위/프로세스 실행단위
- 인터럽트 : 예외, 입출력, 이벤트같은것땜에 현재 실행중인 프로세스를 준비상태로 바꾸고 해당작업을 먼저처리 - CPU 스케줄링 : 컴퓨터 자원을 효율적으로 사용하기 위해 프로세스 순서를 정하는 것이다.
- 비선점 방식 : 프로세스 CPU 점유시 독점(처리시간 편차가 적은 특정 프로세스환경에서 용이)
-FCFS(First Come First Service) : 선착순 할당(일괄처리에서 주로사용)
- SJF(Short Job First) : 짧은 작업부터 할당
- HRN(Highest Response-ratio Next) : 우선순위 할당($우선순위=\frac{대기시간+실행시간}{실행시간}$ - 선점 방식 : 다른 프로세스 점유가 가능(시분할 시스템과 다중프로그래밍 이용한 대화식 시스템)
- Round-robin : CPU에서 각 프로세스에 같은 시간을 할당
- SRT(Shortest Remaining Time) : 수행시간이 짧은 작업부터 할당
- Multi Lever Queue (다단계 큐): 멀티큐로 나눠서 각자 독자적인 스케줄링 기법을 사용
- Multi Level Feedback Queue(다단계 피드백 큐) : 멀티큐로 나눠서 라운드로빈+비선점방식으로 스케줄링한다.
- 비선점 방식 : 프로세스 CPU 점유시 독점(처리시간 편차가 적은 특정 프로세스환경에서 용이)
- 교착상태(DeadLock) : 하나 이상의 프로세스가 다음 처리를 못하고있는 상태다. 여러 프로그램이 경쟁중이거나 대기중 프로세스를 실행으로 변경 못할때 주로 발생된다.
- 교착상태 발생조건
-상호배제(Mutual Exclusion) : 여러 프로세스가 자원을 베타점유
-점유대기(Hold and wait0 : 부분할당으로 다른 종류의 자원을 요구하면서 자원 점유
-비선점(Non Preemption) : 다른 프로세스에 할당된 자원을 뺏을수가 없어서
-순환대기(circular wait) : 프로세스와 자원들이 원형으로 서로 상대방의 자원을 요청 - 교착상태 대응방법
-예방(prevention) : 교착상태 발생조건을 제거
-회피(Avoidence) : 가능성을 인지하고 회피한다
-발견(Dectection) : 교착상태 발생 원인을 규명하고 해결
-회복(Recovery) : : 데드락 프로세스를 종료하거나, 할당된 자원을 해제시킴
- 교착상태 발생조건
3-2)장치관리
- 디스크 : 디스크 접근 시간
- 탐색시간 : 현위치에서 특정 실린더로 디스크 헤드가 이동할때 소요되는 시간
- 회전 지연시간 : 섹터>디스크헤드 도달시간
- 전송시간 : 데이터 전송 시간
- 디스크 스케줄링
- FCFS(FIrst-Cone First Served) : 요청순서대로 처리
- SSTF(Shortest-Seek-Time First) : 탐색거리가 짧은 트랙부터 우선처리
- SCAN(엘리베이터알고리즘) : 헤드가 이동하는 모든 요청을 서비스 끝까지 처리한다음 역방향으로 처리
- C-SCAN : 스캔에서 바깥쪽>안쪽 이동
- C-LOOK : 진행방향에서 요청없으면 헤드를 처음위치로 이동
3-3)파일관리
- FAT(File Allocation Table)
-FAT16 : 2GB/암호화나 압축 불가능/파일명 최대 영문8자/클러스터 1632KB
-FAT32 : 2TB/암호화나 압축 불가능/파일명 최대 영문256자/클러스터 4KB
-NTFS(New Technology File System) :암호화나 압축 가능/클러스터 가변 - EXT (EXTended file system)
-EXT : MINIX File System 보완/2GB/파일명255bytes/단편화문제
-EXT2 : 2GB/볼륨32TB/오류수정지원
-EXT3 : 저널링/온라인 파일시스템 증대/디스크 조각화 최소화
-EXT4 :16GB/볼륨 16Exbyte/온라인조각모음/저널체크섬/하위호환가능 - UFS(Unix File System) :
-부트블록
-슈퍼블록 : 파일시스템크기/inode테이블크기
-실런더그룹
-i-nide 테이블 : 파일정보(파일크기/위치/유형허가/날짜) - RAID(복수배열독립디스크) : 디스크 고장시 복구를 위해 2개 이상 디스크에 데이터를 저장하는 기술
-RAID0 : 패리티(오류검출기능)없는 스트리핑세트(최소2개디스크)/장애발생시 복구불가
-RAID1 : 패리티없는 미러링세트(최소2개디스크)/디스크 완전 이중화/ReadWrite병렬가능
-RAID2 : Hamming Code 오류복구
-RAID3 : 패리티정보를 별도디스크에 저장
-RAID4 : 패리티정보를 별도 디스크에 블록별 저장/write성능저하
-RAID5 : 분산 패리티/안전성 향상
-RAID6 : 다중 패리티/장애발생 상황에서도 다른 정상동작
4. 리눅스
- 리눅스 핵심 요소
- 쉘 : 명령어 해석/명령 입출력(bash/bourne,C,korn)/프로그램실행
- 커널 : 주기억장치에서 사용자 프로그램 관리
- 파일시스템 : tree
- 루트파일 : 디렉터리, 시스템 프로그램
- 일반파일 : 원시 프로그램파일, 텍스트 등등
- 디렉터리파일 : 디렉터리 정보를 저장하는 논리단위
- 특수파일 : 장치연결파일
- 부팅(Run level)
-0 : PROM감시
-1 : 사용자로그인불가능, 암호변경시 사용
-2 : 공유자원없는 다중사용자
-3 : 공유자원가진 다중사용자
-4 : 사용되지않는단계
-5 : 3단게기동후 x-windows실행
-6 : 3단계로 재부팅 - /etc/passwd
- Root : x : 0 : 0 : root : /root : /bin bash
- 사용자계정 : 패스워드(/etc/shadow) : UserID : GroupID : Home Directory : Shell
- /etc/shadow : UserID : GroupID : Home Directory : Shell
- 권한관리
- Umask( r = 4 , w = 2, x= 0 , User : Group : Other ) : Default 권한 , 파일 666 , 디렉토리 777
- chmod : 권한 부여 명령 (chmod 777 파일명 , chmod u+g, g-w, o+r 파일명)
- chown : 파일에 대한 사용자, 그룹 변경 (chown 소유자 : 그룹)
- 특수권한
- setid : 파일을 소유자권한으로 실행가능 (4000 , u+s)
- setgid : 파일을 그룹 권한으로 실행가능 (2000, g+s)
- stickybit : 공용 디렉토리
- 로그파일 (/var/log)
- 현재 사용자확인 : w, who – 로그인 사용자 ID, 사용 터미널, 로그인 시간
- 로그인한 사용자 정보 : /var/utmp
- 로그인,로그아웃 정보 : /var/wtmp (last 명령어 사용)
- 로그인 실패 정보 : /var/btmp
- Syslog( syslogd /etc/syslogd.conf 로그수준 ) : 로그수준을 읽고, 로그를 기록
유형 emerg > alert > crit > err > warn > notice > info > debug
- 작업스케줄러
- Cron : 반복적인 프로세스 작업을 수행할 때 사용하는 batch 프로그램(/etc/crontab)
30 * * * * root /home/test.txt : 30분 마다 test 실행
분 시 일 월 요일 사용자 실행명령 - At : 한번만 실행
- 파일 무결성 검사 : 초기 상태 파일 정보에 대해 해시값 저장, 이후 비교
Tripwire ( --init : 초기화 , --check : 무결성 검사)
- Cron : 반복적인 프로세스 작업을 수행할 때 사용하는 batch 프로그램(/etc/crontab)
5.윈도우
- 파일시스템(FAT, NTFS)
- 윈도우 인증 시스템
- 1)Winlogon : 윈도우 로그인 프로세스
- 2)GINA(msgina.dll) : Winlogon Gina로딩하여 계정과 암호를 LSA 전달
- 3) LSA (lsas.exe) : SRM 작성한 감사로그 기록, 계정과 암호 검증을 위해 LTLM 모듈 로딩, 계정검증
- 4) SAM : 사용자 계정정보 해시값 저장
- 5) SRM : 사용자 고유 SID 부여 SID 권한 부여
- 윈도우 실행 프로세스
- 1) Wininit.exe : 윈도우 시작 프로그램
- 2) Services.exe : 윈도우 서비스 관리
- 3) Lsm.exe : 시스템관리작업, 주요 함수 실행, 호스트컴퓨터-서버 연결관리
- 4) Svchost.exe : 서비스를 관리하기위한 프로세스
- 5) Conost.exe : 키보드, 마우스 입력 허용 , 문자 출력 셸의 기본 기능 수행
- 공유폴더 (Net BIOS :445)
- 확인 : net share
- 삭제 : net share /delete
- 레지스트리 : MS OS의 계층형 데이터 베이스(Key/Value/Data type/data)
- 레지스트리 최상위 키(루트키)
- HKEY_CLASSES_ROOT : 확장자, 프로그램간의 연결 정보
- HKEY_LOCAL_MACHINE : HW, SW 설치 정보
- HKEY_USERS : 사용자 정보
- HKEY_CURRENT_CONFIG : 디스플레이, 프린터 정보
- 레지스트리 주요 키
- 버전 정보 : HKLM\SOFTWARE\Microsoft\Windows NT\Current Version
- 컴퓨터 이름 : HKLM\SYSTEM\ControlSet00X\Control\ComputerName\ActiveComputerName
- 시작프로그램 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Current Version\ Run[]
- 최근에 실행한 명령어 :HKU\{USER}\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
- 레지스트리 최상위 키(루트키)
- 이벤트 로그 : 이벤트 뷰어를 통해 확인가능 , .evt
- 웹 아티팩트 분석 : 사용자가 웹 사이트를 이용한 흔적을 분석 하는 것 ( 웹 브라우저 캐시, 히스토리, 쿠키 )
Window XP, 7 (index.dat) / Window 10 (WebCacheV01.dat WebCacheV24.dat)
참고자료 : 정보보안개론3판(한빛), 시스템해킹(한빛), 나무위키, 위키피디아
https://continuetochallenge.tistory.com/66
https://silver-liq9118.tistory.com/28
728x90
반응형
'정보보안' 카테고리의 다른 글
[정보보안] 운영보안(Operations Security) (1) | 2022.11.29 |
---|---|
[정보보안] 정보보호와 정보보안 거버넌스(governance) (0) | 2022.11.29 |
OSI 7계층 정리표 (0) | 2022.10.02 |
컴퓨터 구조 요약정리 (0) | 2022.09.23 |