컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층협의의 운영체제 (커널) : 운영체제의 핵심 부분으로 메모리에 상주하는 부분 \- 운영체제 커널 : 컴퓨터를 부팅한 후부터 메모리 에 상주하는 부분광의의 운영체제
강의 링크 컴퓨터 시스템 구조 Computer CPU : 매 쿨럭마다 memory 에 담긴 작업을 실행함 register:memory 보다 빠르면서 작은 작업 공간 mode bit : CPU 에서 실행되는 것이 OS 인지 사용자 프로그램인지를 구분하는 자료 interrupt line : CPU 는 항상 memory 에 있는 instr...
CPU 는 memory 에 담긴 instruction 을 시행한다.이 때 CPU 에는 memory 에 담긴 instruction 을 가리키는 programm counter 라는 register 가 존재한다.
프로세스란 CPU 에서 실행 중인 프로그램을 의미한다. 프로세스는 다른 프로세스 , CPU와 독립적인 주소 공간 (가상 메모리) 를 가진다.
동기식 비동기식 입출력의 개념과 스레드의 개념
좌측에서 프로그램 카운터가 `fork()` 를 만나는 순간 우측에 자식 프로세스가 생성된다. 좌측의 코드를 실행하던 프로그램 카운터는 `fork()` 이후의 코드를 따라 실행한다. 우측에 프로세스가 새로 생성되면 좌측과 독립적으로 우측의 코드를 실행시키는 `프로그램
프로그램이 실행되면 시간 흐름에 따라 다음과 같은 흐름으로 진행된다. CPU가 실행 되다가 I/O 작업을 시행하고 , ready 상태였다가 다시 실행되고 ... 결국 프로그램이 시행되는 것은 CPU 와 I/O 를 번갈아 가며 사용한다.
프로세스들은 `I/O 버스트`가 더 많은 프로세스들도 있고 `CPU 버스트`가 많은 프로세스들도 존재한다. 프로세스 별 `CPU`의 자원을 필요로 하는 정도 , `I/O` 가 일어나는 정도가 모두 다르다.
CPU 스케줄링이 필요한 이유는 프로세스들의 CPU Burst Time 이 균등(Homogenous)하지 않고 각 Burst Time 이 다르기 때문이다.
컴퓨터 시스템에서 데이터가 저장되어 있는 위치에서 데이터를 가져오고 , 가져온 데이터를 연산 후 결과값을 저장되어 있는 위치에 재저장한다. 이렇게 원래 값과 연산된 값, 수정된 값을 동기화 하기 때문에 `process syncronization` 이라고 한다.
운영체제 중 메모리에 관한 백그라운드 , 메모리의 종류와 메모리의 바인딩 방식에 대한 이야기
메모리의 기본 구조와 연속적 메모리 할당 , Fixed Partition Multiprogramming 에 대한 이야기
가상 메모리 들어가기 전 마지막 단계 , Variable Partition Multi-programming
Virtual memory - Non continuous allocation 의 서론
Paging system 에서 address mapping 과 memory management 에 대한 이야기
Virtual memory 의 기법 중 segmentation / hybrid 기법에 대한 이야기