728x90
반응형

[Ctrl + F  통해서 검색]

※ 정보보안기사 필기 시험을 준비하면서 개인적으로 기출문제 위주의 용어들을 정리한 내용입니다.
   중요도가 높거나 시험에 많이 출제되는 내용은 주황색으로 표시했습니다.


윈도우 레지스트리로 얻을 수 있는 정보
- 컴퓨터에 설치된 모든 하드웨어 장치에 대한 정보 및 사용하는 리소스
- 윈도우가 시작할 때 읽어들인 장치 드라이브 목록
- 윈도우 내부 설정
- 특정 형식의 파일을 특정 응용 프로그램에 연결시키는 파일 연결 데이터
- 배경, 화면 배색 등 인터페이스 설정
- 인터넷과 네트워크 설정 및 암호
- 타사 응용 소프트웨어 설정 사항


inode | 아이노드
리눅스 커널이 현재 사용하는 자료구조를 유지하는 구조체
리눅스는 파일에 접근 시 아이노드를 통해서 파일을 참조
유닉스 파일 시스템에서 파일의 권한 정보, 생성일자, 변경일자 등 정보를 보유하고 있는 것
[아이노드가 가지고 있는 정보]
파일 소유자의 사용자 ID
파일 소유자의 그룹 ID
파일 크기
파일이 생성된 시간
최근 파일이 사용된 시간
최근 파일이 변경된 시간
파일이 링크된 수
접근모드
데이터 블록 주소


버퍼링 | Buffering
컴퓨터 시스템에서 두 장치 간의 속도차를 보완하기 위해서 중간에 일시적으로 데이터를 저장하는 기억장치
컴퓨터 시스템 처리 능력 향상
고속 장치와 저속 장치 속도 차이 해소


Kernel | 커널
유닉스 시스템에서 프로세스 관리, 메모리 관리, 입출력 관리 수행
데몬 프로세스를 실행하고 관리
커널은 쉘과 상호연관되며 작업 수행
커널의 이미지는 보조기억 장치에 저장되지만, 운영체제는 기동되면서 그 내용이 메모리에 상주된다.
즉, 커널은 메모리에 상주


유닉스 시스템 | Unix System
[핵심구조]

커널(Kernel) 메인 메모리에 상주, 사용자 프로그램을 관리, 유닉스 운영체제 핵심
커널 구성 : 프로세스, 메모리, 입출력, 파일관리
쉘(Shell) 명령어 해석기/번역기, 사용자 명령의 입출력을 수행하여 프로그램 실행
기능 : 커널과 사용자 간에 인터페이스 담당
종류 : Bourne 쉘, C 쉘, Korn 쉘 등
파일시스템(FileSystem) 여러 가지 정보를 저장하는 기본적인 구조
시스템 관리를 위한 기본 환경을 제공하고, 계층적인 트리 구조 형태
특징 : 독립된 디스크 공간 구축이 가능, 독립된 파일 시스템은 다른 파일 시스템으로 분리
구성 : 슈퍼블록, inode list, 데이터, 3부분으로 구성
/etc, /dev, /bin, /var 등


유닉스 파일 시스템
파일의 권한은 소유자, 그룹, 다른사용자로 구성
소유자 및 그룹과 다른 다용자도 권한이 부여되면 변경 가능
NFS(Network File System)을 통해서 디렉토리 공유
계층형 구조

유닉스 파일시스템 구조

구조 내용
부트 블록(Boot Block) 파일 시스템으로부터 유닉스 커널을 적재시키기 위한 프로그램
슈퍼 블록(Super Block) 파일시스템의 크기, 블록 수 등 이용 가능한 빈 블록 리스트(list)
빈 블록 리스트에서 그 다음의 빈 블록을 가리키는 인덱스
아이노드 목록의 크기, 파일 시스템에 있는 빈 아이노드 수와 목록
빈 블록과 빈 아이노드 목록들에 대한 lock 필드들의 정보를 가짐
슈퍼 블록들이 수정되었는지 나타내는 플래그
파일 시스템 이름파일 시스템 디스크의 이름
아이노드(iNode) 파일이나 디렉터리에 대한 모든 정보를 가지고 있는 구조
데이터 블록(Data Block) 실제 데이터가 저장되어 있는 파일 형태


유닉스 파일시스템 구성

구성 항목 설명
VTOC 디스크 레이블 각 파티션의 기본 정보 
첫 번째 섹터에 위치, 512 바이트 크기
부트 블록 부트스트랩에 필요한 파일들
프라이머리 슈퍼 블록 데이터 블록의 개수, 실린더 그룹의 개수, 마운트 정보
백업 슈퍼 블록 각 실린더마다 슈퍼 블록에 대한 복사본을 가짐
실린더 그룹 슈퍼 블록, 실린더 그룹 블록, i-node 테이블 , 데이터 블록 포함
슈퍼 블록 파일 시스템 크기, i-node 테이블 크기, free 블록 리스트 등 파일 시스템 관리 정보
실린더 그룹 블록 실린더 그룹 내의 유효 블록들의 Bit 맵 정보나 통계 정보
I-node 테이블 파일 크기, 위치, 유형, 사용거하권, 날짜 정보 등 파일에 대한 중요한 정보 포함
데이터 블록 실제 데이터가 저장되는 공간


유닉스 시스템 암호화 알고리즘
일반 계정의 비밀번호를 저장할 때 암호화하여 저장
예전에는 MD5 였으나, 현재는 "SHA" 를 사용한다.


리눅스 특수 권한
외부 침입자의 공격이 있었던 경우 백도어를 위해 SUID를 만들어 뒀을 가능성이 있음
한번 쯤은 특수 권한이 적용된 파일을 탐색해 볼 필요가 있음

Set-UID
- 실행하는 동안 해당 파일의 소유자 권한으로 인식
- 일반적으로 실행 파일에 사용
- 소유자 권한 부분의 x 자리에 s로 표기
- 실행 권한이 없는 경우 대문자 S로 표기
- /bin/passwd 라는 패스워드 변경 명령어는 SetUID가 설정되어 있고 /etc/passwd 파일은 SetUID 가 설정되지 않음

# chmod u+s [파일]
# chmod 4000 [파일]

Set-GID
- 실행하는 동안 해당 파일의 소유자그룹 권한으로 인식
- 일반적으로 디렉토리에 설정
- 사용자가 파일이나 디렉토리를 생성하면 사용자가 속한 그룹에 상관없이 디렉토리 소유 그룹으로 만들어진다.
- 그룹 권한 부분의 x 자리에 s로 표기
- 실행 권한이 없는 경우 대문자 S로 표기

# chmod g+s [파일]
# chmod 2000 [파일]

Sticky-Bit
- 일반 사용자들이 디렉토리에서 파일 및 디렉토리 생성이 가능
- 일반 사용자들은 자신이 생성한 것 이외에는 수정 및 삭제가 불가능
- 디렉토리에만 적용
- 시스템 기본 폴더인 /tmp 디렉토리에 설정되어 있음
- 설정하면 other 계층 권한 부분의 x 자리에 t 로 표기되며 실행권한이 없는 경우 대문자 T로 표기

# chmod 1000 [파일]

svhost.exe
services.exe 프로세스가 실행 하는 것
윈도우의 서비스를 실행
바이러스나 웜에 감염되면 주로 사용하는 프로세스(서비스)명


인터럽트 | interrupt
프로그램이 실행되는 도중 갑작스러운 정전이나 컴퓨터 자체 내에 기계적인 문제가 발생한 경우
오퍼레이터나 타이머에 의해서 의도적으로 프로그램이 중단된 경우
인터럽트 우선순위 결정은 소프트웨어 기반의 "폴링(Polling)" 하드웨어 기반의 "데이지 체인(Chain)"이 존재


chmod
파일의 권한다른 사용자에게 할당
4 (Read) 2 (Write) 1 (Execute)
 user   | group |  other
4 2 1   | 4 2 1  |  4 2 1
r w x   | r w x  |  r w x
예)
chmod 755 test.txt
사용자에게 읽기(4) + 쓰기(2) + 실행(1) 권한 할당
그룹에게 읽기(4) + 실행(1) 권한 할당
다른 사용자에게 읽기(4) + 실행(1) 권한 할당

chown
특정 사용자에게 권한 부여


시스템 콜 | System Call
소프트웨어 인터럽트의 한 종류
응용 프로그램이 운영체제에게 작업을 의뢰하는 것

1) 응용 프로그램에서 소프트웨어 인터럽트 발생
2) C Library 에서 기능에 따른 시스템 콜 고유번호가 레지스터에 저장되고 인터럽트를 발생
3) 커널 IDT 엔트리를 참조하여 해당하는 서비스 루틴 실행
* IDT (Interrupt Descriptor Table)
내부 혹은 회부, 소프트웨어, 하드웨어 인터럽트를 처리하기 위한 서비스 루틴의 실제 물리적 주소의 선두 번지 기술


Password | 패스워드
영문 대문자, 영문 소문자, 숫자, 특수문자를 조합해서 만듦
2개 이상 조합할 때는 최소 10자이상, 3개 이상 조합할대는 최소 8자 이상을 권고
개인정보 기술적 및 관리적 보호조치에서 비밀번호(패스워드)는 일방향(단방향) 암호화 수행     (양방향 X)
패스워드에 대한 암호화는 암호화 키가 없는 해시 함수 사용
입력 횟수 제한으로 안정성 높임


교착 상태 | Deadlock
하나 또는 둘 이상의 프로세스가 더이상 계속할 수 없는 어떤 특정 사건을 기다리고 있는 상태
특성 사건이란 자원의 할당과 해제를 의미
둘 이상의 서로 다른 프로세스자신이 요구한 자원을 할당받아 점유하고 있으면서
상호 간에 상대방 프로세스에 할당되어 있는 자원을 요구하는 경우
점유와 대기, 비선점, 상초배제, 환형 대기4가지 조건이 "모두" 만족해야만 발생

[교착 상태 대응 방법]
1) 교착상태 예방 (prevention)
2) 교착상태 회피 (avoidance)
- 은행원 알고리즘 (Banker's Algorithm)
3) 교착상태 발견 (detection)
- 자원할당 그래프
4) 교착상태 회복 (recovery)


Shutdown
리눅스 시스템 종료 시에 시스템의 무결성을 보장하는 종료 방법
무결성을 종료하는 방법은 정상적인 종료를 수행하는 것


데이터베이스 뷰 | Database View
관계형 데이터베이스에서 기본 테이블로부터 파생하여 만든 가상의 테이블
- 사용자에게 접근이 허용된 제한된 데이터만 보여주기 위해 구성
- 저장장치 내에 물리적으로 존재하지 않지만 사용자 입장에선 동일하게 보여짐
- 데이터 임시 열람, 보안적인 목적으로 제한된 범위 내 데이터 제공 등의 목적으로 사용될 수 있다.


뷰의 특징
- 뷰는 삽입, 삭제, 갱신 연상에 제약사항이 따른다.
- 뷰는 데이터 접근 제어로 보안을 제공한다.
- 뷰는 물리적이 아닌 논리적으로 구현되는 테이블이다.
- 뷰는 데이터의 논리적 독립성을 제공한다.


취약점 점검도구
SATAN, SAINT, COPS, Nessus, Nmap 등의 보안 도구들을 통칭하는 용어


Snort | snort
유닉스에서 실시간 트래픽 분석과 IP 네크워크상에서 패킷로깅이 가능대표적인 네트워크 침입탐지 시스템
IDS처럼 규칙을 정의하고 정의된 규칙에 따라 로그파일에 그 내용을 기록할 수 있다.
규칙 옵션 : 경고 규칙, 무시규칙, 로그규칙 순으로 동작
"사전 공격(Dictionary Attack)" 은 snort 규칙 옵션으로 탐지할 수 "없다."
탐지 가능 공격 : Buffer Overflow , TCP SYN Flooding , IP Filtering


Cluster | 클러스터
디스크 공간 할당의 논리적 단위


비선점형 스케줄링 | Non-preemption 
이미 할당된 CPU를 다른 프로세스가 강제로 빼앗을 수 없는 스케줄링 방식
- 모든 프로세스의 요구를 공정히 처리한다.
- 응답시간을 예측 할 수 있다.
- 짧은 작업이 긴 작업을 기다리는 경우가 발생
- 교착 상태(Deadlock)를 유발
종류
- FIFO(First In First Out) : "먼저" 들어온 프로세스 먼저 처리
- SJF(Shortest Job First) : 처리시간이 "짧은" 프로세스부터 처리
- HRN(Highest Response-ratio Time) : 짧은 작업시간이면서 대기시간이 긴 프로세스부터 처리
- 기한부(Deadline)


선점형 스케줄링
다른 프로세스현재 프로세스중지시키고 자신이 CPU를 차지할 수 있는 스케줄링 방식
- 우선순위가 높은 프로세스가 먼저 수행될 때 유리
- 빠른 응답시간을 요구하는 시분할 시스템에 유용
- 선점 때문에 많은 오버헤드 초래
종류
- RR(Round Robin) : 먼저 들어온 순서대로 "일정한 시간만큼만" 처리
- SRT(Shortest Remaining Time) : 남은 시간이 "짧은" 프로세스부터 처리
- MLQ(Multi Level Queue) : 우선순위별로 큐를 분리하여 다양한 스케줄링 적용
- MLFQ(Multi Level Feedback Queue) : MLQ 에서 큐 간 이동하여 우선순위 조정 , I/O 중심의 프로세스와 CPU 중심 프로세스 모두를 만족시키는 스케줄러로 가장 적합


파밍 | Pharming
새로운 피싱 기법의 하나
사용자가 자신의 웹 브라우저에서 정확한 웹 페이지 주소를 입력해도
가짜 웹 페이지에 접속하게 하여 개인정보를 훔치는 것
도메인을 탈취하거나 도메인 네임 시스템 또는 프록시 서버의 주소변조함으로써
사용자들로 하여금 진짜 사이트로 오인해 접속하도록 유도한 뒤 개인 정보를 탈취


논리 폭탄
특정 조건이 만족될 때까지 잠복학도 있다가 조건이 만족되면 트리거 되어 해커가 원하는 동작 실행


APT | Advanced Persistent Threat | 지속보안위협
특정 조직을 대상으로 취약점을 파악하고 다양한 해킹 기법들을 이용하여 지속적으로 공격
- 국내에서는 APT 공격이라고 부르는데 마지막의 T가 Threat(위협)이므로 '공격'이라는 말을 덧붙이면 어색하다
  붙이지 않는 것이 맞다
- 일률적인 공격법이 아니라 대상과 상황에 따라 적절한 공격을 시도하므로 탐지 및 차단이 어려움
- 공격 기술이 아닌 공격 절차이므로 단편적인 기술로 대응할 수 없음
- 공격 절차 : 침투 - 탐색 - 수집 - 공격 - 유출
- 마스터부트레코드(MBR) 파괴 사례 :  2009년 7.7 DDos / 2011년 3.4 DDos / 2013년 3.20 사이버테러


스니핑 | Sniffing
네트워크 패킷이나 버스를 통해 전달되는 중요한 정보를 엿보고 가로채는 공격 행위
네트워크 상에 흘러다니는 트래픽을 훔쳐보는 행위
자신에게 와야할 정보가 아닌 정보를 자신이 받도록 조작하는 행위
스니핑 기법 : Switch Jamming , ARP Spoofing , ARP Redirect , ICMP Redirect


스푸핑 | Spoofing
네트워크에서 IP 주소, 하드웨어 주소 등의 정보를 속임으로써 권한을 획득 또는 중요 정보를 가로채어 서비스 방해


버퍼 오버플로우 | Buffer Overflow
프로세스 메모리 영역 중 버퍼에 "초과값"을 입력하여 시스템을 중지 시키거나 동작하도록 조작
제한된 메모리 초과


스택 버퍼 오버플로우 | Stack Buffer Overflow
주로 SetUID가 설정된 프로그램들(root 권한으로 실행되는 프로그램)을 타켓
입력값에 수용 가능한 버퍼보다 큰 값을 입력하여 임의의 공격 코드를 루트 권한으로 실행
메모리에서 Stack 영역에 복귀 주소를 가진다.
Stack 오버플로우는 복귀 주소에 악성 모듈을 삽입하여 공격할 수 있다.


힙 버퍼 오버플로우 | Heap Buffer Overflow
힙 데이터 영역에서 일어나는 버퍼 오버플로우
스택 오버플로우만큼 흔히 사용가능한 공격은 아니다
동적 메모리 할당 연결을 덮어씀으로써 프로그램 함수 포인터를 조작


파일 업로드 공격
서버에 악의적인 영향을 끼칠 수 있는 파일을 업로드한 후 실행


실행 레벨 | Run Level
0 : 정지
1 : 싱글 유저
2 : 미사용 (사용자 정의 가능)
3 : 다중 사용자 , 콘솔 로그인
4 : 미사용(사용자 정의 가능)
5 : 3레벨 + X display manager
6 : 재시작


분산 처리 시스템
여러 자원을 공유하고 속도 및 용량 등의 효율을 높이기 위한 시스템
장점 : 자원 사용 관점에서의 모든 면
단점 : 구축의 난이도보안성, 비용적인 측면


Race condition
버퍼에 저장된 프로세스 간의 자원 경쟁을 야기시켜 권한을 획득하는 기법으로 공격


IP Chain / IP Table
리눅스 접근 통제
서버보안을 강화하기 위한 방법
서버에 들어오고 나가는 IP 트래픽을 제어할 수 있는 방법


Mod_Security
Apache 용 공개 소프트웨어 웹 방화벽


IPC$
네트워크 프로그램 간 통신을 위해서 파이프를 사용하고 네트워크 서버의 원격 관리에 사용
네트워크 서버 원격 관리 시 IPC$ 를 통해서 접근할 수 있어 보안 취약점이 발생


가상 메모리 | 가상 메모리 시스템
물리적 메모리의 크기의 한계를 극복하기 위해 실제 물리적 메모리보다 더 큰 용량의 메모리 공간을 제공하는 메모리 관리 기법

[관리 단위]
페이지(Page) : 가상 기억장치 상에서 동일한 크기의 최소 논리 분할 단위로 나눈 것
세그먼트(Segment) : 사용자 주소 공간을 용도별로 논리적 단위로 나눈 것

구분 Paging 기법 Segment 기법
할당 고정 분할 가변 분할
적재 요구 페이지만 일부 적재 (On-Demand) 프로그램 전체 적재 (On-demand)
관점 메모리 관리 측면 파일 관리 측면
장점 요구 페이지만 적재 Load
외부 단편화 해결
교체시간 최소
사용자 관점
개발/프로그래밍 용이
내부 단편화 해결
코드, 데이터 공유 용이
단점 내부 단편화 발생
Thrashing, 잦은 디스크 I/O
외부 단편화 심각
메인 메모리가 커야함


[관리 정책 | 관리 기법]

종류 세부 내용 유형
할당 기법
Allocation
프로세스에게 할당되는 메모리 블록의 단위 결정 고정할당, 가변할당
Paging, Segmentation
호출 기법
Fetch Policy
보조기억장치에서 주기억장치로 적재할 시점 결정 Demand Fetch, Pre Fetch
배치 기법
Placement
요구된 페이지를 주기억 장치의 어느 곳에 적재할 것인지
결정
First , Best , Next , Worst fit
교체 기법
Replacement
주기억장치 공간 부족 시 교체 대상 결정 Random, FIFO, LRU, LFU, NUR, SCR, Optimal

기억장치 계층구조
프로세서 - 메모리 - 프로세스 - 주변장치 - 파일

계층
내용
1 프로세서 관리 프로세서의 동기화 및 프로세서 스케줄링 담당
2 메모리 관리 메모리 할당과 회수
3 프로세스 관리 프로세스 생성, 제거, 메시지 전달, 프로세스 시작과 정지
4 주변장치 관리 주변장치 상태파악, 입출력 장치 스케줄링
5 파일관리 파일 생성과 소멸, 파일 열기와 닫기, 파일의 유지 및 관리

USER.DAT     : 윈도우 레지스트리 파일 , %WINDIR% 디렉토리에 저장
SYSTEM.DAT : 윈도우 레지스트리 파일 , %WINDIR% 디렉토리에 저장
SYSTEM.INI   : 하드웨어들을 제어하기 위한 환경파일

WINDOW.INI : 윈도우가 실행되면 자동으로 실행되는 프로그램 리스트 파일

레지스트리 백업 복구 중 윈도우의 모든 시스템 정보를 백업 및 복구하기 위해 필요한 파일
USER.DAT , SYSTEM.DAT , SYSTEM.INI


디스크 스케줄링 | Disk Scheduling

지연시간 구성

스케줄링 설명
탐색 시간(Seek Time) 헤드를 해당 데이터가 존재하는 트랙이나 실린더에 위치시키는 데 소요 시간
회전 지연시간(Latency Time) 디스크 원판이 회전하여 섹터가 헤드의 바로 아래에 위치할 때까지 소요 시간
전송 시간(Transfer Time) 디스크와 주 기억장치 간 실제 데이터가 이동하는데 소요 시간


FCFS | First Come First Served
먼저 들어온 요청부터 처리
- 알고리즘이 단순하고 구현 용이
- 공정한 스케줄링
- 비효율적

SSTF | Shortest Seek Time First
현재 헤드 위치에서 가장 가까운 트랙부터 처리
- 헤드 이동 거리 최소화
- 단위시간당 처리량 최대화
- Starvation 가능성
- 응답시간의 편차가 큼

* Starvation
기아 상태, 프로세스가 끊임없이 필요한 컴퓨터 자원을 가져오지 못하는 상황
이러한 자원 없이는 처리를 끝낼 수 없는 병행 컴퓨팅에서 마주치는 문제

SCAN | 엘리베이터 알고리즘
실린더의 양쪽 끝을 왕복하여 진행 방향에 있는 요청 처리
- SSTF의 응답시간 편차를 극복하기 위해 Denning이 제안
- 현재 가장 널리 사용됨(C-SCAN 포함)
- SSTF 대비 탐색시간의 편차 감소
- SSTF 대비 Starvation 해소
- 실린더 끝에 위치한 블록은 상대적으로 대기시간 및 대기 편차 큼

C-SCAN | Circular SCAN
한쪽 방향으로 진행하며 진행 방향에 있는 요청 처리
- SCAN의 응답시간 편차 개선
- 처리할 블럭이 없어도 끝까지 이동하므로 비효율적

LOOK
- SCAN과 같이 처리하되, 처리 블럭이 있는 첫 지점, 마지막 지점 까지만 이동
- 진행여부 결정오버헤드 발생

C-LOOK | Circular Look
- C-SCAN과 같이 처리하되, 처리 블럭이 있는 첫 지점부터 시작하고 더이상 처리할 블럭이 없으면 되돌아 옴
- 진행여부 결정오버헤드 발생

SLFT | Shortest Latency Time First
섹터 큐잉이라고도 불림
디스크 헤드가 특정 실린더에 도착하면 실린더 내의 여러 트랙의 요청을 검사한 후
회전 지연시간이 가장 짧은 것부터 먼저 서비스
- 고정 헤드 장치에 적합

Eschenbach
C-SCAN처럼 전체 트랙을 한바퀴 돌 동안 요청을 재배열
- 부하가 큰 항공 시스템을 위해 개발
- 탐색 시간회전 지연 시간 최적화하기 위한 최초의 기법


NTFS | NT File System
FAT 시스템을 대체하기 위해 개발된 윈도우 파일시스템
- 사용자마다 다른 보안을 적용 가능
- 파일과 폴더에 개별적으로 권한 설정, 폴더에 설정한 권한보다 파일에 설정한 권한이 우선 ( 폴더 < 파일)
- 시스템 폴더는 Administrators/Power Users 그룹만 수정 가능
- 파일 단위로 계정이 언제 파일을 열러보거나, 열려다 실패했는지 알 수 있는 감사(Auditing) 기능이 있음
- 기본 보안 설정Everyone 그룹에 대해 모든 권한 허용
- 윈도우 NT 전용 파일시스템으로 다른 OS와 호환성이 떨어진다 (단점)


슬랙 공간 | Slack Space
저장 매체의 논리적 구조와 물리적 구조의 차이로 인하여 발생하는 낭비되는 공간
물리적으로 할당되었지만 논리적으로 사용할 수 있는 공간 (물리적 할당 , 논리적 사용)
디스크에 데이터를 기록하고 남은 공간
슬랙 공간을 복구하는 방법
파일 카빙이라고 한다


세마포어 | Semaphore
두 개의 Atomic한 함수로 제어되는 정수 변수를 이용한 교착 상태 해법
운영체제가 제공하는 자원으로 세마포어 S는 정수값을 변수로서
초기화 및 두 개의 연산(P, V 혹은 wait, signal)으로만 접근 가능한 특수한 변수를 이용하여 상호배제 구현
0과 1의 값만을 갖는 이진 세마포어 / 0 또는 정수값도 갖는 계수형 세마포어
P 연산 과 V연산 으로 이루어진다.
세마포어 도중 인터럽트가 발생
하면 인터럽트 처리 루틴을 수행

wait(S):
  S.count--:
  if (S.count<0) {
    block this process
    place this process in S.queue
  }
  
singal[S]:
  S.count++:
  if (S.count=0) {
    remove a process P Form S.queue
    place this process P on ready list
  }

P 연산
같이 들어갈 수 없는 임계영역에 들어가고자 하는 프로세스는 P를 거쳐야 한다.

procedure P(S)    // 최초 S 값은 1
while S=0 do wait // S가 1이면 0으로 만들고 진입
S := S-1          // S가 0이면 1이 될때까지 기다림
end P


V연산
P 연산을 통과해 임계영역의 연산을 끝낸 프로세스가 V연산을 수행

procedure V(S) // 현재 상태는 S가 0
S := S+1       // S 를 1로 원위치 시켜 해제하는 과정
end V          // 다른 프로세스가 들어올 수 있음

 


[출처]

IT위키

위키백과

이기적 정보보안기사 필기 이론서

728x90
반응형
복사했습니다!