보안/시스템보안 6

CPU 스케쥴링

* CPU 스케쥴링CPU 지원 프로세스에 어떻게 배당할지 정해주는 작업언제, 어느 프로세스에 CPU에 할당할 것인지 결정Multi-Processor 환경에서 processor 간의 우선순위를 정함으로써 CPU 활용을 극대화함 - 스케쥴링 방법   1. 비선형 스케쥴링: 각각 프로세스가 제어권을 가짐 - FIFO-SJF-HRN-기한부-우선순위   2. 선점형 스케쥴링: 운영체제가 제어권을 강력하게 선점함 - SRT -RR-MLQ-MFQ  : 가장 짧은 프로세스 먼저 실행함프로세스 도착-> P1-> P3-> P2 -> CPU -> (완) : CPU 에 할당된 시간에 따라 순서대로 진행, 0s가 되면 실행 중지 - MLQ

프로세스, PCB

* 프로세스 상태 전이디스 패치: 준비 상태-> 실행 상태(준비 상태 프로세스가 CPU 할당 받아 실행 상태 전환)할당 시간 초과: 실행 상태-> 준비 상태( CPU 에 저장된 할당 시간 모두 사용한 프로세스는 다른 프로세스를 위해 준비 상태로 돌아감)대기: 실행 상태-> 대기 상태 ( 실행 중 프로세스가 입출력 명령 만나게 되면 인터럽트 발생하여 입출력 전용 프로세서에게 CPU 양도하고 대기 상태 전환)깨움: 대기 상태->준비 상태 ( 이벤트 완료되어 다시 나머지 부분 실행 위해 준비 상태 됨) * 프로세스 제어 블록 모든 프로세서는 PCB(process Control Block)을 가짐.PCB는 프로세스 관리 할 때 필요한 정보를 포함하는 운영체제 커널 구조임. ( TCB(task control Bl..

인터럽트(interrupt)

*인터럽트(interrupt):시스템에 예기치 않은 상황 발생 시에 운영체제에 알리고 이를 해결하기 위한 매커니즘  -장점프로그램의 처리의 효율화와 입출력장치의 동시 동작 온라인 처리의 효율화가 가능함. -요인의 종류입출력 종료 인터럽트, 프로그램 인터럽트, 감시 program 호출 등이 존재함. -순서1. 문제발생2. 실행 중인 program 중지3. 강제적으로 특정 주소를 제어 옮기고 interrupt 처리 후 program 실행4. 실행이 끝나면 원래 program 실행

버퍼링과 스플링이란?

*Buffering?: CPU와 IO 연산이 중첩됨-> CPU 효율을 높이기 위해 사용됨 Buffer 가 Data 전송, 조정 등 수행하는 상태로 RAM 에 존재함정보 송수신을 원할히 하기 위해 정보 일시적으로 저장해서 처리 속도의 차를 흡수함입출력 장치, 고속 CPU 처리 속도 차이의 개선을 위함주기억장치의 일부 공간을 버퍼 공간을 할당하여 처리할 데이터를 임시 기억하여 처리하는 방식버퍼의 위치는 주기억장치(RAM)버퍼는 하드웨어적 구현임단일 사용자의 단일 작업임  * Spooling?하드디스크의 디스크를 사용함소프트웨어적 구현위치는 SDD/HDD임 *버퍼링과 스플링 비교

운영체제의 발전

*운영체제 시스템의 발전1세대: 일괄처리2세대: 다중프로그램, 사분할, 다중처리, 실시간3세대: 다중모드4세대: 분산처리 1. 일괄처리 시스템(Batch Processing System)(1) 초기의 컴퓨터 시스템에 사용한 형태로 일정량/일정기간 데이터를 모아서 한 번에 처리하는 방식(2) JCL: Job Control Language(3) 컴퓨터 시스템 효율적으로 사용가능(4) CPU 유효시간이 짧고 반환 시간이 느림(5) 급여계산, 지불계산, 연말계산에 사용됨 2. 다중 프로그램 시스템(Multi-processing System)(1) 입출력장치와 CPU 사이 속도차이를 이용하여서 하나의 CPU와 주기억장치를 이용해 여러 개의 프로그램 동시에 처리(2) 하나 주기억 장치에 두 개 이상의 프로그램을 기..

운영체제

1. 운영체제 개요* 운영체제의 정의(1) window나 linux같은 일종의 소프트웨어(2) 하드웨어를 제어하고 응용 소프트웨어 위한 기반 환경 제공, 사용자 컴퓨터 사용하게 중재 역할(3) 하드웨어들을 논리적으로 연결/제어함(4) 하드웨어와 응용 프로그램 연결(5) 프로그램 실행 환경 만듦(6) 환경 시스템 자원 효율적 관리, 하드웨어를 사용자가 사용하는 수단  * 운영체제의 목적(1) 처리 능력(Through put) 향상: 단위 시간 당 처리하는 작업량, 시스템 생산성 나타냄, 높을수록 좋음 (2) 신뢰도(realiablity) 향상: 하드웨어, 소프트웨어 실패 없이 주어진 기능 수행하게 하는 기능 (3) 응답 시간(response time) 단축: 사용자가 시스템에 작업 의뢰한 후에 반응을 얻기..