정보보호론/시스템 보안 7

스래싱 (Thrashing)

■ 스래싱 (Thrashing) - 너무 자주 페이지 교체가 일어나는 현상으로 어떤 프로세스에 지속적으로 페이지 부재가 발생하여 프로세스의 처리시간보다 페이지 교체시간이 더 많이 발생하는 현상이다 - 다중 프로그래밍의 정도가 높아질수록 CPU의 이용률은 증가하지만 너무 높으면 스래싱이 발생할 수 있다. 따라서 스래싱이 발생하면 다중 프로그래밍의 정도를 낮춰준다 ★ 페이지 부재 빈도 (PFF : Page-Fault Frequency) - 스래싱(Thrashing)이란 페이지 부재율이 높다는 것을 의미한다 - 스래싱을 막기 위해 페이지 부재 빈도(PFF)를 사용한다 - 허용할 수 있는 페이지 부재 빈도(Page Fault Rate) 구간을 설정해서 페이지 부재율이 높으면 프로세스가 더 많은 프레임을 필요로 ..

메모리(기억장치) 관리

■ 메모리(기억장치) 관리 전략 - 기억장치를 관리하는 운영체제 일부를 기억장치 관리자(Memory Manager)라고 한다 - 기억장치 관리자는 기억장치의 어느 부분이 사용 중인지, 어느 부분이 사용되고 있지 않은지를 조사하고, 프로세스가 요구할 때마다 기억장치를 할당하고 사용이 끝나면 회수한다 1. 메모리(기억장치) 관리 ⓐ 단일 연속 주기억장치 관리 - 단일 연속 주기억장치 관리는 주기억장치에 운영체제 외에 한 개의 사용자 프로그램만 저장하는 관리 기법이다 - 이 기법에서는 주기억장치를 두 영역으로 나누어 한 영역에는 운영체제를 저장하고, 다른 영역에는 한 개의 사용자 프로그램을 저장한다 - 이런 방식은 한 순간에 오직 하나의 프로그램만 주기억장치에 저장되어 실행될 수 있는데, 이런 개념을 단일 프..

프로세스 동기화

■ 프로세스 간 동기화 및 통신 1. 임계영역 (Critical Section) = 위험 영역 - 비동기 절차에 있어서 자기 자신이 또는 다른 비동기 절차 부분과 동시에 실행할 수 없는 부분으로, 하나의 프로세스가 자원을 액세스하고 있을 때, 그 프로세스에 의해 참조되는 프로그램의 부분을 임계영역이라고 한다 - 즉 하나의 프로세스가 공유 데이터에 접근하면, 다른 프로세스는 그 공유 데이터에 접근해서는 안 된다 2. 상호배제 (Mutual Exclusion) - 여러 개의 병렬 프로세스가 공통의 변수 또는 자원에 접근할 때 그 조작을 정당하게 실행하기 위하여 접근 중인 임의의 시점에서 하나의 프로세스만이 그 접근을 허용하도록 제어하는 것이다 - 한 프로세스가 공유 기억장치 혹은 공유 파일을 사용하고 있을 ..

CPU 스케줄링 (CPU Scheduling)

■ CPU 스케줄링 (CPU Scheduling) - CPU 자원을 프로세스(Process)에게 어떻게 배당할 것인지 결정하는 작업을 CPU 스케줄링이라 함 - 프로세스 작업 수행을 위해 언제, 어느 프로세스에 CPU를 할당할 것인지를 결정하는 작업 - Multi-Processor 환경에서 Processor 간의 우선순위를 지정함으로써 CPU 활용을 극대화하기 위한 방법 ★ 스케줄링 평가 기준 기준 설명 CPU 사용률 (CPU Utilization) 극대화 전체 시스템 시간 중 CPU가 작업을 처리하는 시간의 비율 처리능력 (Throughput) 최대화 CPU가 단위 시간당 처리하는 프로세스의 개수 응답시간 (Response TIme) 최소화 대화식 시스템에서 요청 후 응답이 오기 시작할 때가지의 시간 ..

프로세스 관리

■ 프로세스 (Process) - 컴퓨터 내에서 CPU에 의해 실행 중인 프로그램을 일컫는 용어 - 여러 분야에서 과정 또는 처리라는 뜻으로 사용되는 용어로, 컴퓨터 분야에서는 '실행 중인 프로그램' 이라는 뜻으로 쓰임 - 프로그램 또는 그 일부를 뜻하기도 하며, 데이터의 입력이나 출력 등을 조작하거나 처리하는 것을 말하기도 한다 - 부모프로세스(Parent Process)라는 상위계층과 자식프로세스(Child Process)라는 하위계층이 존재한다 - 부모프로세스는 프로그램이나 명령어에 의해 시작되며, 자식프로세스는 부모프로세스에 의해 만들어지는 것을 말한다 - 하나의 부모프로세스는 여러 개의 자식프로세스를 관리하는데, 여러 개의 자식프로세스가 하나의 CPU에서 동시에 처리되는 것처럼 보이는 것을 멀티..

운영체제의 기술 발전 흐름과 입ㆍ출력 방식

■ 운영체제 시스템의 발전 - 하드웨어 기능 및 기술의 발전으로 인해 운영체제 역시 지속적으로 기능을 확장하고 있으며, 사용자 및 시스템 관리자의 요구에 부합하는 서비스를 제공하기 위해 발전해 나가고 있다 * 운영체제 시스템의 발전 세대 운영체제의 발전 1세대 일괄처리 2세대 다중프로그램, 시분할, 다중처리, 실시간 3세대 다중모드 4세대 분산처리 1) 일괄처리 시스템 (Batch Processing System) - 초기의 컴퓨터 시스템에 사용한 형태로 일정량 또는 일정기간 데이터를 모아서 한꺼번에 처리하는 방식을 말함 - 일괄처리를 위한 적절한 작업제어언어(JCL : Job Control Language)를 제공한다 - 컴퓨터 시스템을 효율적으로 사용할 수 있다 - 하나의 작업이 모든 자원을 독점하므..

운영체제(Operating System) 의 정의와 구조

■ 운영체제의 정의 - 컴퓨터의 운영체제란 쉽게 말해서 '윈도우(Windows)'나 '리눅스(Linux)' 같은 일종의 소프트웨어이다 - 운영체제란 컴퓨터의 하드웨어를 제어하고 응용 소프트웨어를 위한 기반 환경을 제공하여, 사용자가 컴퓨터를 사용할 수 있도록 중재 역할을 해주는 프로그램을 말한다 - 운영체제의 기본적인 역할은 각종 컴퓨터 하드웨어들을 서로 논리적으로 연결하고 제어하는 것이다 - 운영체제의 다른 역할은 사용자와 컴퓨터 하드웨어 사이에서 동작하는 프로그램으로 컴퓨터 하드웨어와 응용프로그램을 연결해 주는 것이다 - 사용자의 프로그램 실행환경을 만들어주며, 한정된 시스템 자원을 효율적으로 관리하며, 하드웨어를 사용자가 사용하는 수단을 제공한다 ■ 운영체제의 목적 ⓐ 처리능력(Throughput)..