운영 체제 도론

운영체제 정의: OS는 컴퓨터 하드웨어에 설치된 1층 소프트웨어로 하드웨어 시스템에 대한 첫 번째 확장 단일 일괄 처리 시스템이다. 작업의 대량이 메모리에 연속적으로 들어가는 것을 확보하고 같은 시간에 메모리에 하나의 작업(IO와 Cpu 직렬)만 있다. 연속적으로 작업을 처리할 수 있는 다중 일괄 처리 시스템: 작업은 외부 메모리에서 하나의 예비 대기열로 배열된다.작업 스케줄링 알고리즘에서 대기열에서 몇 개의 작업 메모리(IO와 Cpu 병행)를 선택한다. 자원 이용과 시스템 삼키기 분식 시스템을 향상시킨다. 작업은 메모리에 직접 들어가고 윤전 운행 방식(시간편)을 사용한다. 다중 카드 스캔면의 각 단말기 수집 지령을 사용한다. 인터랙티브 상호작용(다중, 독립, 신속, 상호작용) 실시간 시스템: 시간제 시스템에 비해시스템 신뢰도 요구가 더욱 높다. 실시간 계산(논리적 결과가 정확할 뿐만 아니라 계산 시간도 제한) 운영체제의 기본 특징: 병발성: 병행성: 여러 이벤트가 같은 순간에 병발한다. 여러 이벤트가 같은 시간에 발생(직렬) 공유성: 프로세스 시간(메모리 독점)과 공간(메모리 차지) 상호 배척 공유.가상성: 자원 이용률이 1/N 공분 복용보다 낮음: 메모리 공분 공간을 이용하여 다른 작업 데이터를 구역별로 저장할 때 복용: cpu 공분 시간을 이용하여 다른 작업의 비동기성을 처리한다. 여러 프로그램이 동시에 실행된다.프로세스의 기본 상태: 새로 만들기: 프로세스에 자원 분배 준비: 프로세스가 준비 대기열에 들어가기(메모리): 새로 만들기에서 변환, 실행할 때 점령 실행: 단독 cpu 막힘: 요청 IO: 대기 대기열에 들어가기, IO 완료 준비 상태에 들어가기 종료: 메모리 종료
변환 그림:
 
    ->      ->      ->    
           |----

 
 
 
 
 
 
CPU 3단계 스케줄링: 고급 스케줄링(작업): 외부 메모리->메모리 중급 스케줄링: 대기->준비, 메모리->메모리 저급 스케줄링(프로세스): 메모리->Cpu 계산 공식: 작업 응답 시간 = 이미 대기 시간 + 서비스 시간 요구;R = w+s - 이론적으로 작업 응답 비율 H = 작업 응답 시간/요구 서비스 시간 H = (w+s)/s 작업 회전 시간 Ti = 작업 수행 시간 + 작업 대기 시간(제출에서 완료까지의 시간)--실제 중 평균 회전 시간:sum(Ti)/n은 서로 다른 스케줄링 알고리즘의 성능을 평가한다.Ti/Ts 반응 작업 길이: 짧은 작업이 크고 긴 작업이 작은 평균 회전 시간:sum(Ti/Ts)/n은 같은 스케줄링 알고리즘이 서로 다른 작업 흐름에 대한 성능Ts:작업이 Cpu에서 실행되는 시간 cpu 이용률 = cpu 작업 시간/(cpu 작업 시간+cpu 여가 시간).프로세스 스케줄링 알고리즘: FCFS: 제출 시간에 따라 작업이 막히거나 끝날 때까지 조정됩니다.SJF: 작업 요구에 따라 서비스 시간Ts에 따라 정렬하고 준비 대기열에서 막히기(먼저 들어가서 기다리고 준비) 또는 종료까지 이동합니다.기아 현상이 발생할 수 있다.HRRN: 매번 불러오기 전에 준비된 대기열의 모든 작업의 응답비 H를 계산하고 내림차순 불러오기;RR: 준비 대기열의 모든 작업은 타임 슬라이스를 실행하고 실행이 끝나면 대기열에 들어갑니다.선점식 스케줄링: SJF+HRRN+RR 잠금: 한 프로세스의 모든 프로세스가 다른 프로세스가 자원을 방출하기를 기다리고 있습니다.자원 동기화 상호 배척;2. 프로세스가 자원을 점용하고 새로운 요청을 하는 것을 유지한다.3. 프로세스가 이미 보유한 자원을 선점할 수 없습니다.4. 순환 대기 체인: p0->p1->.....->pn->p0; *은행가 알고리즘: 시스템 잠금 해제(Dijkstra) 방지
{
struct:
avab[m]:  m           :         
maxn[n][m]:n               
alloc[n][m]:n           
need[n][m] = max[n][m]-alloc[n][m]          


   i     :
work[m]=avab[m]                
finish[m]=                   ,   false


    :     i   ( n )
if(request[j]<=need[i][j])  ;else exit(-1);
if(request[j]<=avab[j])  ;else   i  ;
    :
{
avab[j] = avab[j]-request[j];
alloc[i][j] = alloc[i][j]+request[j];
need[i][j] = need[i][j] - request[j];

}
if(      ok)      ;
else   ,avab[j],alloc[i][j],need[i][j]  i  ;


    :
{
for(i=0;i

 
 
 
메모리의 다중 구조 cpu 레지스터, {고속 캐시, 메인 메모리, 디스크 캐시}(메인 메모리, 메인 메모리 + 레지스터 = 실행 가능한 메모리), {고정 하드디스크, 이동 디스크}(보조 메모리) 1.연속 분배 저장소 고정 분배: 등분 구역 분배, 부등분 구역 분배(매번 메모리를 불러오기 전, 작은 것부터 큰 것까지 스캔할 때 분배되지 않은 메모리 구역: 욕심 알고리즘) 동적 분배: 데이터 구조 + 분배 알고리즘 + 회수 조작은 주소 번호에 따라 한 순서만 배열한다: FF 최초 적응 알고리즘: 구역은 하나의 체인을 형성하고 처음부터 설치할 수 있는 블록을 찾아 두 노드로 분해한다. 하나는 이미 분배되었다.미분배(순서 찾기)NF 순환 초기 적응: FF에 시작 찾기 주소를 추가하여 낮은 주소 공간의 파편이 너무 많은 것을 피한다.매번 일치 전 정렬: BF 최적 적응: 주소 체인을 공간 크기에 따라 정렬(욕심 알고리즘), 미시적 최적, 극소 파편 발생하기 쉬움 WF 최악 적응: 직접 체인 헤더를 찾아 비교하고 거시적으로 파편이 크고 찾기가 빠르다.2. 페이지 저장 관리 페이지: 프로세스의 논리적 주소 공간 블록 주소 구조(이진법): 000000000: 페이지 번호, 위치 이동 - 2^4-1페이지, 2^6-1페이지 내 위치 이동;시트: (key=페이지 번호,val=물리 블록 번호) 계산 방법: (페이지 크기== 물리 블록 크기size) 물리 주소addr-> 논리 주소(p,w): p=floor(addr/size), w=p%size;논리 주소(p,w)->물리 주소addr:addr=p*size+w;3. 페이지 교체 알고리즘(주류 집합: 물리적 블록 수, 명중 부족) 프로세스 떨림: 방금 탈락한 페이지는 방문을 불러옵니다.Belady 현상: 분배된 페이지 수(주류 집합)가 증가하지만 결장률(=결장 횟수/프로세스 페이지 수)은 오히려 FIFO를 높인다. 가장 먼저 들어온 페이지(다시 명중시켜도 갱신하지 않음) 주류 집합의 페이지를 항상 탈락시키면 Belady 현상이 나타난다.LRU: 최근 가장 오랫동안 사용하지 않은 페이지 제거하기;OPT: 앞으로 가장 긴 시간 동안 사용하지 않을 페이지(같은 시간의 페이지 번호 찾기)의 탈락;이론은 다른 알고리즘의 성능을 평가하는 데만 쓸 수 있다.디스크의 조직 형식(가상 형상, 실제는 서로 다른 테이프 부채 수가 같지만 모든 트랙과 같은 부채 수가 아니다): 디스크: 한 디스크에 여러 디스크가 포함됩니다.디스크 서피스: 디스크당 여러 개의 스토리지 면이 있을 수 있습니다.트랙(기둥면)Track: 트랙의 바깥에서 안까지 번호가 0에서 많음;트랙 사이에 갭이 있음;각 트랙은 같은 수량의 이진 비트(내부 밀도가 높음)를 저장할 수 있다.섹터Sectors: 하나의 트랙이 여러 섹터를 구분하고 섹터 사이에 갭이 있습니다.섹터 용량이 같음;고정 헤드 디스크: 트랙마다 읽기 헤드가 있어 병렬 읽기와 쓰기가 가능합니다.헤드 디스크 이동: 한 면에 읽기 전용 헤드만 있고 직렬 읽기 전용 헤드만 있습니다.접근 시간 = 탐색 + 회전 선택 섹터 + 읽기와 쓰기 전송 디스크 스케줄링 알고리즘 (탐색 시간 변경): 헤드 운동 방향이 양방향으로 읽기와 쓰기가 가능한지 주의하십시오.FCFS: 프로세스에 따라 트랙에 액세스한 후 순차적으로 데이터를 읽고 쓰기;SSTF: 읽기와 쓰기가 현재 헤드와 가장 가까운 트랙으로 배고픔 현상이 발생하기 쉽다.SCAN: SSTF를 바탕으로 헤드의 이동 방향을 제한한다(같은 방향의 최단 트랙).
 
 
 
 
CSCAN:SCAN을 바탕으로 읽기와 쓰기 방향을 정하고 역읽기와 쓰기 방향을 할 때 읽기와 쓰기를 하지 않는다.
 
 
다음에 은행가 알고리즘의 C++ 버전을 추가하기;
 
 
 
 
 
 
 
 

좋은 웹페이지 즐겨찾기