Lecture Slides

 

 

1

Lect 1(pdf file)

Introduction

2

Lect 2(pdf file)

Process

Program files: 

Create Process

Create Process using syscall

Create Process in Python

Time Sharing

Parent exit before child

Different memory Regions

logical address of n

System call chdir()

factorial  execve() program

execve() program using syscall

factorial in Python  execve() Python program

File descriptors for stdin etc.

Redirecting Output

Redirecting Output in Python

Parent and Child shares the code

/proc File System

3

Lect 3(pdf file: incomplete)

Inter-Process Communication

Program files: 

Create and use unnamed pipe

Create and use unnamed pipe in Python

Redirecting stdout to pipe using dup

Redirecting stdin and stdout to pipe using dup2

Create named-FIFO

Read process waits

Write process waits

Create named-FIFO in Python

Create shared memory - read and write

Size of shared memory supplied by OS

POSIX shared memory API

Race in shared memory

POSIX message queue

Ctrl-C SIGINT

system call kill()

Signal Handler SIGINT

Signal Handler SIGSEGV

4

Lect 4(pdf file)

Thread and POSIX Thread (pthread)

Program files: 

Create 2 pthreads and compute two function

Cancel thread

Race on a global variable

Linux clone

Simple Python thread

Thread in C++11

5

lect 7(pdf file)

Process Scheduling (incomplete)

6

Lect 5(pdf file)

Synchronization - I (incomplete)

Program files: 

queue header file

queue implementation

Producer-Consumer (incorrect implementation)

queue implementationwith delay in count

Producer-Consumer (implementation - race on count)

queue header file for Peterson

queue implementation for Peterson

Producer-Consumer (implementation - with Peterson)

queue header file for Test-and-set

queue implementation for Test-and-set

Producer-Consumer (implementation - with Test-and-set)

queue header file for exchange

queue implementation for exchange

Producer-Consumer (implementation - with exchange)

Mutex header

Mutex code

queue header for mutex

queue implementation for mutex

Producer-Consumer (implementation - with mutex)

System V semaphore as mutex lock

POSIX named semaphore)

queue header file for pthread

queue implementation for pthread

Producer-Consumer (implementation - with pthread)

queue header file for C++11 thread

queue implementation for C++11 thread

Producer-Consumer (implementation - with C++11 thread)

reader-writed (reader prio)

Slow Producer-Consumer

Pthread Condition Variable

7

Lect 6(incomplete)

Memory Management - I

Program files: 

Page Table entry (/proc)

Memory-mapped file (read)

Data for Memory-mapped file (read)

Memory-mapped file (write)

Memory-mapped file (what)

Data for Memory-mapped file (what)

8

lect 8(pdf file)

File and File System

Program files: 

Content of a Directory

File open in C++ Prog.

File open by open() call

File open by syscall

Memory mapping

9

Lect 9(pdf file)

Ext3 and Ext4 File Systems (incomplete)

Program files: 

Ext3 Superblock Header

Ext3 Read Superblock

Ext3 Group Descriptor Header

Ext3 Inode No to Group Number

Ext3 Inode Header

Ext3 Inode No to Data Block

Ext4 Superblock Header

Ext4 Read Superblock

Ext4 Group Descriptor Header

Ext4 Inode No to Group Number

Ext4 Inode Header

Ext4 Inode No to Data Block

10

Lect 10(pdf file)

I/O Subsystem (incomplete)

 

    Previous Page