Remote Process Explorer

Slides:



Advertisements
Similar presentations
3.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Process An operating system executes a variety of programs: Batch system.
Advertisements

CSC 501 Lecture 2: Processes. Von Neumann Model Both program and data reside in memory Execution stages in CPU: Fetch instruction Decode instruction Execute.
The Process Model.
Process in Unix, Linux and Windows CS-3013 C-term Processes in Unix, Linux, and Windows CS-3013 Operating Systems (Slides include materials from.
CS-502 Fall 2006Processes in Unix, Linux, & Windows 1 Processes in Unix, Linux, and Windows CS502 Operating Systems.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Unix & Windows Processes 1 CS502 Spring 2006 Unix/Windows Processes.
Processes in Unix, Linux, and Windows CS-502 Fall Processes in Unix, Linux, and Windows CS502 Operating Systems (Slides include materials from Operating.
Process. Process Concept Process – a program in execution Textbook uses the terms job and process almost interchangeably A process includes: – program.
BINA RAMAMURTHY UNIVERSITY AT BUFFALO System Structure and Process Model 5/30/2013 Amrita-UB-MSES
The Programming Interface. Main Points Creating and managing processes – fork, exec, wait Performing I/O – open, read, write, close Communicating between.
Lecture Topics: 11/3 Address spaces Memory protection Creating a process –NT style –Unix style.
Process in Unix, Linux, and Windows CS-3013 A-term Processes in Unix, Linux, and Windows CS-3013 Operating Systems (Slides include materials from.
Exercise #2: Process Creation/Termination and Interprocess Communication J. H. Wang Mar. 30, 2010.
System V IPC Provides three mechanisms for InterProcess Communication (IPC) : Messages : exchange messages with any process or server. Semaphores : allow.
ITEC 502 컴퓨터 시스템 및 실습 Chapter 2-1: Process Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Synonyms: A _______ is a unit of software that is capable of executing concurrently with other similar units. _______ -- user-defined process in Ada _________.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
CS 153 Design of Operating Systems Spring 2015 Lecture 5: Processes and Threads.
CS4315A. Berrached:CMS:UHD1 Process Management Chapter 6.
Fall 2002 CS 325 Class Notes Page 1 Lecture 25 Today –exec() in Unix –CreateProcess in Windows Announcements.
2.1 Processes  process = abstraction of a running program.
CSCI 330 UNIX and Network Programming Unit XII: Process & Pipe Part 1.
Chapter 5 Process API Chien-Chung Shen CIS, UD
Tutorial 3. In this tutorial we’ll see Fork() and Exec() system calls.
2.1 Processes  process = abstraction of a running program  multiprogramming = CPU switches from running program to running program  pseudoparallelism.
Direct memory access. IO Command includes: buffer address buffer length read or write dada position in disk When IO complete, DMA sends an interrupt request.
CS241 Systems Programming Discussion Section Week 2 Original slides by: Stephen Kloder.
Chapter 3 The Programming Interface Chien-Chung Shen CIS/UD
A process is a program in execution A running system consists of multiple processes – OS processes Processes started by the OS to do “system things” –
Topic 3 (Textbook - Chapter 3) Processes
Protection of System Resources
Chapter 4: Threads.
Chapter 5: Threads Overview Multithreading Models Threading Issues
Chapter 5: Threads Overview Multithreading Models Threading Issues
Unix Process Management
Chien-Chung Shen CIS, UD
Operating Systems: A Modern Perspective, Chapter 6
Chapter 3: Processes.
Processes in Unix, Linux, and Windows
Example questions… Can a shell kill itself? Can a shell within a shell kill the parent shell? What happens to background processes when you exit from.
System Structure and Process Model
Chapter 3: Processes.
System Structure and Process Model
Processes in Unix, Linux, and Windows
CGS 3763 Operating Systems Concepts Spring 2013
Chapter 5: Threads Overview Multithreading Models Threading Issues
System Structure B. Ramamurthy.
CGS 3763 Operating Systems Concepts Spring 2013
Processes in Unix, Linux, and Windows
2.1 Processes process = abstraction of a running program
System Structure and Process Model
CGS 3763 Operating Systems Concepts Spring 2013
Chapter 3: Processes.
Lab 5 Process Control Operating System Lab.
Process Creation Process Termination
Tutorial 3 Tutorial 3.
Unix System Calls and Posix Threads
Process Programming Interface
Tutorial: The Programming Interface
Programming with Shared Memory
Programming with Shared Memory
Processes in Unix, Linux, and Windows
Implementing Processes, Threads, and Resources
Chapter 5: Threads Overview Multithreading Models Threading Issues
Processes in Unix and Windows
Outline Process Management Process manager Hardware process
EECE.4810/EECE.5730 Operating Systems
Presentation transcript:

Remote Process Explorer

Processes Windows The Microsoft Windows NT operating system supports both models of process creation: the parent's address space may be duplicated then the program be loaded into new address space, or the parent may specify the name of a program for the operating system to load into the newly created address space at once. In Windows CreateProcess() starts execution of the new process from the beginning but in unix fork() starts execution after the point fork() was called. there is no equivalent function for fork() in win32API. The underlying API in Windows NT is certainly capable of performing a "fork“ However, this is not exposed by the Win32 API. So, you need to bypass Win32 and call the native API ({Nt|Zw}CreateProcess) The book "Windows Nt/2000 Native Api Reference" has an example "Forking a Win32 Process".

Create Processes

Parent Process if(CreateProcess(".\\hello1.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) { printf( "This is Parent, my PID=(%d): Creating Child1: PID=(%d)\n", _getpid(), pi.dwProcessId ); } else { printf( "CreateProcess1 failed (%d)\n", GetLastError() ); getch(); return;   if(CreateProcess(".\\hello2.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &sj, &pj)) { printf( "This is Parent, my PID=(%d): Creating Child2: PID=(%d)\n", _getpid(), pj.dwProcessId ); { printf( "CreateProcess2 failed (%d)\n", GetLastError() ); // Wait until child processes exit. WaitForSingleObject( pi.hProcess, INFINITE ); WaitForSingleObject( pj.hProcess, INFINITE );

Child “Hello.exe”