OS
-
Project3 IntroductionOS/Pintos 2022. 1. 25. 10:25
the number and size of programs that can run is limited by the machine's main memory size. In this assignment, you will remove that limitation by building an illusion of infinite memory. 실행할 수 있는 프로그램의 수와 크기는 기계의 주 메모리 크기에 의해 제한됩니다. 이 과제에서는 무한 확장 메모리에 대한 착각을 구축하여 이러한 제한을 제거할 것입니다. Background Source Files 이 프로젝트의 VM 디렉토리에서 작업합니다. Makefile이 업데이트되어 -DVM 설정을 켭니다. 지정된 템플릿을 따라야 합니다. 즉, 주어진 템플릿을 기반으로 하..
-
Project 1,2 정리OS/Pintos 2022. 1. 11. 10:38
1. 알람클락을 하는 이유는? 2. 외부인터럽트가 뭐야 ? 3. 스케쥴링이란? 4. 스레드를 배운 이유? 5. 공유자원에대해 세마포어와 락에대해 설명? 6. 데드락이란? 7. 데드락을 피하려면? 1. 시스템콜이란? 2. 내부/외부 인터럽트 차이에대해 설명? 3. 시스템 콜이 호출되었을 때 모드변환이 일어난다하는데, 모드변환에 대해 설명? 4. 주소공간, 가상메모리에 대해 설명? 5. 페이징, 세그먼트, TLB에 대해 설명? 6. 문맥전환이란? 7. 시스템 콜 중 read, write 부분 semaphore 부분 이용하는데, 그 이유는? -답변 추가 예정-
-
Pintos 프로젝트 시 도움받은 블로그들!OS/Pintos 2022. 1. 11. 00:13
각 구현 상세설명 잘되어있음 https://always-be-wise.tistory.com/ Always Be Wise 나와 같은 길을 걷는 혹은 걷고자 하는 이들에게 조금이라도 도움이 되길 바라며 always-be-wise.tistory.com 전반적인 큰그림 https://velog.io/@gopas777 https://statuesque-cover-3b0.notion.site/Project2-c3dfdeabf57c4ca891906bceca5a3dc3 gopas777 (NakTa) - velog [TIL] Python 데이터 타입 C++로 공부를 하다가 python으로 넘어오니 헷갈리는 부분이 많아진다.메모리 구조는 어떤지(데이터, 스택 힙 등), 포인터없이 어떤 꼴로 class를 만드는 건지? C언..
-
Project2 : SystemCallOS/Pintos 2022. 1. 11. 00:05
Systemcall 시스템콜 ? 사용자 프로세스가 디스크 읽기와 같은 명령어를 실행하려면 어떻게 해야 할까? 이 때 필요한 것이 **시스템 콜(System call)**이다. 시스템 콜은 운영체제가 제공하는 서비스에 대한 프로그래밍 인터페이스로, 사용자 모드 프로그램이 커널 기능을 사용할 수 있도록 한다. 시스템 콜은 커널 모드에서 실행되며, 실행이 끝나면 다시 사용자 모드로 복귀된다. Implement system call infrastructure. Implement the system call handler in userprog/syscall.c. 어떠userprog/syscall.c에 시스템 콜 핸들러를 구현하자. 스켈레톤 코드에서는 프로세스를 종료하여 시스템 콜을 처리한다. 시스템 콜 번호를 얻..
-
Project2 : Argument PassingOS/Pintos 2022. 1. 10. 23:35
process_exec()함수 안에서 유저 프로그램을 위한 argument들을 설정하라 현재 Pintos는 아주 기본적인 기능만 갖추고 있다. 그래서 이번 Pintos 프로젝트의 목표는 PintOS가 user program을 적절히 실행하도록 만드는 것이다. 현재 PintOS는 명령어를 그 전체 문자열로 인지한다. 입력된 명령을 분절한 후에 명령어를 실행하는 데 이 때 User memory와 kernel Memory가 구분되어있음을 주의해야 한다. 메모리를 kernel memory와 User Memory로 구분하지 않고 사용하면 Memory를 관리하기 힘들다.. 예를 들어 각 프로세스가 서로 영역을 침범해서 오류를 발생시키거나 OS를 동작시키는 데 중요한 Kernel Code를 훼손할 수도 있다. Use..
-
Project2: User Programs(introduction)OS/Pintos 2022. 1. 10. 23:21
Introduction 이제 Pinto를 사용하여 작업하고 인프라 및 스레드 패키지에 익숙해지고 있으므로 사용자 프로그램 실행을 허용하는 시스템 부분에 대한 작업을 시작할 때입니다. The base code already supports loading and running user programs, but no I/O or interactivity is possible. ✅ 기본 코드는 이미 사용자 프로그램 로드 및 실행을 지원하지만 I/O 또는 상호 작용은 불가능합니다. you will enable programs to interact with the OS via system calls. ✅ 이 프로젝트에서는 프로그램이 시스템 호출을 통해 OS와 상호 작용할 수 있도록 합니다. You will be w..
-
7-1~2. Deadlocks 1,2OS/운영체제 강의정리 2021. 12. 31. 00:35
7-1 Deadlocks 1 교착상태(deadlock), The Deadlock Problem, Deadlock 발생의 4가지 조건, Resource-Allocation Graph(자원할당그래프), Deadlock Prevention, Deadlock의 처리 방법, Deadlock Avoidance, Resource Allocation Graph algorithm, Banker's Algorithm, Example of Banker's Algorithm 7-2 Deadlocks 2 Deadlock의 처리 방법, Deadlock Avoidance, Example of Banker's Algorithm, p1 request(1, 0, 2), Deadlock Detection and Recovery, Dead..
-
6-3~4. Process Synchronization 3,4OS/운영체제 강의정리 2021. 12. 30. 23:33
6-3 Process Synchronization 3 Semaphores, Implementation, Classical Problems of Syncronization, Bounded-Buffer Problem, Readers-Writers Problem, Dining-Philosophers Problem, Monitor 6-4 Process Synchronization 4(Concurrency Control) Semaphores, Monitor, Bounded-Buffer Problem, Dining Philosophers Example Classical Problems of Synchronization (고전적인 3가지 문제!) Bounded-Buffer Problem(Producer-Consume..