dongdorodongdong
Run (실행상태) - 프로세스가 CPU를 차지하여 실행 중인 상태 - 수행이 완료되기 전에 프로세스에게 주어진 할당 시간이 종료되면 프로세스는 Ready 상태로 전이 - 실행중인 프로세스에 I/O 처리가 필요하면 Wait 상태로 전이 Ready (준비상태) - 프로세스가 CPU를 사용하기 위해 기다리는 상태 Wait, Block (대기상태) - I/O 요구가 발생되어 실행중인 프로세스가 중단되고 I/O 처리가 완료될 때까지 대기하는 상태 Timer Run Out - CPU를 할당 받아 실행중인 프로세스가 할당 시간을 초과하면 CPU를 다른 프로세스에게 양도하고 자신은 Ready 상태로 전이 Block - 실행중인 프로세스가 지정된 시간 이전에 다른 작업을 위해 스스로 프로세서를 양도하고 Wait 상태로..
Spooling (스풀링) 정의 - 다중프로그래밍 환경에서 용량이 크고 신속한 엑세스가 가능한 디스크를 이용하여 각 사용자 프로그램의 출력할 데이터를 직접 프린터로 보내지 않고 디스크에 모았다가 나중에 한꺼번에 출력함으로써 프린터 장치의 공유 및 프린터 처리 속도를 보완하는 기법 - 어떤 작업의 I/O과 다른 작업의 계산을 병행 처리하는 기법 - 디스크 일부를 매우 큰 버퍼처럼 사용하는 방법 - Simultaneous Peripheral Operation On-Line의 약어 Buffering (버퍼링)정의 - I/O이 일어나는 동안 I/O 장치와 CPU 간의 처리 속도 차이에서 발생하는 CPU의 대기 시간을 최소화하는 작업을 필요하며 CPU 효율적인 시간 관리를 지향한다. - 주기억장치의 일부를 버퍼로..
정의CPU가 프로그램을 실행하고 있을 때, I/O 하드웨어 등의 장치나 예외상황이 발생하여 처리가 필요할 경우 CPU에게 알려 처리할 수 있도록 하는 것. 종류Program Check (프로그램 검사) - 0으로 나누는 연산 - 허용되지 않는 명령어의 수행 - 스택의 오버플로우 등 SVC (Super Visor Call / 감시자 호출) - 프로세서에게 컴퓨터 제어권을 OS Super Visor 프로그램에 넘길 것을 지시 - I/O 수행 - 기억 장치 할당 - Operator와의 대화 기계 검사 - PC 자체 내의 기게적인 장애, 오류 외부 - 시스템 타이머에서 일정한 시간이 만료 - Operator 콘솔상의 인터럽트 키를 입력한 경우
개요보조기억장치의 일부분을 주기억장치처럼 사용용량이 적은 주기억장치를 마치 큰 용량이 있는 것처럼 사용프로그램을 여러 개의 작은 블록으로 나눔 프로그램 수행 시 요구되는 블록만 주기억장치에 불연속적으로 할당주기억장치보다 용량이 큰 프로그램을 실행하기 위해 사용가상기억장치의 주소를 주기억장치의 주소로 변환하는 작업이 필요 (Mapping) 구현 기법고정 분할(정적) - Paging 가변 분할(동적) - Segmentation Paging 기법정의 - 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눔(나눈 단위는 페이지 프레임) Mapping(주소변환) - 가상주소(보조기억장치) → 실주소(주기억장치) 특징 - 주소 변환을 위해 페이지 맵핑 테이블이 필요 - 기억장소 낭비 Pag..
Flynn의 4가지 병렬처리 방식SISD - 단일 명령어 / 단일 데이터 흐름 SIMD - array(배열) - 단일 명령어 / 다중 데이터 흐름 MISD - 실제 구현X - 다중 명령어 / 단일 데이터 흐름 MIMD - 다중 처리기 - 다중 컴퓨터 - 다중 명령어 / 다중 데이터 흐름 강결합 (다중 처리기) - 여러개의 처리기(CPU)와 하나의 공유메모리를 두어 처리 - 프로세스간의 통신은 공유메모리를 이용 - 메모리에 대한 프로세스 간의 경쟁 최소화가 필요하다. - 가장 복잡, 가장 강력 - 프로세서의 수를 늘려도 효율 향상이 되지 않는다. - OS가 여러 처리기 간의 기억장치를 공유하기 위한 스케줄링이 복잡 약결합 (다중 컴퓨터, 분산 처리) - 여러개의 처리기(CPU)와 독자적인 기억장치를 두어 ..
특징 이식성과 확장성이 높음 네트워킹의 다양성 대화식 시분할 운영체제 다중 태스킹 운영체제 C언어로 작성 다중 사용자 시스템 지원 사용자를 구분하여 파일을 보호 트리 구조의 파일 시스템 여러 개의 작업을 병행 처리 가능 시스템 구조 Kernel(커널) - 가장 핵심적인 부분 - H/W를 보호하고 H/W 간의 인터페이스 역할을 담당 - 주기억장치에 적재, 상주 하면서 실행 - 프로세스, 기억장치, 파일, I/O 관리 - 프로세스 간 통신 수행 - 데이터 전송 및 변환 등 수행 - 파일 시스템의 접근 권한 관리 - 자원 활용도를 높이기 위해 스케줄링 - 프로세스 생성, 종료 - 기억 장치 할당, 회수 Shell(쉘) - 명령어 해석기 (자체의 내장 명령어 제공) - 시스템, 사용자 간의 인터페이스 담당 - ..
S/W 분류시스템 S/W - 제어 프로그램 - 처리 프로그램 유틸리티 - 압축 - 디스크 관리 - 백신 등 응용 S/W - 통신용 프로그램 - 그래픽 프로그램 - 멀티미디어 등 시스템 S/W시스템 전체를 작동시키는 프로그램(OS + 언어번역 프로그램 등) 제어 프로그램 - 감시 프로그램 "각종 프로그램의 실행과 시스템 전체의 작동 상태를 감시 및 감독" - 작업 제어 프로그램 "업무를 처리하고 다른 업무로의 이행을 수행하기 위한 준비 및 완료를 담당하는 프로그램" - 자료 관리 프로그램 "주기억장치, 보조기억장치 사이의 데이터 전송과 보조기억장치의 자료 갱신 및 유지 보수 기능을 수행하는 프로그램" 처리 프로그램 (제어 프로그램의 지시를 받아 문제를 해결하는 프로그램) - 언어 번역 프로그램 "원시 프로..
구조 트랙 - 디스크에 있는 동심원 모양의 영역 - 데이터의 기록, 판독을 할 수 있다. 섹터 - 한 조각의 파이와 같은 영역 - 일반적으로 512byte를 저장할 수 있다. 헤드 - 고정헤드 "헤드가 어러개 달려 있어서 헤드를 움직일 필요가 없다. 따라서 섹터에 빠른 접근이 가능하다." "Seek Time 없이 섹터 접근 가능" - 이동헤드 "헤드가 하나 달려있기 때문에 원하는 섹터의 위치로 이동을 해야한다." 접근시간 Seek Time (탐색시간) - 헤드가 섹터를 탐색하는 시간 - 안쪽에서 바깥 / 바깥에서 안쪽 Rotational Delay Time (회전 지연시간) - DC모터를 돌려 디스크를 이동시키는 시간 Transfer Time (전송시간) - 데이터를 전송시키는 시간 디스크 스케줄링 "접..
정의 하나의 PC에서 수행하는 작업을 여러 PC에서 작업들을 나누어 처리하고, 그 내용이나 결과를 통신망을 이용하여 상호 교환한다. 목적 자원 공유 연산 속도 향상 신뢰도 향상 컴퓨터 통신 특징 과부하를 줄일 수 있음 점진적 확장 가능 "특정 시스템 병목 현상을 제거하기 위해 필요한 자원을 추가할 수 있으므로 선택적인 성능 향상 가능" 사용 가능도 향상 "일부가 고장 나더라도 나머지 일부는 계속 작동 가능" 설계가 복잡 "S/W 개발이 어려움" 보안문제가 발생 물리적인 자원(처리기, 입력장치)을 분산할 수 있음 투명성 "사용자가 분산된 여러 자원의 위치 정보를 알지 못하고 마치 하나의 PC를 사용하는 것처럼 인식" 위치 투명성 "사용자는 각 컴퓨터들이 어느 곳에 위치하는지 모른다." 이주 투명성 "자원 ..
전략Fetch(반입) 전략 "프로그램이나 데이터를 주기억장치에 언제 적재할 것인지를 결정" - 요구 반입 : 특정 프로그램, 데이터 등의 참조를 요구할 때 적재 - 예상 반입 : 특정 프로그램, 데이터 등을 미리 예상하여 적재 Placement(배치) 전략 "주기억장치의 어디에 적재시킬 것인지를 결정" - First Fit(최초 적합) - Best Fit(최적 적합) - Worst Fit(최악 적합) Replacement(교체) 전략 "주기억장치의 모든 영역이 이미 사용중인 상태에서 사용중인 영역 중 어느 영역을 교체할지 결정" - FIFO, OPT, LRU, LFU, NUR, SCR 등 배치 전략First Fit - 첫 번째 배치시키는 방법 - 충분한 영역을 찾으면 공간 효율을 따지지 않고 바로 할당하..
정의 컴퓨터 시스템 자원을 효율적으로 관리 사용자와 컴퓨터간의 인터페이스를 제공하는 S/W 특징 자원의 효율적인 스케줄링 데이터 공유 및 주변장치 관리 I/O 장치, 사용자 프로그램 제어 내/외부의 오류로부터 시스템을 보호 오류검사 및 복구 기능 응용프로그램의 유지보수 기능은 X 실행 가능한 목적 프로그램 생성 X (컴파일러, 인터프리터의 역할) 자원 관리 과정 시스템 내 자원들의 상태 파악 언제, 어떤 자원을 할당할지 결정하는 정책 수립 자원을 배당 및 운영 프로세스에게 배당된 자원 회수 종류 MS-DOS MS-Windows - GUI 기반 - 트리 디렉터리 구조 - 선점형 멀티태스킹 구조 - Open 소스 X Unix/Linux 성능평가 요인 반환(응답) 시간(Turnaround Time) 단축 - ..
정의- 상호 배제에 의해 나타나는 문제점으로, 두 개 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리기만 하는 현상 4가지 필요충분 조건 Mutual Exclusion (상호 배제) "한 번에 한 프로세스만 해당 자원을 사용할 수 있다." Hold & Wait (점유 및 대기) "프로세스가 한 개 이상의 자원을 할당받은 후 다른 프로세스에 할당된 자원을 기다리는 상태" * 제거 조건 프로세스가 수행되기 전에 필요한 모든 자원을 할당시켜 줌 자원이 점유되지 않은 상태에서만 자원을 요구하도록 함 Non-preemption (비선점) "다른 프로세스가 사용중인 자원을 강제로 뺏을 수 없다." Circular Wait (환형대기) "프로세스들이 순환을..
정의 - 두 개 이상의 프로세스들이 동시에 존재하며 실행 상태에 있는 것 문제점동시에 두 개 이상의 프로세스를 병행 처리하면 한정된 자원(CPU, Memory, Disk, I/O 장치 등)에 대한 사용 순서 등 여러 가지 문제가 발생 해결책Critical Section (임계구역) Mutual Exclusion (상호 배제) 동기화 기법 - Semaphore (세마포어) - Monitor (모니터)Critical Section (임계 구역)정의 - 한 순간에는 반드시 하나의 프로세스에 의해서만 자원 또는 데이터가 사용되도록 하고, 이러한 자원이 프로세스에 의하여 반납된 후 비로소 다른 프로세스에서 자원을 이용하거나 데이터를 접근할 수 있도록 지정된 영역 즉, 하나의 프로세스만 자원을 이용할 수 있도록 보..
Directory 관련pwd - 현재 directory 정보 ls - 현재 directory 목록 (-l : 파일상세정보 출력)cd a - 현재 directory 내의 a 폴더에 진입(cd/a : 절대경로)mkdir - directory 생성rmdir - directory 제거(비어있는 폴더만 삭제) File 관련cat ff - ff 파일 내용을 화면에 출력cp f1 f2 - f1을 복사하여 f2에 생성mv - 파일 이동, 이름 변경rm - 파일 삭제cmp - 두 파일을 비교하여 차이가 나는 바이트 위치와 행을 표시vi - vi편집기를 실행chown, chgrp - 소유권 변경 명령chmod - 허가권 변경 명령 - chmod 755인 경우 "-rwxr-xr-x" (rwx를 421로 보고 각각 755로 ..
정의- 컴퓨터 시스템의 성능을 높이기 위해 자원을 어떤 프로세스에 얼마나 할당할 것인지 정책을 만드는 것이다. 목적처리율 증가CPU 이용률 증가overhead 최소화응답, 반환 시간 최소화대기 시간 최소화균형 있는 자원의 사용 문맥 교환(Context Switching)정의 - 하나의 프로세스에서 다른 프로세스로 CPU가 할당되는 과정에서 발생 - 새로운 프로세스에게 CPU를 할당하기 위해 현재 CPU가 할당된 프로세스의 상태 정보를 저장하고, 새로운 프로세스의 상태 정보를 설정한 후 CPU를 할당하여 실행되도록 하는 작업 - OS에서 overhead의 발생 요인 중 하나 비선점 스케줄링(Non Preemptive)프로세스에게 이미 할당된 CPU를 강제로 뺏을 수 없고, 사용이 끝날 때까지 기다려야 하는..
워킹 셋(Working Set)정의 - 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합 - 시점 t에서 W(t, w)는 해당 프로세스가 t-w 시간부터 t까지 참조한 페이지들의 집합 특징 - 데닝(Denning)이 제안 - Locality의 특징을 이용 - 워킹 셋은 시간에 따라 변함 - 자주 참조되는 Working Set을 주 기억장치에 상주시킴으로써 Page Fault 및 Page Replacement 현상을 줄인다. 스래싱(Thrashing)정의 - 프로세스의 처리 시간 < 페이지 교체 시간으로 CPU 이용률이 저하되는 현상이다. - 다중프로그래밍, 가상 기억장치 사용하는 환경에서 하나의 프로세스 수행 과정 중 자주 Page Fault가 발생함으로 인해 나타나는 현상 - 전체 시스템의 성능..
정의- 데이터를 보낼 때 송신자가 지정한 수신자 이외에 그 내용을 알 수 없도록 하는 것. 비밀키 시스템(Private Key System)암호화에 사용되는 키와 복호화에 사용되는 키가 동일한 기법 - 암호화 키 = 복호화 키개인키 시스템대칭 암호화 방식DES(Data Encryption Standard) 암호화한 정보를 B에게 보낼 때 암호키도 함께 보내야 한다. 그래야 B가 복호화를 할 수 있다. 장 : 암호화 연산 속도가 빠르기 때문에 효율적인 시스템을 구축할 수 있다는 장점단 : 암호키 자체는 암호화가 되지 않아 분실하거나 타인에게 노출되면 보안에 매우 취약하다는 단점 공개키 시스템(Public Key System)암호화할 때 사용하는 암호키와 복호화할 때 사용하는 키가 서로 다르다. - 암호화 ..
Program정의 - 어떤 작업을 위해 실행할 수 있는 파일 Process정의 - 주 기억장치에 적재되어 실행중인 프로그램 - CPU에 의해 처리되는 사용자 프로그램, 시스템 프로그램 - OS로부터 시스템 자원을 할당받아 관리되는 최소 단위의 작업 - 비동기적(독립적) 행위를 일으키는 주체 - PCB를 가진 프로그램 - 지정된 결과를 얻기 위한 일련의 동작 특징 - 디스크에 저장되어있지 않다 - 하드웨어에 의해 사용되는 IO장치가 아니다 전송하는 메세지의 형태 - 형식 메세지 - 가변 길이 메세지 - 고정 길이 메세지 PCB(Process Control Block)정의 - OS가 프로세스에 대한 중요한 정보를 저장해 놓은 곳 특징 - 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스 작업이 끝..
일괄 처리 시스템(Batch Processing System / 1세대)유사한 성격의 작업을 한꺼번에 모아서 처리> 자전거를 타다가 내리면 다음 사람이 자전거를 탐 다중 프로그래밍(Multi Programming / 2세대)한 대의 컴퓨터로 여러 프로그램 실행CPU 처리량의 극대화Context Switching - 실행되고 있는 프로세스의 상태 정보를 저장하고 제어 권한을 ISR에게 넘기는 작업> 자전거를 타다가 전화가 오고 전화를 받는 동안 다음 사람이 탐 시분할 시스템(Time Sharing System / 2세대)다수의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램들을 동일한 짧은 시간동안 번갈아 가며 처리각 사용자들은 각자 독립된 컴퓨터를 사용하는 느낌을 받게 된다.대화식 처리 가능H/..
정의- Page Fault가 발생했을 경우, 필요한 페이지를 주기억장치로 가져와야 한다. 이 때 가장 쓸모없는 페이지를 선택하여 교체하는 것이 시스템적으로 가장 효율적인데 이를 정하는 알고리즘 종류OPT(Optimal replacement)FIFO(First In First Out)LRU(Least Recently Used)LFU(Least Frequently Used)NUR(Not Used Recently) OPT(Optimal replacement)앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법가장 최적의 방법현실적이지 않음 FIFO(First In First Out)먼저 들어온 페이지를 먼저 교체시키는 방법주기억장치 내에 가장 오래 있었던 페이지를 교체Belady's Anomarly - ..