Score:3

z/OS บังคับใช้การป้องกันหน่วยความจำระหว่างกระบวนการของผู้ใช้คนเดียวกันหรือไม่

ธง za

มักจะชี้ให้เห็นว่าผู้ใช้แต่ละคนมีพื้นที่ที่อยู่ (เสมือน) ของตนเองใน z/OS; นี่พูดราวกับว่ามันเป็นสิ่งที่ดีและฉันคิดว่ามันจะถูกเปรียบเทียบกับโหมดจริง แต่ในระบบสมัยใหม่ส่วนใหญ่ ฉันคุ้นเคยกับกระบวนการส่วนใหญ่ (หรืองาน ในภาษา z/OS ฉันคิดว่า) มีพื้นที่ที่อยู่ของตัวเอง วิธี Unix นี้ดูเหมือนจะปลอดภัยกว่าเมื่อมองแวบแรก

ที่กล่าวว่าฉันมี ได้ยินมันอ้างว่า งาน z/OS นั้นต่างก็ได้รับพื้นที่ที่อยู่ของตัวเอง แต่ฉันไม่เห็นเอกสารอย่างเป็นทางการสำหรับสิ่งนี้ แน่นอนว่าหากผู้ใช้สามารถรันงานได้ครั้งละหนึ่งงานเท่านั้น (ฉันไม่ได้ตรวจสอบสิ่งนี้) สิ่งนี้จะไม่เป็นปัญหาอย่างแน่นอน (นอกเหนือ: ตามธรรมเนียมแล้ว z/OS จะต้องถูกใช้สำหรับการประมวลผลเป็นชุด ดังนั้นนั่นอาจเป็นข้อสันนิษฐานที่สมเหตุสมผล แต่ในปี 2021 และสิ่งต่างๆ อาจมีการเปลี่ยนแปลง ดังนั้นการทราบเกี่ยวกับข้อจำกัดของงานต่อผู้ใช้แต่ละรายก็เป็นเรื่องที่ดีเช่นกัน .)

Score:3
ธง us

ย่อหน้าแรกของคุณไม่ชัดเจนเนื่องจากดูเหมือนจะขัดแย้งกัน

บน IBM Z คุณมีฮาร์ดแวร์และระบบปฏิบัติการ ฮาร์ดแวร์มีชุดคุณสมบัติที่อนุญาตให้มีช่องว่างที่อยู่แยกกันและที่เก็บข้อมูลเสมือนของแต่ละอันได้รับการปกป้องจากผู้ใช้รายอื่นที่เข้าถึงข้อมูล มีข้อแม้บางประการเนื่องจากฮาร์ดแวร์ IBM Z ใช้คีย์ป้องกันที่เก็บข้อมูลเพื่อระบุเพิ่มเติมว่าที่เก็บข้อมูลได้รับการปกป้องอย่างไร ปุ่มสามารถมีได้ตั้งแต่ 0 - 15 (F) และปุ่มที่อยู่ด้านล่าง 8 จะสงวนไว้สำหรับ OS z/OS ใช้คุณสมบัตินี้เพื่อให้สถานะปัญหา (โปรแกรมผู้ใช้) ทำงานในคีย์ 8 บน z/OS ฮาร์ดแวร์ยังอนุญาตให้มีการป้องกันที่เก็บข้อมูลเพื่อให้ที่เก็บข้อมูลบางส่วนสามารถอ่านได้โดยพื้นที่ที่อยู่ทั้งหมด (โดยทั่วไปคือหน่วยความจำ OS) และบางส่วนได้รับการป้องกันการดึงข้อมูล หมายความว่าคุณต้องมีคีย์ที่ถูกต้องเพื่ออ่านข้อมูล โดยรวมแล้วเป็นชุดความสามารถที่ค่อนข้างครอบคลุม

บน z/OS มีแอดเดรสสเปซซึ่งมีหน่วยความจำเสมือนของตัวเอง ซึ่งเป็นอิสระและไม่สามารถเข้าถึงได้ (ในทางที่ถูกควบคุม) จากกระบวนการอื่นๆ พื้นที่ที่อยู่สามารถโฮสต์ JOB (จัดการโดย JES) หรืองานระบบ (งานเริ่มต้น) ⦠ในพื้นที่ที่อยู่แต่ละแห่งสามารถมีเธรดการดำเนินการหลายเธรด

ที่กล่าวว่า ความซับซ้อนทั้งหมดนี้ขึ้นอยู่กับ z/OS ซึ่งเป็นโมเดลที่ใช้ร่วมกันของทรัพยากรระบบซึ่งแตกต่างจาก Linux Linux ล็อคเคอร์เนลและควบคุมการเข้าถึงผ่านการเรียกระบบ สิ่งนี้ทำให้ z/OS มีประสิทธิภาพสูง แต่ก็เป็นจุดอ่อนเช่นกัน เพราะเมื่อเกิดสิ่งเลวร้ายขึ้น กระบวนการทั้งหมดก็จะแย่ลงไปด้วย

แพลตฟอร์มนี้ได้รับการออกแบบมาอย่างปลอดภัยจากฮาร์ดแวร์และระบบปฏิบัติการเพื่อปกป้องข้อมูลและการเข้าถึง ที่กล่าวว่าระบบปฏิบัติการ (ทั้งหมด) ถูกเขียนขึ้นโดยคนที่ผิดพลาดได้ และหนึ่งในนั้นสามารถถูกแฮ็กได้ z/OS น่าจะยากขึ้นจนไม่แพร่หลายเหมือนลินุกซ์หรือวินโดวส์

za flag
ขอบคุณสำหรับคำตอบที่เป็นข้อมูล - คุณทำได้เหนือกว่านั้น และฉันขอขอบคุณเนื่องจากข้อมูลไม่พร้อมใช้งาน ดูเหมือนว่าจะมีการแยกที่อยู่สองระดับ: ที่ระดับฮาร์ดแวร์ (สำหรับผู้ใช้) และที่ระดับระบบปฏิบัติการ (สำหรับกระบวนการ) บางทีฉันอาจเข้าใจผิด นอกจากนี้ ฉันอ่านคำถามของฉันอีกครั้งและไม่พบข้อขัดแย้ง ดังนั้น หากคุณสามารถอธิบายเพิ่มเติมได้ นั่นอาจช่วยให้สถานการณ์ชัดเจนขึ้น (และฉันจะพยายามอธิบายคำถามของฉันให้ชัดเจน)
Kevin McKenzie avatar
vn flag
@bbarker ฉันคิดว่าส่วนหนึ่งของปัญหาคือคุณไม่เข้าใจรูปแบบกระบวนการ ใน z/OS มีช่องว่างที่อยู่ แต่ละงานมีพื้นที่ที่อยู่ของตัวเองผู้ใช้ที่เข้าสู่ระบบแต่ละคนมีพื้นที่ที่อยู่ของตนเอง และอาจมีการสร้างพื้นที่ที่อยู่แยกต่างหากเมื่อผู้ใช้ดำเนินการคำสั่ง หรืองาน/เธรดอาจทำงานในพื้นที่ที่อยู่เดียวกัน ทั้งนี้ขึ้นอยู่กับ งานที่เริ่มต้น (daemons, sort of) ทำงานในพื้นที่ที่อยู่ของตนเอง ทั้งฮาร์ดแวร์และซอฟต์แวร์บังคับใช้การแยกหน่วยความจำในระดับต่างๆ
Kevin McKenzie avatar
vn flag
ภายในพื้นที่แอดเดรส มีส่วนต่าง ๆ ของหน่วยความจำเสมือน บางส่วนเหมือนกันระหว่างช่องว่างที่อยู่ทั้งหมด ดังนั้นพวกเขาทั้งหมดจึงมีมุมมองเดียวกันทั่วโลก การเข้าถึงที่เก็บข้อมูลนั้นควบคุมโดยคีย์ที่เก็บข้อมูล ดังนั้นในระดับฮาร์ดแวร์ จึงบังคับใช้ให้กระบวนการสถานะปัญหาสามารถดูข้อมูลบางอย่างได้ แต่ไม่สามารถเปลี่ยนแปลงได้
Kevin McKenzie avatar
vn flag
นี่คือเอกสารทั้งหมด ฉันขอแนะนำให้เริ่มต้นด้วย ABCs ของการเขียนโปรแกรมระบบ หรือหลักการทำงานสำหรับฮาร์ดคอร์
za flag
แหล่งข้อมูลที่ดูดี - ใน ABCs ฉันพบข้อความอ้างอิงนี้ "มีพื้นที่ที่อยู่อย่างน้อยหนึ่งแห่งสำหรับแต่ละงานที่อยู่ระหว่างดำเนินการ และหนึ่งพื้นที่ที่อยู่สำหรับผู้ใช้แต่ละรายที่เข้าสู่ระบบผ่าน TSO/E" ฉันคิดว่าสิ่งนี้อาจอธิบายความสับสนของฉัน - ฉันไม่ชัดเจนว่าทำไมผู้ใช้จึงต้องการพื้นที่ที่อยู่หากกระบวนการมีอยู่แล้ว แต่ดูเหมือนว่าไม่ได้อ้างอิงถึงผู้ใช้แต่ละคน แต่เป็นเซสชัน TSO/E ของผู้ใช้ คล้ายกับ (แต่อาจแตกต่างจาก) กระบวนการเชลล์ของผู้ใช้ในระบบปฏิบัติการ Unix
us flag
@bbarker นี่คือส่วน " แต่ในระบบที่ทันสมัยที่สุด ฉันคุ้นเคยกับกระบวนการส่วนใหญ่ (หรืองาน ในภาษา z/OS ฉันคิดว่า) มีพื้นที่ที่อยู่ของตัวเอง วิธี Unix นี้ดูเหมือนจะปลอดภัยกว่าอย่างเคร่งครัดเมื่อมองแวบแรก " เป็นส่วน "แนวทาง Unix นี้" เนื่องจากคุณอาจทำคณิตศาสตร์ในหัวของคุณว่า Unix ทำกระบวนการและการจัดการหน่วยความจำอย่างไร
us flag
@bbarker เพื่อตอบสนองต่อความคิดเห็นเกี่ยวกับ ABC's Address Space เป็นคอนเทนเนอร์ที่ใหญ่ที่สุด และในนั้นคุณสามารถใส่กระบวนการต่างๆ ได้มากมาย พื้นที่ที่อยู่จำนวนมากหมายถึงการแยกจำนวนมาก TSO เปรียบเสมือนผู้ใช้เข้าสู่ระบบและใช้เชลล์ จากนั้นกระบวนการ / เธรดการดำเนินการจำนวนมากเป็นไปได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา