PintOS Project2-1 WIL

Pintos week02 User Programs 개요 기간 : 2023년 4월 27일~ 5월 9일 주제 : System call 과제 Argument Passing User Memory System calls Process Termination Messages Denying Writes to Excutables 배경지식 1. INTERRUPT 기본 개념 CPU의 명령 수행속도에 비해 I.O(입출력) 연산의 속도는 훨씬 느리다. I.O 연산을 위해 CPU가 쉬면서 기다리는 것은 낭비다. I.O 연산 중에 CPU는 다른 일을 하고 있는다. I.O 연산 결과가 나오면 CPU에게 알린다. =>" interrupt" 정의 CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치나 예외상황이 발생하여 처리가 필요한 경우에 마이크로프로세서에서 알려 처리할 수 있도록 하는 것. 하드웨어 interrupt와 소프트웨어 interrupt로 나뉜다. 하드웨어 인터럽트 하드웨어가 발생시킴 CPU가 아닌 하드웨어 장치가 CPU에게 알려주가나, 서비스 요청할 경우 발생 소프트웨어 인터럽트 소프트웨어가 발생시킴 사용자 프로그램(소프트웨어)가 스스로 인터럽트 라인을 세팅 종류 : exception(예외), system call(syscall) 두 종류 모두 CPU내의 인터럽트 라인을 세팅하여 인터럽트 발생시킴 CPU : 매 명령 수행 전 인터럽트 라인 검사 인터럽트 과정 상황 : 프로세스 A 실행 중 디스크에서 어떤 데이터를 읽어오라는 명령을 받음 ...

2023년 5월 8일 · 18 분 · 배준수

Pintos week02 System calls and handlers

System calls and Handlers 개요 주 목표 기존 : system call handler table 비어있음. 수정 후 Pintos의 system call handler 완성 유저에게 서비스를 제공하기 위한 시스템 콜 추가 프로세스 관련 : halt, exit, exec, wait 파일 관련 : create, remove, open, filesize, read, write, seek, tell, close 수정할 파일 threads/thread userprog/syscall userprog/process System call 운영체제가 제공하는 서비스를 위한 programming interface 유저 모드 프로그램이 커널 기능을 사용하게 해준다. 시스템 콜은 커널 모드에서 실행되고 유저 모드에게 반환한다. ...

2023년 5월 2일 · 4 분 · 배준수

Pintos 1주차 컴퓨터 시스템 용어 정리

컴퓨터 시스템에 관한 용어 정리 1. Interrupt, interrupt handler trap이라고도 일컬어지는 interrupt는 프로세서에게 최근에 실행된 코드를 중단을 요청해서 event가 때맞은 방식으로 처리될 수 있도록 하는 것이다. 만약 요청이 받아들여지면, 프로세서는 최근 활동을 중단시키고 state를 저장한 후 event를 처리하기 위해 interrupt handler(ISR, interrupt service routine라고도 함)라고 불리는 함수를 실행한다. 이 개입은 보통 일시적이며 비록 interrupt가 치명적인(fatal) error를 표시하는 방법이 있을지라도, interrupt handler가 일을 마친 후 소프트웨어가 평범한 활동을 재개하도록 해준다. interrupt는 시간과 관련된 감지능력이 필요한 전기적, 물리적 상태 변화를 나타내기 위해 보통 하드웨어 장치에서 사용된다. 또한 공통적으로 실시간 컴퓨팅(real-time computing)같은 컴퓨터 멀티태스킹 수행에 사용된다. 그러한 방식들로 interrupt를 사용하는 시스템은 interrupt-driven이라고 일컬어진다. ...

2023년 4월 21일 · 5 분 · 배준수