Postagens

Mostrando postagens de junho, 2020

Assignment 3 - 2020

Team 1: blocked processes in blocking_device Read and experiment phase 3 work in  http://linux-kernel-lab.blogspot.com/2018/06/blocking-device.html Make the pid of all processes blocked in blocking_device visible in /sys/show_blocked. Test it. You may run "read_test  &" as many times as you wish. tip: Do you know what is a file in sysfs? It just exports some information from the kernel. In this exercise you will not create any additional data structure (such as an array) inside the kernel. You will have to look for the pid of all blocked processes looking some data structure that already exists. Team 2: systemtap: I/O monitoring You are not using Shibata's work. systemtap is a script language developed by RedHat that runs in kernel mode. It collects and displays kernel data (or even user data) as the user wishes. See  https://sourceware.org/systemtap/SystemTap_Beginners_Guide/ The script  https://sourceware.org/systemtap/SystemTap_Beginners_Guide/tr

Assignments 2 - 2020

Imagem
Phase 2 All teams, please study:  https://linux-kernel-lab.blogspot.com/2018/06/block-and-unblock-process-assignment.html Team 1 CFS Completely Fair Scheduler Study and explain in your report:  http://www.ibm.com/developerworks/library/l-completely-fair-scheduler/ Create the system call cfs() which returns a string such as: "pid1:virtualRuntime1 pid2:virtualRuntime2 pid3:virtualRuntime3 ..." which is ordained from the lowest virtualRuntime to the highest. In oder to test, make an init which forks many other processes: some continually making arithmetic operations (cpu bound processes) and others getting chars from the keyboard (getc). From time to time, init must call cfs() and displays it. Team 2 - Semaphore Study: -V78 --V79: https://www.youtube.com/watch?v=dI2NqcP40l4 Create three system calls: semaforo_id = init_semaphore( valor_inicial) , up(semaforo_id)  - which may call unblock. down(semaforo_id)  - which may call block. In your w