운영체제란?
현대 운영체제는 인터럽트 구동식Cpu ↔ 각종 컨트롤러 사이에 왔다갔다하는 행동이 인터럽트 방식으로 작동됨사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호 장치 필요모드 비트를 통해 하드웨어적으로 두 가지 모드의 oper
Process is a program in execution (프로세스는 실행중인 프로그램이다)프로세스의 문맥(context)CPU 수행 상태를 나타내는 하드웨어 문맥하드웨어 문맥 : Program Counter, 각종 register프로세스의 주소 공간 : code
Copy-on-write (COW) - write 시에 copy부모 프로세스가 자식 프로세스 생성프로세스의 트리 형성프로세스는 자원을 필요로 함운영체제로부터 받는다부모와 공유한다자원의 공유부모와 자식이 모든 자원을 공유하는 모델일부를 공유하는 모델전혀 공유하지 않는 모
프로세스는 그 특성에 따라 다음 두 가지로 나눔I/O-bound processCPU를 잡고 계산하는 시간보다 I/O에 많은 시간이 필요한 Job(many short CPU bursts)CPU-bound process계산 위주의 Job(few very long CPU b
동기화가 필요한 이유예)OS에서 Race Condition이 언제 발생하는가?Kernel 모드 running 중 interrupt가 발생하여 인터럽트 처리루틴이 수행→양쪽 다 커널 코드이므로 kernel address space 공유→Solution : disable/
Deadlock일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태Resource하드웨어, 소프트웨어 등을 포함하는 개념(예) i/o device, cpu cycle, memory space, semaphore 등프로세스가 자원을 사용하는 절차Request
Logical address(=virtual address)프로세스마다 독립적으로 가지는 주소 공간각 프로세스마다 0번지부터 시작CPU가 보는 주소는 logical address임Physical address메모리에 실제 올라가는 위치\*주소 바인딩: 주소를 결정하는것
실제로 필요할 때 page를 메모리에 올리는 것I/O양의 감소Memory 사용량 감소빠른 응답 시간더 많은 사용자 수용Valid / Invalid bit의 사용Invalid의 의미사용되지 않는 주소 영역인 경우페이지가 물리적 메모리에 없는 경우처음에는 모든 page e
File“A named collection of related information”일반적으로 비휘발성의 보조기억장치에 저장운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해 줌Operationcreate, read, write, repo
Contiguous AllocationLinked AllocationIndexed Allocation단점external fragmentationFile grow가 어려움file 생성시 얼마나 큰 hole을 배당할 것인가?grow 가능 vs 낭비 (internal fra
logical block디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들주소를 가진 1차원 배열처럼 취급정보를 전송하는 최소 단위SectorLogical block이 물리적인 디스크에 매핑된 위치Sector 0은 최외곽 실린더의 첫 트랙에 있는 첫 번째 섹터이다P