컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 기술컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공한 서버(컴퓨터)에 여러 사용자(프로그램)가 동시에 접속할 때 마치 혼자 서버를 사용하는 것 같은 환상 - 운영체
좁은 의미의 운영체제: 커널, 운영체제의 핵심 부분으로 메모리에 상주하는 부분넓은 의미의 운영체제: 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함하는 개념컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공컴퓨터 시스템의 자원(HW/SW)을 효율적으로 관리 - 형평
프로세스는 실행중인 프로그램이다프로세스의 문맥 (context)CPU 수행 상태를 나타내는 하드웨어 문맥: Program Counter, 각종 Register프로세스의 주소 공간: code, data, stack프로세스 관련 커널 자료 구조: PCB, Kernel st
부모 프로세스가 자식 프로세스 복제 생성프로세스가 운영체제에게 시스템 콜 - fork수행 부모와 자식이 공존하며 수행하는 모델자식이 종료될 때까지 기다리는 모델주소 공간자식은 부모의 공간 복사하여 그 공간에 새로운 프로그램 올림 (덮어씌움)fork() 시스템 콜 - 새
I/O bound jobCPU 사용시간이 짧은 프로세스many short CPU burstsCPU bound jobCPU 사용시간이 긴 프로세스, 계산 위주의 jobfew very long CPU bursts여러 종류의 프로세스가 섞여 있기 때문에 CPU 스케줄링이 필
데이터를 읽음 → 연산 수행 → 결과 내보냄하나의 공유 데이터에 동시에 접근하려고 할 때 문제Race Condition (경쟁 상태)커널 수행 중 인터럽트 발생 시해결: 커널 공유 데이터를 건드리기 전 disable interrupt프로세스가 시스템 콜을 하여 커널 모
Deadlock - 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태프로세스가 자원을 사용하는 절차Request, Allocate, Use, ReleaseMutual Exclusion (상호 배제) - 하나의 프로세스만이 자원 사용 가능No Preemp
Logical address (= virtual address)프로세스마다 독립적으로 가지는 주소 공간, CPU가 보는 주소Physical address메모리에 실제 올라가는 위치주소 바인딩 (주소 결정)Symbolic address → Logical address →
실제로 필요할 때 page를 메모리에 올리는 것I/O 양 감소, 메모리 사용량 감소, 빠른 응답 시간, 더 많은 사용자 수용Valid / Invalid bit 사용Invalid - 사용되지 않는 주소 영역 or 페이지가 물리적 메모리에 없는 경우처음에는 모드 inval
File - 관련 정보를 이름으로 저장하는 정보다양한 저장 장치를 파일이라는 논리적 단위로 다룸operation - create, read, write, reposition(lseek), delete, open, closeFile attribute - metadata파
Contiguous AllocationLinked AllocationIndexed Allocation연속 할당 - 하나의 파일이 디스크 상에서 연속되도록 저장하는 방법단점external fragmentationfile 크기가 커지는 것에 제약 - 미리 할당 (inter
Logical block: 디스크 외부에서 보는 정보 저장 공간 단위Sector: Logical block이 물리적인 디스크에 매핑된 위치Physical formatting (Low-level formatting)디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터들로 나누는