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
กระบวนการ
- การบรรยายนี้เริ่มเรียนส่วนที่ครอบคลุมกระบวนการผลิตและทำข้อมูลให้ตรงกัน
หัวข้อ แต่ละหัวข้อเหล่านี้บางทีที่สำคัญที่สุดในคลาส
- คุณสามารถมั่นใจได้ว่าพวกเขาจะครอบคลุมในการสอบ
- หัวข้อวันนี้มีกระบวนการและขั้นตอนการจัดการ
- สิ่งที่เป็นหน่วยของการประหารชีวิต
- เป็นหน่วยของการเป็นตัวแทนใน OS ?
- อะไรคือที่สุดของกระบวนการรัฐประหาร ?
- ทำไมกระบวนการย้ายจากสถานะหนึ่งไปยังอีก ?
ผู้ใช้ โปรแกรมบริการผู้ใช้มีบัญชีบนระบบ
-
ผู้ใช้เปิดโปรแกรมบริการผู้ใช้หลายคนอาจจะเปิดโปรแกรมเดียวกัน
- ผู้ใช้คนหนึ่งอาจจะเปิดตัวหลายอินสแตนซ์ของแต่ละโปรแกรม
เหมือนกัน แล้วอะไรคือกระบวนการ ?
- ขั้นตอนกระบวนการเป็น OS ที่เป็นนามธรรมสำหรับการดำเนินการ
- มันคือหน่วยปฏิบัติการ
- มันคือหน่วยของการตั้งเวลา
- มันเป็นแบบไดนามิกตามบริบทของโปรแกรม
- กระบวนการบางครั้งเรียกว่างาน หรืองาน หรือกระบวนการ
-
( ชีวิตจริงเปรียบเทียบ ?
คล้ายคลึง : หุ่นยนต์โครงการรับ - cs317
: ขั้นตอนการเข้าร่วมบรรยาย
- ขั้นตอนที่ 1 : เดินไป lab622
- ขั้นที่ 2 : ค้นหานั่ง
- ขั้นตอนที่ 3 : ฟัง ( หรือนอน )
-
: เข้าร่วมฟังบรรยาย กระบวนการการกระทำ - -
คุณทั้งหมด ในช่วงกลางของกระบวนการ
ดังนั้นอะไรคือกระบวนการ ?
- กระบวนการเป็นโปรแกรมในการรัน -
มันเป็นหนึ่งตัวอย่างของโปรแกรม
- มันแยกจากคนอื่น ๆสามารถเริ่มต้น (
-
" เปิด " ) กระบวนการอื่น ๆ - มันสามารถเปิดได้
- กระบวนการของรัฐ กระบวนการมีการบ่งชี้ว่า รัฐ
- มันกำลังวิ่งมาการรันคำสั่งบน CPU
- มันเป็นกระบวนการที่มีการควบคุมของซีพียู
- วิธีการหลายกระบวนการที่สามารถในการทำงานของรัฐได้พร้อมกัน
- พร้อม : รอที่จะมอบหมายให้ CPU
- พร้อมที่จะดำเนินการ แต่ก็คือกระบวนการรันบน CPU
- รอ : รอเหตุการณ์ เช่น I / O -
มันไม่สามารถทำให้ความคืบหน้าจนจบเหตุการณ์เป็นสัญญาณ ( ดิสก์เสร็จสมบูรณ์ )
- เป็นขั้นตอนดำเนินการ มันย้ายจากรัฐ
- ยูนิกซ์ " PS " : สถิติคอลัมน์บ่งชี้รัฐประหาร
ถาม - สถานะอะไรคุณคิดว่าเป็นกระบวนการในส่วนของ
เวลา ? สำหรับเครื่องประมวลผล uni
-
กี่กระบวนการสามารถในการทํางานของรัฐ ? ประโยชน์ของ multi -
- ?
บริการกระบวนการองค์ประกอบกระบวนการรัฐบริการใหม่ , พร้อม , วิ่ง , รอ , ยุติ ;
-
โปรแกรมเคาน์เตอร์- ที่อยู่ของคำสั่งถัดไปที่จะดำเนินการขั้นตอนนี้
;
-
- ลงทะเบียนลงทะเบียน CPU ดัชนีตัวชี้สแต็ค , ทะเบียนวัตถุประสงค์ทั่วไป ;
-
- กำหนดการซีพียูกระบวนการข้อมูลสําคัญ ;
-
- หน่วยความจำการจัดการข้อมูลฐาน / จํากัดข้อมูลเสมือนจริง -- > แผนที่กายภาพ ฯลฯ
- ข้อมูล บัญชี - เวลาที่ จำกัด จำนวนของกระบวนการ แต่ละ I / O
ข้อมูลสถานะเจ้าของอุปกรณ์บริการรายชื่อของ I / O การกระบวนการ ;
-
- ที่อยู่พื้นที่หน่วยความจำมองเห็นกระบวนการหนึ่ง
แต่ละอินสแตนซ์ของโปรแกรมอยู่เสมอเดียวกัน
-
- แต่ค่าที่แตกต่างกันความหมาย ?
- โปรแกรมไม่เจอกัน
- แต่พวกเขาคิดว่า พวกเขาจะใช้ที่อยู่เดียวกัน
-
- ข้อสรุปที่อยู่ไม่ใช่ทางกายภาพ " ความทรงจำ "
- ยังไง ?
-
การทำแผนที่หน่วยความจำ- สิ่งที่เป็นประโยชน์ ?
ทำไมกระบวนการข้อมูลโครงสร้างระบบปฏิบัติการแสดงกระบวนการใน kernel ?
- ในเวลาใด ๆ มีหลายกระบวนการในระบบ , ในแต่ละรัฐของ - โดยเฉพาะ
ข้อมูลโครงสร้างของ OS แต่ละกระบวนการที่เรียกว่ากระบวนการควบคุมบล็อก
- ( PCB ) PCB มีทั้งหมดของข้อมูลเกี่ยวกับกระบวนการ
- PCB ยังเป็นที่ OS ช่วยให้ทั้งหมดของ
ฮาร์ดแวร์กระบวนการ 'รัฐประหาร ( PC , SP , regs ฯลฯ ) เมื่อกระบวนการไม่ได้ใช้
-
รัฐทุกอย่างที่จำเป็นเพื่อเรียกคืนฮาร์ดแวร์
สถานะเดียวกันมันคือเมื่อกระบวนการถูกเปลี่ยนตัวออกจากฮาร์ดแวร์
ทำไมเราต้องการ PCB ?
-
- คล้ายคลึง : ที่นั่งรถหน่วยความจำ ถ้ายุนและหมอมร่วมรถคันเดียวกัน
, ต้องการจะปรับที่นั่งทุกครั้งที่เรา
สลับ
การแปล กรุณารอสักครู่..