Introduction to Operating Systems && System Structure & Program Execution 1 && 2
목표 운영체제의 기능인 CPU 스케줄링, 메모리 관리, 디스크 스케줄링과 운영체제의 종류에 대해 알아본다. CPU 스케줄링 어떤 프로그램에게 CPU 사용권을 줄지 고민하는것 예시1)CPU를 오래 쓰는 프로그램이 먼저 도착했을 때 예시2)CPU를 짧게 쓰는 프로그램이
운영체제의 정의, 목적, 분류, 예시, 구조를 알아보고 과목 성격이 개발자 관점의 운영체제 이해임을 이해한다.
목표 컴퓨터 시스템의 구조와 관련해 프로그램 수행에 Mode bit, Timer 등이 어떻게 작동하는지 알아본다. 컴퓨터 시스템 구조 PC 레지스터가 OS를 가리키고 있으면
지난시간 복습 cpu가 있고, cpu의 작업공간인 메모리가 있고, cpu는 매순간 메모리에 있는 기계어를 하나씩 읽어서 실행한다. 메모리의 어디에 있는 기계어냐? cpu에 있는 레지스터가 가리키고 있는 메모리 위치에서 매번 기계어를 읽어서 실행하게 된다. interru
목표 프로그램의 실행 과정을 이해하고 커널이 가진 내용과 사용자 프로그램이 사용하는 함수를 알아본다. 프로그램의 실행 프로그램이란게 파일시스템에 실행파일 형태로 저장 실행시키면? 그 프로그램이 메모리에 올라가서 프로세스가 된다. 운영체제 커널이 메모리에 기본적으로 올
프로세스의 개념, 상태, 문맥과 운영체제가 프로세스를 큐에 넣고 관리하는 형태에 대해 알아본다.
스케줄러의 세 종류인 장기, 단기, 중기 스케줄러에 대해 알아본다.
프로세스의 상태 변화와 프로세스 중 cpu 수행 단위인 스레드에 대해 알아본다.
프로세스의 생성에 있어 자식 프로세스가 부모 프로세스를 복제, 새로운 과정을 덮어씌우는 과정과 프로세스의 종료에 대해 알아본다.
프로세스 생성과 종료에서 쓰이는 네 종류의 시스템 콜, 프로세스 간의 협력에 대해 알아본다.
cpu스케줄링과 디스패치가 필요한 이유와 개념에 대해 알아본다.
CPU 스케줄링의 여러가지 알고리즘에 대해 알아본다.
CPU 스케줄링의 여러가지 알고리즘 중 멀티레벨 큐와 멀티레벨 피드백 큐에 대해 알아본다.
특수한 CPU Scheduling에 대해 알아본다.
동기화의 문제에 대해 알아본다.
데드락의 문제, 발생 조건, 처리방법 네 가지중 하나인 프리벤션을 알아본다.
동기화 문제의 해결 방법에 대해 알아본다.
세마포 연산에서 생길 수 있는 문제인 데드락과 동기화와 관련된 전통적인 세가지 문제에 대해 알아본다.
목표 동기화 문제 해결을 위해 세마포 이외의 모니터 방식에 대해 알아본다.
데드락 처리의 네 방법 중 남은 세가지인 데드락 어버이던스, 디텍션 앤 리커버리, 이그노어런스를 배워본다.
메모리 주소의 종류와 주소 바인딩, 변환방식, 관련 용어, 물리적인 메모리 관리에 있어서 두 방식 중 하나인 연속할당을 알아본다.
물리적인 메모리 관리 중 남은 한 방식인 불연속 할당과 관련해 페이징 기법에 대해 알아본다.
물리적인 메모리 관리 방법인 세그먼트에 대해 알아본다.
가상메모리 관리 기법의 기초와 교체 알고리즘, 다양한 캐슁 환경에 대해 알아본다.
목표 가상 메모리 관리를 위한 캐싱 기법과 클락 알고리즘에 대해 알아본다.
파일 시스템의 기초, 디렉토리 구조, 파일의 접근권한 보호에 대해 알아본다. fd라는 결과값을 리턴하게 되는데 각 프로세스마다 그 프로세스가 오픈한 파일에 대한 메타데이터 포인터를 가지고 있는 일종의 배열 같은게 정의되어 있다. 만약에 오픈한 b라는 파일의 메타데이터가
파일 시스템의 파일 할당 방법, 파일시스템의 기초 등에 대해 학습한다.
디스크 매니지먼트와 스케줄링에 대해 알아본다.
Ext4 파일시스템, 저널링, 버퍼캐시 알고리즘에 대해 알아본다. 업로드중..
프로세스의 개념, 프로세스의 상태(Process State), 프로세스의 개념, 프로세스 상태도, Process Control Block(PCB), 문맥교환(Context Switch), 프로세스를 스케줄링하기 위한 큐, Ready Queue와 다양한 Device Qu
- 동기식 입출력과 비동기식 입출력 - 프로세스 스케줄링 큐의 모습 - Thread - Single and Multithreaded Processes - Benefits of Threads - Implemetation of Threads
- 프로세스 생성(Process Creation) - 프로세스 종료(Process Termination)
cpu 스케줄링 종류와 특징
Multilevel Queue와 특이한 조건에서의 스케줄링, 스케줄링 알고리즘을 평가하는 방법에 대해 알아보자.
race condition으로 동기화 문제가 발생한다. 해결책으로 인터럽트를 못하게 막거나, cpu를 안뺏기거, lock을 거는 방법이 있다.
block & wakeup, semaphore, starvation, deadlock에 대해 알아보자.
동기화 문제를 해결하기 위한 방법들에 대해 알아보자.
synchronization 문제에 대해 총 정리 및 요약 강의
deadlock 발생조건 4가지, deadlock 피하는 방법 4가지에 대해 알아보자.
데드락을 미연에 방지하지 않고, Deadlock Detection and Recovery (deadlock을 탐지하는 방법도 보수적/낙관적 관점이 있음.), Deadlock ignorance 의 방법도 있다. 이에 대해 자세히 알아보자!
주소 바인딩 3가지 방식, terminologies 4개, 연속할당과 불연속할당
프로그램을 구성하는 논리적인 메모리(logical memory)를 동일한 크기(page)로 잘라서 각각의 page별로 물리적인 메모리의 비어있는 곳에 올리는 paging 기법에 대해 알아보자. 주소변환을 위해서 page table 사용하는 방식도 알아보자.
Page table을 2단계로만 사용하는 것이 아니라, 다단계로도 사용할 수 있다. 아무래도 프로그램 주소공간이 굉장히 넓기 때문에 3단계, 4단계... 점점 더 여러 단계의 page table을 사용하는게 가능함. table을 위한 공간을 줄일 수 있지만,
Segmentation 기법은 프로세스 주소 공간을 동일한 page가 아닌 의미 단위로 나눠서 관리 하는 방법. 물리적인 메모리에는 segment 단위로 올라간다. 주소변환도 각각 segment 별로 이뤄질 수 있도록 segment table 이용한다.
어떤 page를 쫓아내야 하는가?에 대한 알고리즘에 대해 알아보자.
다양한 캐슁 환경 01. 캐싱 기법 REPLACEMENT 알고리즘 환경이 꼭 가상메모리 뿐만 아니고,다양한 곳에서 사용되고 있음. paging system : 한정된 빠른 공간(물리적인 메모리)에 직접 service를 하는데 요청된 page가 없을 때 page fault가 났고, 느린 저장 장치 (backing store)에서 물리적인 메모리로 읽어오는 ...
파일시스템에 대해 알아보자.
지난시간 storage 데이터에 접근하는 방법 순차적인 접근 임의적인 접근 매체에 따라서 다름 tape => 순차적 접근 하드디스크, 플래시메모리, cd => 임의적 접근 직접 접근이 가능한 매체라 하더라도, 데이터를 어떻게 관리하느냐에 따라서 순차적 접근만 허용되는