pintos WIL - thread system, synchronization priority scheduler : thread를 가장 잘 설명하는 그림이 아닐까 싶다. 프로세스란 단순히 실행 중인 프로그램이라고 볼 수 있고, 이를 위해 운영체제에 의해 메모리 공간을 할당받아있다. thread란 프로세스 내에서 실제로 작업을 수행하는 주체이다. 프로세스 내에는 한개 이상의 스레드가 존재하며 프로세스에 할당된 메모리 자원을 공유하며 작업을 수행한다. pintos 프로젝트... pintospintos [WEEK 09] PintOS - Project 2: User Programs (System Calls) 부모와 자식의 구분이 없고, 자식 프로세스의 정보를 알지 못하기 때문에, 자식의 시작/종료 전에 부모 프로세스가 종료되는 현상이 발생하고 프로그램이 실행되지 않는다. struct thread 구조체에 부모 프로세스의 디스크립터, 자식 리스트와 자식 리스트 element, 프로세스의 프로그램 메모리 적재 유무, 프로세스의 종료 유무 확인, exit 세마포어, load 세마포어, exit 호출 ... pintospintos [PINTOS_PROJECT1] ALARM CLOCK 1. thread_sleep() 2. timer_sleep() 3. thread_awake() 4. update_next_tick_to_awake(), get_next_tick_to_awake() 5. timer_interrupt()... Alarm Clockpintosproject#1OSAlarm Clock [PINTOS PROJECT 3] VIRTUAL MEMORY_Anonymous Page 1. load_segment() 2. lazy_load_segment() : load_segment() -> vm_alloc_page_with_initializer() -> lazy_load_segment() 순서로 실행... Anonymous PagevmpintosAnonymous Page pintOS project2: User Programs -system call int open (const char *file); Returns a nonnegative integer handle called a "file descriptor" (fd), or -1 if the file could not be opened. File descriptors are inherited(상속된다) by child processes. When a single file is ope... pintospintos [pintOS] github으로 팀프로젝트 관리하기 (pintOS 팀플 맞춤) 문서의 목표 pintOS 과제를 수행하며 팀 내에서 수립했던 repository를 관리 정책을 공유 정책 수립 시 고려사항 팀원 모두 1회 이상 Pull Request를 올려 팀 프로젝트에 흔적을 남길 수 있어야 함 master branch에는 모두가 이해하고 합의한 코드가 반영되도록 함 문제 해결 단위를 pintOS 주차별 하위 문제와 일치시켜, 문제 발생 시 되돌아갈 수 있는 지점을 구체... gitpintosgithubgit [PintOS] 1. Introduction 앞으로의 PintOS 과제를 통해서 어떠한 모습의 PintOS를 만들 것인지 아래 그림으로 나타내었다. 현재 상태의 PintOS 최종 상태의 PintOS Init Process 관련 주요 함수 운영체제 과목을 들었다면 위의 그림에서 무엇이 문제인지 알 수 있을 것이다. 내부 코드로 한 번 살펴보자. 다음은 PintOS 내부에 프로그램을 실행시키는 주요 함수들이다. 응용 프로그램을 실행시키면 ... pintospintos [Project 2] User Program (1) (그림의 initial kernel thread) 이 OS thread에서 user program을 실행하는 kernel thread 를 만들어낸다. 이중에서 run_actions 함수 부분이 실행하고자 하는 user program을 실행하는 부분이라 할 수 있다. thread_create 함수를 사용해, User process 를 실행시킬수 있는 'User' kernel thread를 만들... project 2pintosCC
WIL - thread system, synchronization priority scheduler : thread를 가장 잘 설명하는 그림이 아닐까 싶다. 프로세스란 단순히 실행 중인 프로그램이라고 볼 수 있고, 이를 위해 운영체제에 의해 메모리 공간을 할당받아있다. thread란 프로세스 내에서 실제로 작업을 수행하는 주체이다. 프로세스 내에는 한개 이상의 스레드가 존재하며 프로세스에 할당된 메모리 자원을 공유하며 작업을 수행한다. pintos 프로젝트... pintospintos [WEEK 09] PintOS - Project 2: User Programs (System Calls) 부모와 자식의 구분이 없고, 자식 프로세스의 정보를 알지 못하기 때문에, 자식의 시작/종료 전에 부모 프로세스가 종료되는 현상이 발생하고 프로그램이 실행되지 않는다. struct thread 구조체에 부모 프로세스의 디스크립터, 자식 리스트와 자식 리스트 element, 프로세스의 프로그램 메모리 적재 유무, 프로세스의 종료 유무 확인, exit 세마포어, load 세마포어, exit 호출 ... pintospintos [PINTOS_PROJECT1] ALARM CLOCK 1. thread_sleep() 2. timer_sleep() 3. thread_awake() 4. update_next_tick_to_awake(), get_next_tick_to_awake() 5. timer_interrupt()... Alarm Clockpintosproject#1OSAlarm Clock [PINTOS PROJECT 3] VIRTUAL MEMORY_Anonymous Page 1. load_segment() 2. lazy_load_segment() : load_segment() -> vm_alloc_page_with_initializer() -> lazy_load_segment() 순서로 실행... Anonymous PagevmpintosAnonymous Page pintOS project2: User Programs -system call int open (const char *file); Returns a nonnegative integer handle called a "file descriptor" (fd), or -1 if the file could not be opened. File descriptors are inherited(상속된다) by child processes. When a single file is ope... pintospintos [pintOS] github으로 팀프로젝트 관리하기 (pintOS 팀플 맞춤) 문서의 목표 pintOS 과제를 수행하며 팀 내에서 수립했던 repository를 관리 정책을 공유 정책 수립 시 고려사항 팀원 모두 1회 이상 Pull Request를 올려 팀 프로젝트에 흔적을 남길 수 있어야 함 master branch에는 모두가 이해하고 합의한 코드가 반영되도록 함 문제 해결 단위를 pintOS 주차별 하위 문제와 일치시켜, 문제 발생 시 되돌아갈 수 있는 지점을 구체... gitpintosgithubgit [PintOS] 1. Introduction 앞으로의 PintOS 과제를 통해서 어떠한 모습의 PintOS를 만들 것인지 아래 그림으로 나타내었다. 현재 상태의 PintOS 최종 상태의 PintOS Init Process 관련 주요 함수 운영체제 과목을 들었다면 위의 그림에서 무엇이 문제인지 알 수 있을 것이다. 내부 코드로 한 번 살펴보자. 다음은 PintOS 내부에 프로그램을 실행시키는 주요 함수들이다. 응용 프로그램을 실행시키면 ... pintospintos [Project 2] User Program (1) (그림의 initial kernel thread) 이 OS thread에서 user program을 실행하는 kernel thread 를 만들어낸다. 이중에서 run_actions 함수 부분이 실행하고자 하는 user program을 실행하는 부분이라 할 수 있다. thread_create 함수를 사용해, User process 를 실행시킬수 있는 'User' kernel thread를 만들... project 2pintosCC