กลับไปหน้าบทความ

อ่าน 4 นาที

บล็อกควบคุมหน่วย

ใน ระบบปฏิบัติการ เมนเฟรมของ IBM อย่าง OS/360 และรุ่นต่อมานั้น Unit Control Block ( UCB ) คือ โครงสร้างหน่วยความจำ หรือ บล็อกควบคุม ที่อธิบาย อุปกรณ์ต่อพ่วง อินพุต/เอาต์พุต...

บล็อกควบคุมหน่วย

ในระบบปฏิบัติการเมนเฟรมของ IBM อย่าง OS/360 และรุ่นต่อมานั้น Unit Control Block ( UCB ) คือโครงสร้างหน่วยความจำหรือบล็อกควบคุม ที่อธิบาย อุปกรณ์ต่อพ่วงอินพุต/เอาต์พุตแต่ละตัว( หน่วย ) หรือส่วนที่เปิดเผย (นามแฝง) ต่อระบบปฏิบัติการ ข้อมูลบางส่วนภายใน UCB ยังสั่งการให้Input/Output Supervisor ( IOS ) ใช้ซับรูทีนแบบปิดบางอย่างเพิ่มเติมจากการประมวลผล IOS ปกติ เพื่อควบคุมอุปกรณ์ทางกายภาพเพิ่มเติม

ระบบปฏิบัติการอื่นๆ บางระบบก็มีโครงสร้างที่คล้ายคลึงกัน

ภาพรวม

ระหว่างการโหลดโปรแกรมเริ่มต้น (IPL) ของ ระบบ MVS ปัจจุบัน [ a ] โปรแกรมเริ่มต้น Nucleus (NIP) จะอ่านข้อมูลที่จำเป็นจากไฟล์คำจำกัดความ I/O (IODF) และใช้ข้อมูลนั้นในการสร้าง UCB UCB จะถูกจัดเก็บไว้ในหน่วยความจำของระบบ ในพื้นที่คิวระบบขยาย ( ESQA ) หลังจาก IPL เสร็จสมบูรณ์ UCB จะเป็นของฝ่ายสนับสนุนอินพุต/เอาต์พุต ข้อมูลบางส่วนที่จัดเก็บใน UCB ได้แก่ ประเภทของอุปกรณ์ (เช่น ดิสก์ เทป เครื่องพิมพ์ เทอร์มินัล) ที่อยู่ของอุปกรณ์ (เช่น1002 ) ตัวระบุซับแชนเนลและหมายเลขอุปกรณ์ รหัสเส้นทางแชนเนล (CHPID) ซึ่งกำหนดเส้นทางไปยังอุปกรณ์ สำหรับอุปกรณ์บางชนิดหมายเลขซีเรียลของวอลุ่ม (VOLSER) และข้อมูลอื่นๆ อีกมากมาย รวมถึงข้อมูลการจัดการงานของระบบปฏิบัติการ

แม้ว่าเนื้อหาของ UCB จะเปลี่ยนแปลงไปตามวิวัฒนาการของ MVS แต่แนวคิดยังคงเหมือนเดิม UCB เป็นตัวแทนของอุปกรณ์ภายนอกสำหรับระบบปฏิบัติการ ภายใน UCB ทุกตัวจะมีตัวชี้ UCBIOQ ไปยังองค์ประกอบคิว IOS ปัจจุบัน [ 1 ] [ 2 ] (IOQ), ตัวชี้ UCBIOQF และ UCBIOQL [ 3 ]ไปยังคิวของ IOQ [ b ] (IOQ) และหมายเลขซับแชนเนลสำหรับคำระบุซับแชนเนลที่ใช้ในคำสั่งเริ่มซับแชนเนล (SSCH) เพื่อเริ่มโปรแกรมช่องสัญญาณ (ชุดคำสั่งช่องสัญญาณ (CCW)) [ 4 ]

UCB ได้รับการพัฒนาให้เป็นจุดยึดเพื่อเก็บข้อมูลและสถานะเกี่ยวกับอุปกรณ์ ปัจจุบัน UCB มีพื้นที่ 5 ส่วนที่ใช้สำหรับอินเทอร์เฟซภายนอก ได้แก่ Device Class Extension, UCB Common Extension, UCB Prefix Stub, UCB Common Segment และ UCB Device Dependent Segment [ 1 ]พื้นที่อื่นๆ ใช้ภายในเท่านั้น ข้อมูลนี้สามารถอ่านและใช้เพื่อกำหนดข้อมูลเกี่ยวกับอุปกรณ์ได้

ในการใช้งานOS/360 ในยุคแรกๆ นั้น UCB (ทั้งส่วนพื้นฐานและส่วนขยาย) จะถูกสร้างขึ้นระหว่างกระบวนการ SYSGEN และจะอยู่ภายในพื้นที่ระบบ 64 กิโลไบต์แรก เนื่องจากตารางค้นหาอุปกรณ์ I/O ประกอบด้วยที่อยู่แบบ 16 บิต การปรับปรุงในภายหลังทำให้ส่วนขยายสามารถอยู่เหนือเส้น 64 กิโลไบต์ (65,536 ไบต์) ได้ ซึ่งจะช่วยประหยัดพื้นที่สำหรับส่วนพื้นฐาน UCB เพิ่มเติมที่อยู่ด้านล่างเส้น 64 กิโลไบต์ และยังช่วยรักษาโครงสร้างของตารางค้นหา UCB (โดยการแปลง CUu เป็นที่อยู่ส่วนพื้นฐาน UCB) ในที่สุด การติดตั้งสามารถเลือกที่จะวาง UCB ไว้เหนือเส้น 16 MiB ได้ แม้ว่าในกระบวนการที่เรียกว่าการซ่อน UCB นั้น ระบบปฏิบัติการจะสร้างสำเนาชั่วคราวของ UCB ในเครื่องเมื่อจัดสรรไฟล์โดยไม่ใช้ตัวเลือก XTIOT ก็ตาม

การจัดการการทำงานของอินพุต/เอาต์พุตแบบขนาน

UCB ถูกนำมาใช้ครั้งแรกในทศวรรษ 1960 พร้อมกับ OS/360 ในเวลานั้น อุปกรณ์ที่ใช้ UCB มักจะเป็นฮาร์ดดิสก์ไดรฟ์แบบ หัวอ่านเคลื่อนที่ หรือไดรฟ์เทปที่ไม่มีแคช ภายใน หากไม่มีแคช อุปกรณ์นั้นมักจะทำงานได้ด้อยกว่าโปรเซสเซอร์ช่องสัญญาณ ของเมนเฟรมอย่างมาก ดังนั้นจึงไม่มีเหตุผลที่จะดำเนินการป้อนข้อมูล/ส่งออกหลายรายการพร้อมกัน เนื่องจากอุปกรณ์นั้นไม่สามารถจัดการได้ ในปี 1968 IBMได้เปิดตัวดิสก์แบบหัวอ่านคงที่ 2305-1 และ 2305-2 ซึ่งมีระบบตรวจจับตำแหน่งการหมุน (RPS) และมีแปดช่องรับข้อมูล (ที่อยู่นามแฝง) ต่อดิสก์ การสนับสนุนของ OS/360 ให้ UCB ต่อช่องรับข้อมูลเพื่อให้สามารถใช้งานโปรแกรมช่องสัญญาณหลายโปรแกรมพร้อมกันได้[ 5 ]ในทำนองเดียวกัน ระบบรุ่นหลังที่พัฒนามาจาก OS/360 ต้องใช้ UCB เพิ่มเติมสำหรับแต่ละวอลุ่มเสมือนที่จัดสรรไว้ในระบบจัดเก็บข้อมูลขนาดใหญ่ IBM 3850 (MSS) [ 6 ]และสำหรับแต่ละการเปิดเผยบน 3880-11 และรุ่นต่อมา[ 7 ] [ 8 ]

วอลุ่มการเข้าถึงแบบขนาน (PAVs)

เนื่องจากสามารถเรียกใช้ชุดคำสั่งช่องสัญญาณหรืออินพุต/เอาต์พุตได้เพียงชุดเดียวในแต่ละครั้ง ซึ่งก็ใช้ได้ดีในยุค 1960 เมื่อซีพียูทำงานช้า และการประมวลผลอินพุต/เอาต์พุตทำได้เร็วเท่าที่ซีพียูจะประมวลผลได้เท่านั้น แต่เมื่อระบบพัฒนาขึ้นและความเร็วของซีพียูแซงหน้าความสามารถในการรับอินพุต/เอาต์พุตไปมาก การเข้าถึงอุปกรณ์ที่ถูกจัดลำดับที่ระดับ UCB จึงกลายเป็นปัญหาคอขวดอย่างร้ายแรง

Parallel Access Volume ( PAV ) อนุญาตให้ UCB คัดลอกตัวเองเพื่อให้สามารถทำงาน I/O หลายรายการพร้อมกันได้ ด้วยการสนับสนุนที่เหมาะสมจากฮาร์ดแวร์ DASD PAV จะให้การสนับสนุน I/O มากกว่าหนึ่งครั้งต่ออุปกรณ์เดียวในเวลาเดียวกัน เพื่อรักษาความเข้ากันได้กับเวอร์ชันก่อนหน้าการทำงานต่างๆ ยังคงถูกจัดลำดับไว้ต่ำกว่าระดับ UCB แต่ PAV อนุญาตให้กำหนด UCB เพิ่มเติมให้กับอุปกรณ์เชิงตรรกะเดียวกัน โดยแต่ละ UCB ใช้ ที่อยู่ นามแฝง เพิ่มเติม ตัวอย่างเช่น อุปกรณ์ DASD ที่ ที่อยู่ ฐาน 1000 อาจมีที่อยู่นามแฝง 1001, 1002 และ 1003 ที่อยู่นามแฝงแต่ละอันจะมี UCB ของตัวเอง เนื่องจากขณะนี้มี UCB สี่ตัวสำหรับอุปกรณ์เดียว จึงสามารถทำงาน I/O พร้อมกันได้สี่รายการ การเขียนไปยังพื้นที่เดียวกัน ซึ่งก็คือพื้นที่ของดิสก์ที่กำหนดให้กับพื้นที่ต่อเนื่องของไฟล์ จะยังคงถูกจัดลำดับ แต่การอ่านและการเขียนอื่นๆ จะเกิดขึ้นพร้อมกัน ในเวอร์ชันแรกของ PAV ตัวควบคุมดิสก์จะกำหนด PAV ให้กับ UCB ในเวอร์ชันที่สองของการประมวลผล PAV นั้นWorkload Manager (WLM) จะกำหนด PAV ใหม่ให้กับ UCB ใหม่เป็นระยะๆ ส่วนในเวอร์ชันที่สามของการประมวลผล PAV ซึ่งใช้กับซีรี่ส์ IBM DS8000นั้น แต่ละ I/O จะใช้ PAV ที่ว่างอยู่กับ UCB ที่ต้องการ

ผลโดยรวมของ PAV คือการลดส่วนประกอบเวลา IOSQ ของเวลาตอบสนองของดิสก์ ซึ่งมักจะเหลือศูนย์ ณ ปี 2007 ข้อจำกัดเพียงอย่างเดียวของ PAV คือจำนวนที่อยู่นามแฝง 255 ที่อยู่ต่อที่อยู่ฐาน และจำนวนอุปกรณ์โดยรวมต่อหน่วยควบคุมเชิงตรรกะ 256 เมื่อนับรวมที่อยู่ฐานและนามแฝง

ไฮเปอร์พีเอวี

การดำเนินการของ WLM ในการย้ายนามแฝงจากอุปกรณ์ดิสก์หนึ่งไปยังอีกอุปกรณ์หนึ่งใช้เวลาสองสามวินาทีจึงจะเห็นผลลัพธ์ ในหลายสถานการณ์ ความเร็วนี้ไม่เพียงพอ HyperPAV ตอบสนองได้เร็วกว่ามาก เนื่องจากจะได้รับ UCB จากพูลในช่วงเวลาของการดำเนินการ I/O เพียงครั้งเดียว ก่อนที่จะส่งคืนไปยังพูล ดังนั้นจึงต้องการ UCB จำนวนน้อยกว่าเพื่อรองรับปริมาณงานเดียวกัน เมื่อเทียบกับ Dynamic PAV ไม่มีการหน่วงเวลาในการรอให้ WLM ตอบสนอง[ 9 ]

ในระบบปฏิบัติการอื่นๆ

ระบบปฏิบัติการ VMSของ Digital ใช้โครงสร้างที่มีชื่อเดียวกันคือ UCB เพื่อวัตถุประสงค์ที่คล้ายคลึงกัน UCB จะถูกสร้างขึ้นสำหรับอุปกรณ์ I/O แต่ละตัว ข้อมูลใน UCB ประกอบด้วยหมายเลขหน่วยของอุปกรณ์ (ส่วนหนึ่งของชื่ออุปกรณ์) และส่วนหัวของรายการที่คำขอ I/O ที่รออยู่สามารถถูกจัดคิวได้ UCB อาจมีส่วนขยายที่กำหนดโดยไดรเวอร์อุปกรณ์ ซึ่งไดรเวอร์สามารถเก็บข้อมูลที่กำหนดโดยไดรเวอร์ซึ่งถูกสร้างขึ้นสำหรับแต่ละอุปกรณ์[ 10 ]

ดูเพิ่มเติม

  • z/OS  – ระบบปฏิบัติการ 64 บิตสำหรับเมนเฟรมของ IBM

หมายเหตุ

  1. ^ในระบบรุ่นเก่าบางระบบ UCB เป็นส่วนหนึ่งของนิวเคลียสและถูกประกอบขึ้นในระหว่างกระบวนการ SYSGEN
  2. ^ใน OS/360, OS/VS1และ SVSมีฟิลด์ที่ชี้ไปยังคิวขององค์ประกอบคิวคำขอ (RQE)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Unit_Control_Block&oldid=1355449910 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ บล็อกควบคุมหน่วย

ใน ระบบปฏิบัติการ เมนเฟรมของ IBM อย่าง OS/360 และรุ่นต่อมานั้น Unit Control Block ( UCB ) คือ โครงสร้างหน่วยความจำ หรือ บล็อกควบคุม ที่อธิบาย อุปกรณ์ต่อพ่วง อินพุต/เอาต์พุต...

ภาพรวม

ระหว่าง การโหลดโปรแกรมเริ่มต้น (IPL) ของ ระบบ MVS ปัจจุบัน [ a ] โปรแกรมเริ่มต้น Nucleus (NIP) จะอ่านข้อมูลที่จำเป็นจากไฟล์คำจำกัดความ I/O (IODF) และใช้ข้อมูลนั้นในการสร้าง UCB UCB จะถูกจัดเก็บไว้ในหน่วยความจำของระบบ ใน พื้นที่คิวระบบขยาย ( ESQA ) หลังจาก IPL...

การจัดการการทำงานของอินพุต/เอาต์พุตแบบขนาน

UCB ถูกนำมาใช้ครั้งแรกในทศวรรษ 1960 พร้อมกับ OS/360 ในเวลานั้น อุปกรณ์ที่ใช้ UCB มักจะเป็น ฮาร์ดดิสก์ไดรฟ์แบบ หัวอ่านเคลื่อนที่ หรือ ไดรฟ์เทป ที่ไม่มี แคช ภายใน หากไม่มีแคช อุปกรณ์นั้นมักจะทำงานได้ด้อยกว่า โปรเซสเซอร์ช่องสัญญาณ ของเมนเฟรมอย่างมาก...

วอลุ่มการเข้าถึงแบบขนาน (PAVs)

เนื่องจากสามารถเรียกใช้ชุดคำสั่งช่องสัญญาณหรืออินพุต/เอาต์พุตได้เพียงชุดเดียวในแต่ละครั้ง ซึ่งก็ใช้ได้ดีในยุค 1960 เมื่อซีพียูทำงานช้า และการประมวลผลอินพุต/เอาต์พุตทำได้เร็วเท่าที่ซีพียูจะประมวลผลได้เท่านั้น...