KOCW 반효경 교수님 강의 1주차
KOCW 반효경 교수님 운영체제 수업

KOCW 반효경 교수님 강의

파일 시스템 내에 실행파일 A -> 실행하면 메모리 상에 올라가서 "프로세스" 가 됨.이 과정 중간에 Virtual memory 단계를 거치게 됨.프로그램 만의 독자적인 주소 공간(address space) 생겨나는데 그걸 virtual memory 라고 함.Virtu
스케줄러 : 하드웨어 관리를 진행하는 운영체제 코드의 일부.장기 스케줄러: 메모리에 프로세스를 올릴지 말지를 결정 (현대 운영체제에선 없다)단기 스케줄러: CPU 배분을 결정하는 부분중기 스케줄러: 현대의 운영체제는 일단 메모리를 모든 프로세스에 주고, 여유공간 마련이
sleep until child is done.프로세스 A가 wait() 시스템콜을 호출하면,: 커널은 child가 종료될 때까지 프로세스 A를 sleep 시킨다 (block 상태-> CPU 못 얻음): child process가 종료되면 커널은 프로세스 A를 깨운다.
사람과 상호작용이 많은 프로그램의 경우 I/O burst를 자주해야함 -> I/O Bound job계산, 응용 등 연산이 많은 경우 CPU burst 시간이 긺 -> CPU Bound job이렇게 프로그램 간 동작 형태가 다르므로, CPU 스케줄링이 필요.non-pre

지난 시간에 이어서 멀티 프로세서 스케줄링 설명.CPU가 여러 개인 경우 스케줄링은 더욱 복잡해짐.큐에 한줄로 세워서 각 프로세서가 알아서 꺼내가게 할 수 있다.반드시 특정 프로세서에서 수행되어야 하는 프로세스가 있는 경우에는 문제가 더 복잡해짐.여러 CPU들이 균형
(옵시디언 문제로 다른 장소에 작성한 노트가 업데이트되지 않아서 추후 5-2주차를 올리도록 하겠습니다)Semaphore: 일종의 추상 자료형. 세마포어 변수가 있다면, 그것을 다루는 연산은 P(S), V(S) 두 가지가 있다.P는 공유 자원을 얻는 과정, V는 공유 자
n 개의 프로세스가 공유 데이터를 동시에 사용하기를 원하는 경우각 프로세스의 코드에는 공유 데이터를 접근하는 코드인 critical section이 존재.프로세스들은 수행의 동기화를 위해 몇몇 변수를 공유할 수 있다. (Synchronization variable)가정

세마포: 동기화 문제를 추상화하여 프로그래머로 하여금 코딩으로 해결할 수 있게끔 하는 요소P, V 연산을 통해 자원 관리.Semaphore의 문제점처음 접하는 사람 입장에선 코딩하기 힘들다.정확성의 입증이 어렵다.한번의 실수가 모든 시스템에 치명적 영향.프로그래머의 실
데드락을 방지하는 방법에 대해 배워보았다.데드락을 미연에 방지하는 방법.프로세스와 자원의 관계를 자원 할당 그래프로 나타내었을 때, 프로세스와 자원의 점유관계를 확인할 수 있었다.자원 당 인스턴스가 하나뿐인 상황에서는 그래프를 이용해서 자원을 배분하고 데드락을 예측하여

물리적 주소 상 낮은 주소에 운영체제 커널이 존재하고, 사용자가 실행한 프로그램이 높은 주소값에 들어간다.프로그램이 메모리에 올라가기 전에, 독자적인 가상 메모리 공간에서 프로세스의 메모리 정보가 작성됨 -> 가상메모리의 정보가 물리적인 메모리 상에 올라가야 실행이 되

물리적 메모리의 낮은 주소 영역에 운영체제가 상주하고 그 외 주소 높은 주소 영역단에 프로그램들이 들어와 프로세스가 된다.프로그램을 구성하는 가상메모리 주소공간이 물리적 메모리에 통째로 올라가는 방법을 가정함. 메모리 주소 변환이 비교적 간단함. 각각의 프로그램마다 0

이번 수업 내용은 물리적인 메모리 관리.하드웨어가 어떻게 주소변환을 해주는지에 대해 알아보자.주소변환은 전적으로 하드웨어의 일.운영체제를 통해서 해야하는 것은 I/O.메모리접근과 I/O 접근 헷갈리지말자!기본적인 주소변환.물리적인 메모리 관리방법에는 연속할당, 불연속

물리적인 메모리 주소 변환은 하드웨어가 도맡아 진행한다.가상 메모리 주소 변환에서는 운영체제가 관여.어떤 로직으로 운영체제가 가상메모리를 관리하는지 알아보자실제로 필요할 때 page를 메모리에 올리는 방식I/O 양의 감소Memory 사용량 감소빠른 응답시간더 많은 프로

캐슁 기법 한정된 빠른 공간(=캐쉬)에 요청된 데이터를 저장해두었다가, 후속 요청시 캐쉬로부터 직접 서비스하는 방식 paging system 외에도 cache memory, buffer caching, Web caching 등 다양한 분야에서 사용.캐쉬 운영의 시간
File"A named collection of related information"일반적으로 비휘발성의 보조기억장치에 저장.운영체제는 다양한 저장 장치를 file 이라는 동일한 노리적 단위로 볼수 있게 해줌.디스크에 저장되는 파일은 이름을 통해 접근하는 단위.파일은

강의: KOCW 반효경 교수님 운영체제
KOCW 반효경 교수님 운영체제 강의

KOCW 반효경 교수님 강의
프로세스는 실행 중인 프로그램으로, 특정 시점에서 프로세스는 접근하거나 영향을 미친 자원의 목록으로 간단히 표현할 수 있다.프로세스를 구성하는 주요 하드웨어 상태:메모리: 명령어와 데이터가 저장되는 장소.레지스터: 실행 중 명령어들이 읽고 쓰는 하드웨어 상태. 특수 레
fork()와 wait() 시스템 콜을 이용하여 부모와 자식 프로세스를 생성하고 동작시킵니다.실행 결과:fork(): 새로운 자식 프로세스를 생성하며, 부모와 자식 프로세스는 동시에 실행됩니다.wait(): 부모 프로세스가 자식 프로세스의 종료를 기다립니다.작동 방식:

제한적 직접 실행(Limited Direct Execution)은 프로그램을 CPU에서 직접 실행하여 최대 성능을 달성하려는 기법입니다.직접 실행의 과정:운영체제가 프로세스 항목을 생성.프로그램에 메모리를 할당.프로그램 코드를 디스크에서 메모리로 로드.실행 시작 지점(

워크로드(workload): 시스템에서 실행 중인 프로세스나 작업(job)의 집합.정책을 설계하고 평가하기 위해 워크로드에 대한 가정을 설정함.모든 작업은 같은 시간 동안 실행된다.모든 작업이 동시에 도착한다.각 작업은 시작되면 완료될 때까지 중단되지 않는다.모든 작업

여러 개의 우선순위 큐로 구성되며, 각 큐는 다른 우선순위를 가짐.스케줄링 기본 원칙:규칙 1: 높은 우선순위 큐에 있는 작업이 먼저 실행됨.규칙 2: 동일 우선순위 작업은 라운드 로빈 (RR) 방식으로 실행.규칙 3: 시스템에 새로 진입한 작업은 최상위 큐에서 시작.
단일 CPU 시스템: 캐시를 사용하여 메모리 접근 속도를 높임.시간 지역성: 자주 사용하는 데이터는 다시 접근할 가능성이 높음.공간 지역성: 특정 데이터와 인접한 데이터도 함께 접근될 가능성이 높음.멀티프로세서 시스템: 여러 CPU와 하나의 공유 메모리를 사용.캐시 일