Lab 4: Process Creation and Management
|
|
- Elmer Morrison
- 5 years ago
- Views:
Transcription
1 1.Objective 2.Syabus Lab 4: Process Creation and Management Learn the creation and management of Linux process Understand the concepts and principe of process Impement the creation and management of process using C or C++ 3.Prerequisite C or C++ anguage Computer which run Linux system (e.g. Ubuntu) Understand the concept of process 4.Concepts and Principes of Process Pease refer to the chapter 3 of the text book. The main contents have been ectured in the third week, 09/26/2016. The side of this chapter can be found in the course website: 5.Experimenta Contents 5.1 Basic Program Description: A simpe program to create a chid process using fork. Parent wait for chid to coect the exit status of chid. The function of fork() wi create a new process. The function of getpid() wi get the current process id. The function of getppid() wi get the current parent process id. The function of wait() wi wait for the chid process to finish. The function of exit() wi finish a process and exit. The fie name is basic_fork.c #incude<stdio.h> #incude<unistd.h> #incude<fcnt.h> #incude<stdib.h> int main() int ret_va, pid, pidc; int ret_va2; /*create a chid*/ pid = fork(); if(pid < 0) perror("fork faied\n"); if(pid > 0) /*parent code*/
2 printf("parent code pid=%d\n",getpid()); /*wait for chid to terminate and catch the exit code*/ pidc = wait(&ret_va); printf("pidc = %d\n",pidc); if(pidc == -1) perror("error in wait\n"); if(wifexited(ret_va)) /*chid terminated sucessfuy*/ printf("chid exited with status %d\n",wexitstatus(ret_va)); ese if (WIFSIGNALED(ret_va)) printf("kied by signa %d\n", WTERMSIG(ret_va)); ese if (WIFSTOPPED(ret_va)) printf("stopped by signa %d\n", WSTOPSIG(ret_va)); ese if (WIFCONTINUED(ret_va)) printf("continued\n"); ese /*chid code*/ printf("chid pid=%d, parent pid=%d\n",getpid(), getppid()); return EXIT_SUCCESS; How to Run: gcc -o basic_fork basic_fork.c./basic_fork 5.2 Chid-of-Chid Description: Program to make beow given hierarchy using fork. The fie name is chid_of_chid.c parent chid chid chid #incude<stdio.h> #incude<stdib.h> #incude<unistd.h> #define NUM_CHILD 3 int main()
3 int ret_pid; int ret_va; int i; for (i = 0;i < NUM_CHILD;i++) ret_pid = fork(); if (ret_pid == -1) perror("error in fork:"); if (ret_pid > 0) /*parent code*/ printf("parent code, pid = %d,parent pid = %d\n",getpid(),getppid()); break; ese /*chid code*/ printf("chid code, pid = %d,parent pid = %d\n",getpid(),getppid()); /*ast one wi not have any chid,so exit from here*/ if (i == NUM_CHILD-1) ret_pid = wait(&ret_va); if(ret_pid == -1) perror("error in wait:"); printf("terminated pid = %d,status = %d\n",ret_pid,ret_va); return EXIT_SUCCESS; How to Run: gcc -o chid_of_chid chid_of_chid.c./chid_of_chid 5.3 Mutipe Chid Description: Program to make 3 chid process from a parent process using fork. The fie name is mutipe_chid.c. Parent - chid - chid `- chid #incude<stdio.h>
4 #incude<stdib.h> #incude<unistd.h> #define NUM_CHILD 3 int main() int ret_pid; int ret_va; int i; for (i = 0;i < NUM_CHILD;i++) ret_pid = fork(); if (ret_pid == -1) perror("error in fork:"); if (ret_pid > 0) /*parent code*/ printf("parent code, pid = %d,parent pid = %d\n",getpid(),getppid()); ese /*chid code*/ printf("chid code, pid = %d,parent pid = %d\n",getpid(),getppid()); for(i = 0;i < NUM_CHILD ; i++) ret_pid = wait(&ret_va); if(ret_pid == -1) perror("error in wait:"); printf("terminated pid = %d,status = %d\n",ret_pid,ret_va); return EXIT_SUCCESS; How to Run: gcc -o mutipe_chid mutipe_chid.c./mutipe_chid 5.4 Open and Write Fie Description: A simpe program to create a chid process using fork(). Parent opens a fie and chid writes some data to fie. And then parent waits for the chid and reads
5 data from the same fie. The fie name is open_write.c #incude<stdio.h> #incude<unistd.h> #incude<fcnt.h> #incude<stdib.h> int main() int ret_va,pid,pidc; int fd; char buff[] = "heo to the word of inux"; char read_buff[32]; fd = open("test",o_creato_rdwr,s_irusrs_iwusr); if(fd < 0) perror("error in oepning fie"); /*create a chid*/ pid = fork(); if(pid < 0) perror("fork faied\n"); if(pid > 0) /*wait for chid to terminate and catch the exit code*/ pidc = wait(&ret_va); if(wifexited(ret_va)) printf("chid exited with status %d\n",wexitstatus(ret_va)); /*parent has written in fie so the see to the beginnin of fie*/ seek(fd,0,seek_set); ret_va = read(fd,read_buff,sizeof(read_buff)); printf("ret_va =%d %s",ret_va,read_buff); /*cose the fie and exit*/ cose(fd); ese /*write some data to fie*/ if(write(fd,buff,sizeof(buff) < 0) perror("error in writing fie\n");
6 printf("data written\n"); return EXIT_SUCCESS; How to Run: gcc -o open_write open_write.c./open_write 5.5 Show Process Information Description: A basic Linux Kerne modue to show the information of a process working. The fie name is Makefie obj-m += process_info.o a: make -C /ib/modues/$(she uname -r)/buid M=$(PWD) modues cean: rm Modue.symvers modues.order process_info.ko process_info.mod.c process_info.mod.o process_info.o The fie name is process_info.c #incude <inux/init.h> #incude <inux/modue.h> #incude <inux/modueparam.h> #incude <inux/sched.h> #incude <inux/rcupdate.h> #incude <inux/fdtabe.h> #incude <inux/fs.h> #incude <inux/fs_struct.h> #incude <inux/dcache.h> #incude <inux/sab.h> #incude <inux/kerne.h> #incude <inux/errno.h> #incude <inux/stat.h> #incude <inux/mm.h> #incude <inux/highmem.h> #incude <asm/pgtabe.h> #define BUFSIZE 100 MODULE_LICENSE("GPL"); MODULE_AUTHOR("Process Information"); static int pid = 0; modue_param( pid, int, S_IRUSR S_IWUSR S_IRGRP S_IWGRP); MODULE_PARM_DESC( pid, "PID of the process"); static int init processinfo_init(void) printk( KERN_INFO "Starting modue...\n"); struct task_struct *task = current; struct task_struct *desiredtask = NULL;
7 for_each_process( task) if ( task->pid == pid) desiredtask = task; if ( desiredtask!= NULL) printk( KERN_INFO "--A process is found with the PID = %d--\n", pid); printk( KERN_INFO "--The curenty opened fies information--\n"); struct fdtabe *fiestabe; struct path fpath; char *fiepath; char *buffer = (char *) kmaoc( GFP_KERNEL, BUFSIZE * sizeof( char) ); fiestabe = fies_fdtabe( desiredtask->fies); int i = 0; whie ( fiestabe->fd[i]) fpath = fiestabe->fd[i]->f_path; fiepath = d_path( &fpath, buffer, BUFSIZE * sizeof( char) ); printk( KERN_INFO "\t%s\n", fiepath); i++; printk( KERN_INFO "--Memory Management Information--\n" ); struct mm_struct* mm = desiredtask->mm; printk( KERN_INFO "[CODE START]\t[CODE END]\t[CODE SIZE]\n"); printk( KERN_INFO "%x\t\t%x\t%u\n", mm->start_code, mm->end_code, mm->end_code - mm->start_code ); printk( KERN_INFO "[DATA START]\t[DATA END]\t[DATA SIZE]\n"); printk( KERN_INFO "%x\t\t%x\t%u\n\n", mm->start_data, mm->end_data, mm->end_data - mm->start_data ); printk( KERN_INFO "\nnotice: The stack data wi be written in virtua memory part.\n" ); printk( KERN_INFO "[ARG START]\t[ARG END]\t[ARG SIZE]\n"); printk( KERN_INFO "%x\t\t%x\t%u\n\n", mm->arg_start, mm->arg_end, mm->arg_end - mm->arg_start ); printk( KERN_INFO "[ENV START]\t[ENV END]\t[ENV SIZE]\n"); printk( KERN_INFO "%x\t\t%x\t%u\n\n", mm->env_start, mm->env_end, mm->env_end - mm->env_start ); printk( KERN_INFO "Tota VM area = %u\n", mm->tota_vm); printk( KERN_INFO "Number of frames used by the process = %u\n\n", get_mm_rss( mm) );
8 struct vm_area_struct *mmap = mm->mmap; printk( KERN_INFO "--Virtua Memory Information--\n" ); printk( KERN_INFO "[VM START]\t[VM_END]\t[VM_SIZE]"); whie( mmap!= NULL ) if( mmap -> vm_next == NULL ) printk( KERN_INFO "\nthe stack information of the process:\n"); printk( KERN_INFO "[STACK START]\t[STACK END]\t[STACK SIZE]\n" ); printk( KERN_INFO "%x\t\t%x\t%u\n", mmap -> vm_start, mmap -> vm_end, mmap -> vm_end - mmap -> vm_start ); mmap = mmap -> vm_next; printk( KERN_INFO "--The fiesystem information--\n"); struct fs_struct *fiesstruct = desiredtask->fs; printk( KERN_INFO "\troot: %s\n", fiesstruct->root.dentry->d_name.name); printk( KERN_INFO "\tworking Directory: %s\n", fiesstruct->pwd.dentry->d_name.name); ese printk( KERN_INFO "There is not a process with PID = %d, exiting...\n", pid); return 0; static void exit processinfo_exit( void) printk( KERN_INFO "The modue successfuy removed.\n"); modue_init( processinfo_init); modue_exit( processinfo_exit) How to Run: make sudo insmod process_info.ko pid=1 //insta Linux kerne modue //pid can be changed to other id dmesg //show the detaied message output by process_info.ko 6.Concusion In this chapter, five experiments have been compete. They have shown how to create and manage a process.
seven Virtual Memory Introduction
Virtual Memory seven Exercise Goal: You will study how Linux implements virtual memory. A general architecture-independent memory model is the basis of all Linux virtual memory implementations, though
More informationLinux Kernel PROCESS. Copyrighted to
Linux Kernel PROCESS 1 Copyrighted to www.suvenconsultants.com Process : a running program. Individual processes exist independently alongside each other and cannot affect each other directly. Each process
More informationUNIX Processes. by Armin R. Mikler. 1: Introduction
UNIX Processes by Armin R. Mikler Overview The UNIX Process What is a Process Representing a process States of a process Creating and managing processes fork() wait() getpid() exit() etc. Files in UNIX
More informationVirtual Memory: Systems
Virtual Memory: Systems 5-23: Introduction to Computer Systems 8 th Lecture, March 28, 27 Instructor: Franz Franchetti & Seth Copen Goldstein Recap: Hmmm, How Does This Work?! Process Process 2 Process
More informationLinux Kernel Module Programming. Tushar B. Kute,
Linux Kernel Module Programming Tushar B. Kute, http://tusharkute.com Kernel Modules Kernel modules are piece of code, that can be loaded and unloaded from kernel on demand. Kernel modules offers an easy
More informationWindows architecture. user. mode. Env. subsystems. Executive. Device drivers Kernel. kernel. mode HAL. Hardware. Process B. Process C.
Structure Unix architecture users Functions of the System tools (shell, editors, compilers, ) standard library System call Standard library (printf, fork, ) OS kernel: processes, memory management, file
More informationOperating Systems Lab
Operating Systems Lab Islamic University Gaza Engineering Faculty Department of Computer Engineering Fall 2012 ECOM 4010: Operating Systems Lab Eng: Ahmed M. Ayash Lab # 3 Fork() in C and C++ programming
More informationCS 261 Fall Mike Lam, Professor. Exceptional Control Flow and Processes
CS 261 Fall 2017 Mike Lam, Professor Exceptional Control Flow and Processes Exceptional control flow Most control flow is sequential However, we have seen violations of this rule Exceptional control flow
More informationP6/Linux Memory System Nov 11, 2009"
P6/Linux Memory System Nov 11, 2009" REMEMBER" 2! 3! Intel P6" P6 Memory System" DRAM" external system bus (e.g. PCI)" L2" cache" cache bus! bus interface unit" inst" TLB" instruction" fetch unit" L1"
More informationMemory System Case Studies Oct. 13, 2008
Topics 15-213 Memory System Case Studies Oct. 13, 2008 P6 address translation x86-64 extensions Linux memory management Linux page fault handling Memory mapping Class15+.ppt Intel P6 (Bob Colwell s Chip,
More informationLab 5: Inter-Process Communication
1. Objective Lab 5: Inter-Process Communication Study the inter-process communication 2. Syllabus Understanding the concepts and principle of inter-process communication Implementing the inter-process
More informationPentium/Linux Memory System March 17, 2005
15-213 The course that gives CMU its Zip! Topics Pentium/Linux Memory System March 17, 2005 P6 address translation x86-64 extensions Linux memory management Linux page fault handling Memory mapping 17-linuxmem.ppt
More information518 Lecture Notes Week 3
518 Lecture Notes Week 3 (Sept. 15, 2014) 1/8 518 Lecture Notes Week 3 1 Topics Process management Process creation with fork() Overlaying an existing process with exec Notes on Lab 3 2 Process management
More informationRicardo Rocha. Department of Computer Science Faculty of Sciences University of Porto
Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto For more information please consult Advanced Programming in the UNIX Environment, 3rd Edition, W. Richard Stevens and
More informationAdvanced Operating Systems
http://www.pf.is.s.u-tokyo.ac.jp/class.html Advanced Operating Systems #6 Shinpei Kato Associate Professor Department of Computer Science Graduate School of Information Science and Technology
More informationOperating System Structure
Operating System Structure CSCI 4061 Introduction to Operating Systems Applications Instructor: Abhishek Chandra Operating System Hardware 2 Questions Operating System Structure How does the OS manage
More informationECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University
ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Peng Li TA: Andrew Targhetta (Lab exercise created by A Targhetta and P Gratz) Laboratory
More informationThis tutorial covers a foundational understanding of IPC. Each of the chapters contain related topics with simple and useful examples.
About the Tutorial Inter Process Communication (IPC) refers to a mechanism, where the operating systems allow various processes to communicate with each other. This involves synchronizing their actions
More informationVirtual File System (VFS) Implementation in Linux. Tushar B. Kute,
Virtual File System (VFS) Implementation in Linux Tushar B. Kute, http://tusharkute.com Virtual File System The Linux kernel implements the concept of Virtual File System (VFS, originally Virtual Filesystem
More informationVirtual Memory: Systems
Virtual Memory: Systems 5-23 / 8-23: Introduc2on to Computer Systems 7 th Lecture, Mar. 22, 22 Instructors: Todd C. Mowry & Anthony Rowe Today Virtual memory ques7ons and answers Simple memory system example
More informationProcesses & Threads. Today. Next Time. ! Process concept! Process model! Implementing processes! Multiprocessing once again. ! More of the same J
Processes & Threads Today! Process concept! Process model! Implementing processes! Multiprocessing once again Next Time! More of the same J The process model! Most computers can do more than one thing
More informationCS240: Programming in C
CS240: Programming in C Lecture 16: Process and Signals Cristina Nita-Rotaru Lecture 16/ Fall 2013 1 Processes in UNIX UNIX identifies processes via a unique Process ID Each process also knows its parent
More informationProcesses COMPSCI 386
Processes COMPSCI 386 Elements of a Process A process is a program in execution. Distinct processes may be created from the same program, but they are separate execution sequences. call stack heap STACK
More informationKernel. Kernel = computer program that connects the user applications to the system hardware Handles:
Kernel programming Kernel Kernel = computer program that connects the user applications to the system hardware Handles: Memory management CPU scheduling (Process and task management) Disk management User
More informationCSC209H Lecture 11. Dan Zingaro. March 25, 2015
CSC209H Lecture 11 Dan Zingaro March 25, 2015 Level- and Edge-Triggering (Kerrisk 63.1.1) When is an FD ready? Two answers: Level-triggered: when an operation will not block (e.g. read will not block),
More informationMake Your Own Linux Module CS 444/544
Make Your Own Linux Module CS 444/544 Lab Preparation: Running VM! Download the image using - wget http://cslabs.clarkson.edu/oslab/syscall_lab.vdi! Applications -> Accessories-> VirtualBox! In Virtual
More informationCSC209 Fall Karen Reid 1
' & ) ) #$ "! How user programs interact with the Operating System. Somehow we need to convert a program into machine code (object code). A compiler passes over a whole program before translating it into
More informationCSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Advanced Memory Management
CSE120 Principes of Operating Systems Prof Yuanyuan (YY) Zhou Advanced Memory Management Advanced Functionaity Now we re going to ook at some advanced functionaity that the OS can provide appications using
More informationLight-Weight Processes: Dissecting Linux Threads
Operating Systems (Fall/Winter 2018) Light-Weight Processes: Dissecting Linux Threads Yajin Zhou (http://yajin.org) Zhejiang University source: https://opensourceforu.com/2011/08/light-weight-processes-dissecting-linux-threads/
More informationPESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Information Sciences and Engineering
INTERNAL ASSESSMENT TEST 2 Solutions 1. Explain the working of the waitpid() API with the help of a program. The program needs to take 2 command line arguments: the first argument should be used as the
More informationProcesses. Today. Next Time. ! Process concept! Process model! Implementing processes! Multiprocessing once again. ! Scheduling processes
Processes Today! Process concept! Process model! Implementing processes! Multiprocessing once again Next Time! Scheduling processes The process model! Most computers can do more than one thing at a time
More informationCSci 4061 Introduction to Operating Systems. Processes in C/Unix
CSci 4061 Introduction to Operating Systems Processes in C/Unix Process as Abstraction Talked about C programs a bit Program is a static entity Process is an abstraction of a running program provided by
More informationCSC209H Lecture 5. Dan Zingaro. February 4, 2015
CSC209H Lecture 5 Dan Zingaro February 4, 2015 Why Makefiles? (King 15.4) C programs can contain multiple.c files that can be separately compiled to object code Let s say that our program comprises addone.c,
More informationIA32/Linux Virtual Memory Architecture
IA32/Linux Virtual Memory Architecture Basic Execution Environment Application Programming Registers General-purpose registers 31 0 EAX AH AL EBX BH BL ECX CH CL EDX DH DL EBP ESI EDI BP SI DI Segment
More informationProcesses and Threads
Process Processes and Threads A process is an abstraction that represent an executing program A program in execution An instance of a program running on a computer The entity that can be assigned to and
More informationCS 261 Fall Mike Lam, Professor. Processes
CS 261 Fall 2016 Mike Lam, Professor Processes Processes Process: instance of an executing program Independent single logical flow and private virtual address space Logical flow: sequence of executed instructions
More informationProcess. Heechul Yun. Disclaimer: some slides are adopted from the book authors slides with permission 1
Process Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission 1 Recap OS services Resource (CPU, memory) allocation, filesystem, communication, protection, security,
More informationUniversity of Texas at Arlington. CSE Spring 2018 Operating Systems Project 4a - The /Proc File Systems and mmap. Instructor: Jia Rao
University of Texas at Arlington CSE 3320 - Spring 2018 Operating Systems Project 4a - The /Proc File Systems and mmap Instructor: Jia Rao Introduction Points Possible: 100 Handed out: Apr. 20, 2018 Due
More informationCITS2002 Systems Programming. Creating a new process using fork() 1 next CITS2002 CITS2002 schedule
1 next CITS2002 CITS2002 schedule Creating a new process using fork() fork() is very unusual because it returns different values in the (existing) parent process, and the (new) child process: the value
More informationPROCESS MANAGEMENT. Operating Systems 2015 Spring by Euiseong Seo
PROCESS MANAGEMENT Operating Systems 2015 Spring by Euiseong Seo Today s Topics Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
More informationProcess. Prepared by Prof. Hui Jiang Dept. of EECS, York Univ. 1. Process in Memory (I) PROCESS. Process. How OS manages CPU usage? No.
EECS3221.3 Operating System Fundamentals No.2 Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University How OS manages CPU usage? How CPU is used? Users use CPU to run programs
More informationOperating System System Call & Debugging Technique
1 Operating System System Call & Debugging Technique 진주영 jjysienna@gmail.com System Call 2 A way for user-space programs to interact with the kernel System Call enables application programs in user-mode
More information1 Requesting for Memory
Computer Science & Engineering Department I. I. T. Kharagpur Operating System: CS33007 3rd Year CSE: 5th Semester (Autumn 2006-2007) Lecture VIII (Linux System Calls IV) Goutam Biswas Date: 22nd-23rd August,
More informationSE350: Operating Systems
SE350: Operating Systems Tutorial: The Programming Interface Main Points Creating and managing processes fork, exec, wait Example: implementing a shell Shell A shell is a job control system Allows programmer
More informationCOE518 Lecture Notes Week 2 (Sept. 12, 2011)
C)E 518 Operating Systems Week 2 September 12, 2011 1/8 COE518 Lecture Notes Week 2 (Sept. 12, 2011) Topics Creating a cloned process with fork() Running a new process with exec...() Textbook sections
More informationCSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Lecture 4: Threads
CSE120 Principes of Operating Systems Prof Yuanyuan (YY) Zhou Lecture 4: Threads Announcement Project 0 Due Project 1 out Homework 1 due on Thursday Submit it to Gradescope onine 2 Processes Reca that
More informationOperating systems and concurrency - B03
Operating systems and concurrency - B03 David Kendall Northumbria University David Kendall (Northumbria University) Operating systems and concurrency - B03 1 / 15 Introduction This lecture gives a more
More informationLoadable Kernel Modules
Loadable Kernel Modules Kevin Dankwardt, Ph.D. kevin.dankwardt@gmail.com Topics 1. Why loadable kernel modules? 2. Using Modules 3. Writing modules 4. Compiling & Installing Modules 5. Example : Simple
More informationLinux drivers - Exercise
Embedded Realtime Software Linux drivers - Exercise Scope Keywords Prerequisites Contact Learn how to implement a device driver for the Linux OS. Linux, driver Linux basic knowledges Roberto Bucher, roberto.bucher@supsi.ch
More informationCSci 4061 Introduction to Operating Systems. IPC: Basics, Pipes
CSci 4061 Introduction to Operating Systems IPC: Basics, Pipes Today Directory wrap-up Communication/IPC Test in one week Communication Abstraction: conduit for data exchange between two or more processes
More informationFoundations of Computer Systems
8-6 Foundations of Computer Systems Lecture 5: Virtual Memory Concepts and Systems October 8, 27 8-6 SE PL OS CA Required Reading Assignment: Chapter 9 of CS:APP (3 rd edition) by Randy Bryant & Dave O
More informationProcesses. q Process concept q Process model and implementation q Multiprocessing once again q Next Time: Scheduling
Processes q Process concept q Process model and implementation q Multiprocessing once again q Next Time: Scheduling The process model Computers can do more than one thing at a time Hard to keep track of
More informationปฏ บ ต การ #3. A Simple Shell Interpreter
ปฏ ต การ #3 A Simple Shell Interpreter Write a shell (read section 1.3.3 and 1.4 in text book) that is similar to Figure 1-10 but contains enough code that it actually works so you can test it. You might
More informationLecture 8: Unix Pipes and Signals (Feb 10, 2005) Yap
Lecture 8: Unix Pipes and Signals (Feb 10, 2005) Yap February 17, 2005 1 ADMIN Our Grader will be Mr. Chien-I Liao (cil217@nyu.edu). Today s Lecture, we will go into some details of Unix pipes and Signals.
More informationPage Which had internal designation P5
Intel P6 Internal Designation for Successor to Pentium Which had internal designation P5 Fundamentally Different from Pentium 1 Out-of-order, superscalar operation Designed to handle server applications
More informationProcesses: Introduction. CS 241 February 13, 2012
Processes: Introduction CS 241 February 13, 2012 1 Announcements MP2 due tomorrow Deadline and contest cutoff 11:59 p.m. Fabulous prizes on Wednesday MP3 out Wednesday: Shell (1 week) Code from this lecture
More informationPrepared by Prof. Hui Jiang Process. Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University
EECS3221.3 Operating System Fundamentals No.2 Process Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University How OS manages CPU usage? How CPU is used? Users use CPU to run
More informationThe course that gives CMU its Zip! Concurrency I: Threads April 10, 2001
15-213 The course that gives CMU its Zip! Concurrency I: Threads April 10, 2001 Topics Thread concept Posix threads (Pthreads) interface Linux Pthreads implementation Concurrent execution Sharing data
More informationCarnegie Mellon. Processes. Lecture 12, May 19 th Alexandre David. Credits to Randy Bryant & Dave O Hallaron from Carnegie Mellon
Processes Lecture 12, May 19 th 2011. Alexandre David Credits to Randy Bryant & Dave O Hallaron from Carnegie Mellon 1 Processes Defini=on: A process is an instance of a running program. One of the most
More informationVMMF: Virtual Machine Memory Forensics Based on Event Trigger Mechanism
2016 International Conference on Electronic Information Technology and Intellectualization (ICEITI 2016) ISBN: 978-1-60595-364-9 VMMF: Virtual Machine Memory Forensics Based on Event Trigger Mechanism
More informationProcess, Task, Thread. November Winter Term 2008/09 Gerd Liefländer Universität Karlsruhe(TH), System Architecture Group
System Architecture 4 Activities Process, Task, Thread November 3 2008 Winter Term 2008/09 Gerd Liefländer 2008 Universität Karlsruhe(TH), System Architecture Group 1 Overview Agenda Review Motivation
More informationFall 2015 COMP Operating Systems. Lab #3
Fall 2015 COMP 3511 Operating Systems Lab #3 Outline n Operating System Debugging, Generation and System Boot n Review Questions n Process Control n UNIX fork() and Examples on fork() n exec family: execute
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2015 Lecture 25
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 2015 Lecture 25 LAST TIME: PROCESS MEMORY LAYOUT! Explored how Linux uses IA32! All processes have a similar layout Each process has its own page table structure
More informationCS240: Programming in C
CS240: Programming in C Lecture 17: Processes, Pipes, and Signals Cristina Nita-Rotaru Lecture 17/ Fall 2013 1 Processes in UNIX UNIX identifies processes via a unique Process ID Each process also knows
More informationPROCESSES. Jo, Heeseung
PROCESSES Jo, Heeseung TODAY'S TOPICS What is the process? How to implement processes? Inter-Process Communication (IPC) 2 WHAT IS THE PROCESS? Program? vs. Process? vs. Processor? 3 PROCESS CONCEPT (1)
More informationProcesses. Jo, Heeseung
Processes Jo, Heeseung Today's Topics What is the process? How to implement processes? Inter-Process Communication (IPC) 2 What Is The Process? Program? vs. Process? vs. Processor? 3 Process Concept (1)
More informationPreview. Process Control. What is process? Process identifier The fork() System Call File Sharing Race Condition. COSC350 System Software, Fall
Preview Process Control What is process? Process identifier The fork() System Call File Sharing Race Condition COSC350 System Software, Fall 2015 1 Von Neumann Computer Architecture: An integrated set
More informationOperating systems fundamentals - B06
Operating systems fundamentals - B06 David Kendall Northumbria University David Kendall (Northumbria University) Operating systems fundamentals - B06 1 / 12 Introduction Introduction to threads Reminder
More informationThis lecture is covered in Section 4.1 of the textbook.
This lecture is covered in Section 4.1 of the textbook. A Unix process s address space appears to be three regions of memory: a read-only text region (containing executable code); a read-write region consisting
More informationOperating System Project / Lecture 1 Tasks and scheduling. Bon Keun Seo
Operating System Project / Lecture 1 Tasks and scheduling Bon Keun Seo Program: executable code Program and process Process: a running instance of a program /bin/bash Program (bash) Process 1 (bash) Process
More informationCS 550 Operating Systems Spring Process III
CS 550 Operating Systems Spring 2018 Process III 1 Recap: Memory Layout of a typical process MAX Stack Function Call Arguments, Return Address, Return Values Gap Heap Data Dynamically allocated memory
More informationOperating Systems 2230
Operating Systems 2230 Computer Science & Software Engineering Lecture 4: Operating System Services All operating systems provide service points through which a general application program may request
More informationCS Operating Systems Lab 3: UNIX Processes
CS 346 - Operating Systems Lab 3: UNIX Processes Due: February 15 Purpose: In this lab you will become familiar with UNIX processes. In particular you will examine processes with the ps command and terminate
More informationProcess Environment. Pradipta De
Process Environment Pradipta De pradipta.de@sunykorea.ac.kr Today s Topic Program to process How is a program loaded by the kernel How does kernel set up the process Outline Review of linking and loading
More informationMediaTek Log Filtering Driver Information Disclosure
MediaTek Log Filtering Driver Information Disclosure 13/04/2018 Software Affected Versions Author Severity Vendor Vendor Response MediaTek Log Filtering Driver Huawei Y6 Pro Dual SIM (Version earlier than
More informationCOP 4610: Introduction to Operating Systems (Spring 2014) Chapter 3: Process. Zhi Wang Florida State University
COP 4610: Introduction to Operating Systems (Spring 2014) Chapter 3: Process Zhi Wang Florida State University Contents Process concept Process scheduling Operations on processes Inter-process communication
More informationRecitation 8 Processes, Signals, Tshlab
15-213 Recitation 8 Processes, Signals, Tshlab 22 October 2018 1 Outline Cachelab Style Process Lifecycle Signal Handling 2 Cachelab Style Grading Style grades will be available "soon" Click on your score
More informationWhat is a Process. Preview. What is a Process. What is a Process. Process Instruction Cycle. Process Instruction Cycle 3/14/2018.
Preview Process Control What is process? Process identifier A key concept in OS is the process Process a program in execution Once a process is created, OS not only reserve space (in Memory) for the process
More informationCS510 Operating System Foundations. Jonathan Walpole
CS510 Operating System Foundations Jonathan Walpole The Process Concept 2 The Process Concept Process a program in execution Program - description of how to perform an activity instructions and static
More informationProcesses. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Processes Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Processes An instance of a program in execution. One of the most profound ideas in computer
More informationEngineering Robust Server Software
Engineering Robust Server Software Containers Isolation Isolation: keep different programs separate Good for security Might also consider performance isolation Also has security implications (side channel
More informationSystem Programming. Signals II
Content : by Dr. B. Boufama School of Computer Science University of Windsor Instructor: Dr. A. Habed adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Suspending a process 2
More informationCSE 306/506 Operating Systems Process Address Space. YoungMin Kwon
CSE 306/506 Operating Systems Process Address Space YoungMin Kwon Process s Address Space Memory allocation for user processes On request, a right to use a new range of linear address is given to the process
More informationLAB 2: PROCESS SYNCHRONIZATION IN XV6
Fall 2018 - CS/COE 1550 LAB 2: PROCESS SYNCHRONIZATION IN XV6 In this lab, you will implement a synchronization solution using locks and condition variables to guarantee a specific execution ordering among
More informationCorey: An Operating System For Many Cores
Corey: An Operating System For Many Cores Silas Boyd-Wickizer Haibo Chen Rong Chen Yandong Mao Frans Kaashoek Robert Morris Aleksey Pesterev Lex Stein Ming Wu Yuehua Dai Yang Zhang Zheng Zhang MIT Fudan
More informationRecitation Processes, Signals,UNIX error handling
15-213 Recitation Processes, Signals,UNIX error handling Section X - TA name 18 March 2019 Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition 1 Outline Logistics Process
More informationl Tree: set of nodes and directed edges l Parent: source node of directed edge l Child: terminal node of directed edge
Trees & Heaps Week 12 Gaddis: 20 Weiss: 21.1-3 CS 5301 Fa 2016 Ji Seaman 1 Tree: non-recursive definition Tree: set of nodes and directed edges - root: one node is distinguished as the root - Every node
More informationNetwork Socket Programming - 1 BUPT/QMUL
Network Socket Programming - 1 BUPT/QMUL 2017-03-13 Review Basic network definitions Terms for Network Devices Terms for Network Performance Parameters Ways to connect to the Internet Terms for Network
More informationLesson 2. process id = 1000 text data i = 5 pid = 1200
Lesson 2 fork: create a new process. The new process (child process) is almost an exact copy of the calling process (parent process). In this method we create an hierarchy structure for the processes,
More informationIntel P The course that gives CMU its Zip! P6/Linux Memory System November 1, P6 memory system. Review of abbreviations
15-213 The course that gives CMU its Zip! P6/Linux ory System November 1, 01 Topics P6 address translation Linux memory management Linux fault handling memory mapping Intel P6 Internal Designation for
More informationComputer Systems Assignment 2: Fork and Threads Package
Autumn Term 2018 Distributed Computing Computer Systems Assignment 2: Fork and Threads Package Assigned on: October 5, 2018 Due by: October 12, 2018 1 Understanding fork() and exec() Creating new processes
More informationCSE3320 Operating Systems Processes Jia Rao
CSE3320 Operating Systems Prcesses Jia Ra Department f Cmputer Science and Engineering http://ranger.uta.edu/~jra Recap f the Last Class Cmputer hardware Time-sharing Space-sharing Characteristics } Lcality,
More informationLinux Device Drivers
Linux Device Drivers Modules A piece of code that can be added to the kernel at runtime is called a module A device driver is one kind of module Each module is made up of object code that can be dynamically
More informationThread and Synchronization
Thread and Synchronization Task Model (Module 18) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Real-time Systems Lab, Computer Science and Engineering, ASU Why Talk About
More informationPreview. Process Termination. wait and waitpid() System Call. wait and waitpid() System Call. waitpid() System Call 10/23/2018
Preview Process Termination The waitpid() System Call The system() System Call Concept of Signals Linux Signals The signal System Call Unreliable Signals Signal() System Call The kill() and raise() System
More informationScrivere device driver su Linux. Better Embedded 2012 Andrea Righi
Scrivere device driver su Linux Agenda Overview Kernel-space vs user-space programming Hello, world! kernel module Writing a character device driver Example(s) Q/A Overview What's a kernel? The kernel
More informationProcess Turnaround Time Total Wait Time P 1 12 ms 0 ms P 2 21 ms 12 ms P 3 23 ms 18 ms P 4 20 ms 17 ms
Name: SOLUTIONS Score: / 100 CSCI-4210/6140 Operating Systems Midterm Exam Thursday 10/9 1-PAGE (2-SIDED) CRIB SHEET ALLOWED; NO CALCULATOR ANSWER ALL QUESTIONS; USE EXTRA PAPER AS NECESSARY 1. [25 POINTS]
More informationProcess. Heechul Yun. Disclaimer: some slides are adopted from the book authors slides with permission
Process Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission 1 Recap OS services Resource (CPU, memory) allocation, filesystem, communication, protection, security,
More informationUniversity of Colorado at Colorado Springs CS4500/ Fall 2018 Operating Systems Project 1 - System Calls and Processes
University of Colorado at Colorado Springs CS4500/5500 - Fall 2018 Operating Systems Project 1 - System Calls and Processes Instructor: Yanyan Zhuang Total Points: 100 Out: 8/29/2018 Due: 11:59 pm, Friday,
More informationProcesses. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Processes Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu OS Internals User space shell ls trap shell ps Kernel space File System Management I/O
More information