본문 바로가기

운영체제11

[운영체제] Disk Management and Scheduling disk 구조 logical block: 디스크 외부에서 보는 디스크 단위 정보 저장 공간, 1차원 배열 섹터:관리 최소단위, logical block이 물리적 디스크에 매핑된 위치 disk management physical formatting 디스트를 컨트롤러가 읽고 쓸 수 있도록 섹터 나누는 과정 header+data+trailer partitioning: 하나의 독립적인 디스크로 만드는 과정(logical disk) logical formatting: 파일시스템 만듦 booting: rom에 있는 small bootstrap loader->setor0 load->full bootstrap lader program->os를 디스크에서 load disk scheduling access time see.. 2022. 5. 13.
[운영체제] File Systems file and file system file 비휘발성 보조기억장치에 저장 운영체제는 저장장치를 file로 관리 연산(생성,지움,read,write) file attribute(metadata): 파일내용x, 파일 관리 위한 정보(이름,유형,사이즈,위치) file system: 운영체제에서 파일을 관리하는 부분 directory and logical disk directory: 그 디렉토리에 속한 파일 이름 및 파일 attribute partition(논리적 디스크):물리적 디스크 안에 여러 파티션, file system, swapping 용도로 사용 file protection 권한 제어 access control matrix access control list: 파일별로 누구에게 어떤 접근 권한 있는.. 2022. 5. 12.
[운영체제] Virtual Memory Demand Paging 실제로 필요할 때 page를 메모리에 올림 i/o양 감소 memory 사용량 감소 빠른 응답 많은 사용자 수용 invalid: 사용되지 않는 주소영역/물리적 메모리에 없음(page fault) page fault invalid page접근->mmu(주소변환하드웨어)가 trap발생시킴->커널모드(cpu가 운영체제로)->page fault handler 실행 disk에서 메모리로 읽어옴(i/o때 cpu뺏김->disk read끝->valid) cpu 잡고 다시 실행 free frame 없으면 page replacement: 어떤 frame 빼앗을지, 곧바로 사용되지 않을 page optimal algorithm: 미래참조, 실제 사용x FIFO algorithm: 먼저 들어온 것 먼저.. 2022. 5. 8.
[운영체제] Memory Management 주소 논리적 주소 프로세스마다 독립적으로 가지는 주소 0번지 부터 cpu가 보는 주소 물리적 주소 메모리에 실제 올라가는 위치 주소 바인딩: 주소 결정 주소바인딩 컴파일 타임 바인딩: 컴파일 시에 주소 바인딩 로드 타임 바인딩: 실행 시작될 때 주소변환 excution 타임 바인딩: (런타임) 프로그램 시작된 이후 중간에, 하드웨어 지원 필요 memory management unit 논리주소 -> 주소변환 -> 물리주소 Dynamic loading 해당 루틴 불려질 때 메모리에 load하는 것 memory utilization 향상 프로그램 자체에서 구현 가능 overlays 메모리에 프로세스 부분 중 실제 필요한 정보만 올림 사용자가 구현 swapping 프로세스 일시적으로 메모리에서 backing s.. 2022. 5. 6.
[운영체제] Deadlocks Deadlock 프로세스들이 서로가 가진 자원 기다리며 block된 상태 자원: 하드웨어, 소프트웨어 (요청,획득,사용,반납) Deadlock 발생조건 상호 배제: 하나의 프로세스만 자원 사용 비선점: 빼앗기지 않음 보유대기: 기다릴 때 보유자원 놓지 않음 순환대기: 사이클 형성 처리방법 prevention: Deadlock 발생조건 중 하나라도 만족되지 않도록 프로세스 시작 시 모든자원 할당 기다릴 때 보유자원 모두 놓기 빼앗기(cpu,memory) 자원 순서 Avoidance: 부가 정보 이용 deadlock 안전한지 조사해서 할당, 최대 사용량 미리 선언 Deadlock Detection and recovery Deadlock발생 허용 Detection루틴을 두고 deadlock 발견시 recove.. 2022. 5. 3.
[운영체제] Process Synchronization 프로세스 동기화 race condition 발생 커널 수행 중 인터럽트 발생시 프로세스가 시스템 콜하여 커널모드 수행중에 context switch multiprocessor에서 shared memory 내의 kernel data process synchronization 문제 공유데이터 동시접근시 데이터 불일치 일관성 유지-실행순서 정하는 메커니즘 필요 Race condition: 여러 프로세스 동시에 공유데이터 접근 데이터 최종 연산 결과 마지막 프로세스에 따라 달라짐 race condition 방지:concurrent process 동기화 되어야함 critical section 문제 n개의 프로세스가 공유 데이터를 동시 사용하기 원하는 경우 각 프로세스 code segment에 공유데이터 접근 코드.. 2022. 5. 1.