Processes
• This lecture starts a class segment that covers processes,
threads, and synchronization
• These topics are perhaps the most important in this class
• You can rest assured that they will be covered in the exams
• Today’s topics are processes and process management
• What are the units of execution?
• How are those units of execution represented in the OS?
• What are the possible execution states of a process?
• How does a process move from one state to another?
Users, Programs
• Users have accounts on the system
• Users launch programs
• Many users may launch the same program
• One user may launch many instances of the same
program
• Then what is a process?
The Process
• The process is the OS abstraction for execution
• It is the unit of execution
• It is the unit of scheduling
• It is the dynamic execution context of a program
• A process is sometimes called a job or a task or a
sequential process
• Real life analogy?
Analogy: A robot taking CS317
• Program: steps for attending the lecture
• Step 1: walk to LAB622
• Step 2: find a seat
• Step 3: listen (or sleep)
• Process: attending the lecture
• Action
• You are all in the middle of a process
So what is a process?
• A process is a program in execution
• It is one executing instance of a program
• It is separated from other instances
• It can start (“launch”) other processes
• It can be launched by them
Process State
• A process has an execution state that indicates what it is
currently doing
• Running: Executing instructions on the CPU
• It is the process that has control of the CPU
• How many processes can be in the running state simultaneously?
• Ready: Waiting to be assigned to the CPU
• Ready to execute, but another process is executing on the CPU
• Waiting: Waiting for an event, e.g., I/O completion
• It cannot make progress until event is signaled (disk completes)
• As a process executes, it moves from state to state
• Unix “ps”: STAT column indicates execution state
Questions
• What state do you think a process is in most of the
time?
• For a uni-processor machine, how many processes
can be in running state?
• Benefit of multi-core?
Process Components
• Process State
• new, ready, running, waiting, terminated;
• Program Counter
• the address of the next instruction to be executed for this
process;
• CPU Registers
• index registers, stack pointers, general purpose registers;
• CPU Scheduling Information
• process priority;
• Memory Management Information
• base/limit information, virtual->physical mapping, etc
• Accounting Information
• time limits, process number; owner
• I/O Status Information
• list of I/O devices allocated to the process;
• An Address Space
• memory space visible to one process
Instances of Programs
• The address was always the same
• But the values were different
• Implications?
• The programs aren’t seeing each other
• But they think they’re using the same address
• Conclusions
• addresses are not the “physical memory”
• How?
• Memory mapping
• What is the benefit?
Process Data Structures
How does the OS represent a process in the kernel?
• At any time, there are many processes in the system, each in its
particular state
• The OS data structure representing each process is called the
Process Control Block (PCB)
• The PCB contains all of the info about a process
• The PCB also is where the OS keeps all of a process’ hardware
execution state (PC, SP, regs, etc.) when the process is not
running
• This state is everything that is needed to restore the hardware to the
same state it was in when the process was switched out of the
hardware
Why we need PCB?
• Analogy: car seat memory
• If Yoon and doctor Im share the same
car, need to re-adjust seat every time we
switch
กระบวนการ•บรรยายนี้เริ่มเซกเมนต์ระดับที่ครอบคลุมกระบวนการหัวข้อ และซิงโครไนส์•หัวข้อเหล่านี้มีบางทีที่สุดสำคัญในชั้นนี้•คุณสามารถวางใจว่า พวกเขาจะสามารถครอบคลุมในข้อสอบ•หัวข้อวันนี้คือ กระบวนการและกระบวนการจัดการ•หน่วยปฏิบัติการคืออะไร•วิธีหน่วยของการดำเนินการแสดงในระบบปฏิบัติการหรือไม่•รัฐการดำเนินการเป็นไปได้ของกระบวนการคืออะไร•วิธีกระบวนการย้ายจากสถานะหนึ่งไปยังอีกหรือไม่ผู้ใช้ โปรแกรม•ผู้ใช้มีบัญชีบนระบบ•ผู้ใช้เปิดใช้โปรแกรม•ผู้ใช้จำนวนมากอาจเปิดโปรแกรมเดียวกัน•ผู้ใช้หนึ่งรายอาจเปิดใช้อินสแตนซ์หลายของเดียวกันโปรแกรม•แล้ว มีกระบวนการอะไรกระบวนการ•การเป็น abstraction OS สำหรับการดำเนินการ•เป็นหน่วยดำเนินการ•เป็นหน่วยของการวางแผน•เป็นบริบทการดำเนินการแบบไดนามิกของโปรแกรม• A กระบวนการบางครั้งเรียกว่าการงานหรืองานหรือกระบวนการตามลำดับ•เปรียบเทียบชีวิตจริงหรือไม่เปรียบเทียบ: หุ่นยนต์ทำ CS317•โปรแกรม: ขั้นตอนการเข้าร่วมการบรรยาย•ขั้นตอนที่ 1: เดินไป LAB622•ขั้นตอนที่ 2: ค้นหานั่ง•ขั้นตอนที่ 3: ฟัง (หรือนอน)•กระบวนการ: เข้าร่วมการบรรยาย•การดำเนินการ•คุณอยู่ในระหว่างกระบวนการทั้งหมดดังนั้น อะไรคือกระบวนการกระบวนการ• A เป็นโปรแกรมในการดำเนินการ•เป็นหนึ่งดำเนินการอินสแตนซ์ของโปรแกรม•มันถูกแยกออกจากอินสแตนซ์อื่น ๆ•จะสามารถเริ่มต้น ("เปิด") กระบวนการอื่น ๆ•สามารถเปิดใช้ โดยพวกเขาสถานะของกระบวนการ•เป็นกระบวนการที่มีสถานะการดำเนินการว่ามันคืออะไรทำอยู่ในปัจจุบัน•ทำงาน: ดำเนินการคำสั่งใน CPU•เป็นกระบวนการที่มีการควบคุมของ CPU•กระบวนการสามารถอยู่ในสถานะทำงานพร้อมกัน•พร้อม: รอให้กับ CPU•พร้อมที่จะดำเนินการ แต่การดำเนินการอื่นกำลังดำเนินการบน CPU•รอ: รอเหตุการณ์ เช่น ความสมบูรณ์ของ I/O•ก็ไม่ทำให้ความคืบหน้าจนกว่าสัญญาณเหตุการณ์ (ดิสก์เสร็จสมบูรณ์)•เป็นกระบวนการดำเนินการ ย้ายจากรัฐ• Unix "ps": STAT คอลัมน์บ่งชี้สถานะการดำเนินการคำถาม•สิ่งรัฐคุณคิดว่า กระบวนการจะเป็นการเวลา•สำหรับเครื่องประมวลผลยูนิ กระบวนการสามารถอยู่ในสถานะการทำงาน•ประโยชน์ของหลายหลักหรือไม่ส่วนประกอบกระบวนการ•กระบวนการรัฐ•ใหม่ พร้อม ทำงาน รอ จบ•โปรแกรมเคาน์เตอร์•อยู่ของคำสั่งถัดไปเพื่อดำเนินการนี้กระบวนการ• CPU ลงทะเบียน•ดัชนีทะเบียน ตัวชี้สแตก ทะเบียนวัตถุประสงค์ทั่วไป• CPU ข้อมูลการจัดกำหนดการ•กระบวนการสำคัญ •ข้อมูลการจัดการหน่วยความจำ•ฐาน/ข้อมูลวงเงิน เสมือน--> แผนที่ทางกายภาพ ฯลฯ•บัญชีข้อมูล•เวลา หมายเลขกระบวนการ เจ้าของ• I/O สถานะข้อมูล•รายการอุปกรณ์ I/O ที่ปันส่วนไปยังกระบวนการ•เป็นพื้นที่ที่อยู่•หน่วยความจำพื้นที่มองเห็นกระบวนการหนึ่งอินสแตนซ์ของโปรแกรม•อยู่เสมอ• But the values were different• Implications?• The programs aren’t seeing each other• But they think they’re using the same address• Conclusions• addresses are not the “physical memory”• How?• Memory mapping• What is the benefit?Process Data StructuresHow does the OS represent a process in the kernel?• At any time, there are many processes in the system, each in itsparticular state• The OS data structure representing each process is called theProcess Control Block (PCB)• The PCB contains all of the info about a process• The PCB also is where the OS keeps all of a process’ hardwareexecution state (PC, SP, regs, etc.) when the process is notrunning• This state is everything that is needed to restore the hardware to thesame state it was in when the process was switched out of thehardwareWhy we need PCB?• Analogy: car seat memory• If Yoon and doctor Im share the samecar, need to re-adjust seat every time weswitch
การแปล กรุณารอสักครู่..