보안/개념 104

디스크 스케줄링 총정리

1. 디스크 스케줄링의 개념 디스크는 가장 많이 사용하는 보조 메모리 중 하나로, 마치 레코드 판을 여러 개 중첩해서 놓은 것과 비슷하다. 레코드 판의 경우, 노래를 청취한다면 그 레코드의 순서대로 청취하게 될 것이다. 그러나 디스크는 헤드가 임의의 섹터를 랜덤하게 참조할 수 있고, 빠르게 데이터를 읽을 수 있으며, 메인 메모리보다 많은 양의 데이터를 저장할 수 있다. 1.1 디스크 스케줄링의 중요성 디스크 예약은 디스크에 도착하는 I/O 요청을 예약하기 위해 여러 운영체제에서 수행된다. 그래서 디스크 스케줄링을 사실상의 I/O 스케줄링이라고도 부르는 것이다. 여기서 I/O 요청은 서로 다른 프로세스에 의해 여러 개가 도착할 수 있으며, 디스크 컨트롤러는 한 번에 하나의 I/O 요청만 처리할 수 있다. ..

보안/개념 2023.12.26

교착상태 총정리

1. 교착상태(Dead Lock)의 개념 교착상태란 하나 또는 둘 이상의 프로세스가 더 이상 계속할 수 없는 어떤 특정 사건을 무한정으로 기다리고 있는 상태를 말한다. 여기서 '특정 사건'이란, 자원의 할당과 해제를 의미하는 것이다. 둘 이상의 서로 다른 프로세스가 자신이 요구한 자원을 할당받아 점유하고 있으면서, 상호 간에 상대방 프로세스에 할당되어 있는 자원을 요구하는 경우를 말한다. 1.1 교착상태의 발생 (필요)조건 교착상태는 한 시스템 내에서 다음의 4가지 조건이 모두 충족될 때 발생한다. ㄱ. 상호 배제(Mutual Exclusion) 프로세서들이 자원을 배타적으로 점유하는 것으로, 한 번에 한 프로세스만이 자원 사용이 가능한 것을 말한다. ㄴ. 점유와 대기(Hold and Wait) 일종의 ..

보안/개념 2023.12.25

임계 영역 총정리

1. 임계 영역의 개념 한 순간에 반드시 프로세스 하나만 진입해야 하는 것은 일종의 원칙이다. 그래서 둘 이상의 스레드가 공유 자원에 접근할 때, 오직 한 스레드만 접근을 허용해야 하는 경우에 사용하는 것이 임계 영역(Critical Section)이다. 임계 영역은 지정된 시간이 지난 후 종료된다. 임계 영역은 원자성(atomic) 작업으로 실행되어야 한다. 즉, 하나의 스레드나 프로세스가 임계 영역에 들어가면, 다른 모든 스레드나 프로세스는 실행 중인 스레드나 프로세스가 임계 영역을 종료할 때까지 기다려야 한다는 것이다. 스레드가 공유자원의 배타적인 사용을 보장받기 위해서 임계 구역에 들어가거나 나올 때는 세마포어 같은 동기화 메커니즘이 사용된다. 동기화 메커니즘의 목적은 한 번에 하나의 스레드나 프..

보안/개념 2023.12.24

스펨 메일 차단 총정리

1. 스팸 메일의 개념 스팸 메일을 차단하는 방법을 논하기에 앞서, 스팸 메일이 정확히 무엇인지를 짚고 넘어가 보자. 정크 이메일이라고도 하는 스팸 메일은 일반적으로 수신자 목록에 대량으로 전송되는 원치 않는 이메일 메시지를 말한다. 그 메일은 실제 업자들이 보내는 것일 수도 있고, 공격자에 의해 제어되는 스팸 봇에 의해 전송되는 경우도 있다. 사실 후자가 압도적으로 많을 것이다. 스팸이라는 것 자체는 이메일에만 국한되지는 않으며, 문자 메시지나 SNS를 통해 배포될 수도 있다. 사실 스팸이라는 것은 그저 성가신 것으로만 간주되지만, 스팸은 피싱으로서 작용할 수도 있다. 그저 스팸이 필터링되지 않은 채로 계속 수신되고, 그로 인해 편지함이 막혀서 문제가 생기는 것이 아니다. 피싱으로 작용할 때의 스팸은 ..

보안/개념 2023.12.23

CPU 스케줄링 기법 총정리

1. 스케줄링의 개념 컴퓨터 자원을 효율적으로 사용하기 위핸 정책을 계획하는 것이다. 말 그대로 스케줄을 관리하는 것이다. 특정 자우너을 요청하고 있는 프로세스들을 대상으로 CPU 자원을 할당해 주는 순서를 정하게 된다. 이를 통해 CPU 활용을 극대화할 수 있다. CPU의 유휴 시간을 최소화하기 때문이다. 또한 응답시간을 단축할 수 있다. 프로세스 평균 응답 시간이 단축된다. 공평한 자원 활용도 가능해지는데, 주어진 기간 동안 특정 자원 사용 효율을 높일 수 있다. 또한 멀티 테스킹 작업도 높은 효율을 얻는다. 다중 프로세스의 공평한 처리가 이를 가능케 한다. 2. 스케줄러의 구분 - 역할 스케줄러의 역할에 따라 장기 스케줄러, 중기 스케줄러, 단기 스케줄러로 구분할 수 있다. 장기 스케줄러는 상위 스..

보안/개념 2023.12.21

프로세스 관리 총정리

1. 프로세스의 개념 프로세스란 레지스터, 스택, 포인터, 실행 중인 프로그램, 데이터 등의 집합체라고 할 수 있다. 실행 중인 프로세스가 가장 보편적인 정의로, 프로세서에 의해 수행되는 프로그램 단위로 현재 실행 중이거나 곧 실행 가능한 PCB(Process Control Bloack)를 가진 프로그램이다. 그렇다면 여기서 스레드의 개념도 짚고 넘어가면 좋다. 왜냐면, 스레드의 개념이 프로세스와 유사하기 때문이다. [프로세스] - [실행 기능] = [스레드]가 성립한다. 스레드는 제어의 흐름을 의미하는 것으로, 프로세스에서 실행의 개념만을 분리한 것이다. 프로세스의 구성을 크게 제어의 흐름 부분(=실행 단위)과 실행 환경 부분으로 나눌 때, 스레드는 프로세스의 실행 부분을 담당함으로써 실행의 기본 단위..

보안/개념 2023.12.20

Sendmail 보안 총정리

1. Sendmail의 개념 대표적인 Mail Transport Agent로, 기업이 SMTP를 사용하여 이메일을 보내는 방법을 제공하는 서버 응용 프로그램이다. 그런데 이메일만 보내고 POP3이나 IMAP을 사용하지 않으므로, 사용자의 받은 편지함 구성을 활성화하는 추가 응용 프로그램과 함께 설치하는 것이 일반적이다. Sendmail은 현재 시중에서 사용되는 유닉스에 기본적으로 포함되어 있는 대중적인 프로그램 중 하나라고도 말할 수 있다. 그러나 많은 버그가 끊임없이 보고되는 프로그램이고, 대부분의 버그가 보안 문제와 직결되는 부분이기 때문에 시스템 관리자들은 새로운 버전이 나올 때마다 그에 따른 업그레이드가 필수다. 사실 갈수록 Sendmail의 사용빈도는 낮아지고 있으나, 그래도 여전히 사용되고 있..

보안/개념 2023.12.19

정보보호 거버넌스 체계 총정리

1. 정보보호 거버넌스 체계의 개념 거버넌스는 정보를 귀중한 비즈니스 자산으로 취급하는 프로세스, 역할, 제어 및 지표를 구현하여 기업 정보를 관리하는 전체적인 접근 방식이다. 조직 내부 및 외부 위협 요소 변화 또는 취약성 발견에 대응하여 유지 관리되는 것으로, 위의 그림에서도 볼 수 있듯, 순환 주기 모델을 갖는다. 그림의 Security PDCA(Plan, Do, Check, Act) Cycle에서 P는 정책, 계획, 세부목표, 프로세스, 절차 수립을 수행한다. D는 정책, 통제, 프로세스의 구현과 운영을 담당한다. C는 프로세스 성과평가(Key Performance Indicator), 결과 경영자 검토를 담당한다. A는 검토 결과에 따른 시정 조치와 예방 조치를 의미한다. 관리체계 기반 마련은 ..

보안/개념 2023.12.17

운영체제(OS) 총정리

1. 운영체제(Operating System)의 개념 운영체제란 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 응용 프로그램의 모임이라 할 수 있다. 이런 응용 프로그램은 정의된 응용 프로그램 인터페이스(API)를 통해 서비스를 요청하여 운영체제를 활용한다. 또한, 사용자는 CLI(Command Line Interface) 또는 GUI(Graphical User Interface)와 같은 사용자 인터페이스를 통해 운영체제와 직접적인 상호 작용을 할 수 있다. 1.1 운영체제를 사용하는 목적 ㄱ. 처리능력 향상: 시간당 작업 처리량, 평균 처리시간을 개선하기 위함이다. 효율적 관리에 있어 필수적이라 할 수 있다. ㄴ. 신뢰성 향상..

보안/개념 2023.12.16

입출력 인터페이스 총정리

1. 입출력 인터페이스의 개념 컴퓨터 시스템의 입출력 처리는 메인 메모리와 보조 메모리 사이에서 입출력을 수행하는 것이다. 2. 입출력 인터페이스의 방법 ㄱ. 프로그램에 의한 입출력 CPU가 연산 도중에 입출력이 필요하면 보조 메모리에서 데이터를 읽어와 메인 메모리에 적재하고, CPU는 메인 메모리를 참조해서 데이터를 읽어오는 방법이다. 이 방법은 입출력을 수행할 때 모든 작업을 CPU가 하기 때문에 CPU는 입출력 동안 다른 작업을 할 수 없다는 치명적인 단점을 지닌다. 소개할 방법 중 가장 프로세서의 시간을 낭비하고 처리 효율이 낮다고 볼 수 있다. ㄴ. 인터럽트 입출력 입출력 인터럽트가 발생되는 소프트웨어 혹은 하드웨어 방식으로 인터럽트를 식별하고 인터럽트 처리 루틴에 의해서 입출력을 수행한다. 이..

보안/개념 2023.12.15
728x90