Q. อะไรคือสิ่งที่ทำให้แอสเซมบลีหยุดทำงานไม่ให้ทำงานล้มเหลวในระบบปฏิบัติการ
A. ไม่มีอะไร
อย่างไรก็ตามโปรแกรมเมอร์ที่ฉลาดมาก ๆ ได้พยายามอย่างหนักในช่วงหลายปีที่ผ่านมาเพื่อทำให้มันยากขึ้นเรื่อย ๆ โชคไม่ดีสำหรับโปรแกรมเมอร์ที่ฉลาดทุกคนมีอีกหลายคนที่อยู่ระหว่างพวกเขามีความคิดสร้างสรรค์มีความทะเยอทะยานมากขึ้นและบางครั้งก็โชคดีกว่าคนที่ฉลาด ทุกครั้งที่โปรแกรมเมอร์ผู้ชาญฉลาดกล่าวว่าไม่มีใครควรทำหรือทำอะไรบางอย่างใครบางคนในนั้นจะหาวิธีที่จะทำ Microsoft Windows (เป็นตัวอย่าง) ได้รับรอบเกือบ 35 ปีและเรายังคงมี BSoD (หน้าจอสีน้ำเงินแห่งความตาย) ซึ่งเป็นเพียงคำแนะนำที่ผิดพลาดของระบบปฏิบัติการ
ให้เริ่มต้นด้วยคำศัพท์เล็กน้อย ทุกอย่างที่ทำงานบนคอมพิวเตอร์ทำในรหัสเครื่อง บิตที่อ่านการกดแป้นหรือการเคลื่อนไหวของตัวชี้เมาส์บิตที่เปลี่ยนสีของพิกเซลบนจอแสดงผลหรืออ่านไบต์จากไฟล์และบิตที่คำนวณว่าสัญลักษณ์แสดงหัวข้อย่อยของคุณโจมตีคนเลวหรือบิตที่ตัดสินใจ หากใบสมัครบัตรเครดิตของคุณจะได้รับการยอมรับจะดำเนินการทั้งหมดตามลำดับของรหัสเครื่อง งานบางอย่างเป็นเรื่องธรรมดามากและมักจะทำบ่อยครั้งจนเหมาะสมที่จะรวบรวมคำแนะนำที่จำเป็นในการทำและให้ทุกคนใช้ชุดประกอบนั้น กลุ่มของงานเหล่านี้ที่อนุญาตหรือช่วยให้ผู้อื่นใช้คอมพิวเตอร์มักจะถูกเรียกว่าระบบปฏิบัติการ แต่ไม่มีอะไรแตกต่างกันระหว่างพวกเขาและโปรแกรมอื่น ๆ นี่เป็นเพียงลำดับของคำสั่งเครื่อง
สิ่งที่ทำให้ระบบปฏิบัติการมีความซับซ้อนมากขึ้น (และมีแนวโน้มที่จะล้มเหลว) คือพวกเขาต้องคำนึงถึงสิ่งที่คุณไม่ต้องคิด ยกตัวอย่างงานที่ง่ายที่สุด ฉันต้องการเขียนข้อความถึงส่วนท้ายของไฟล์ ในภาษาระดับสูงคุณจะเขียนสิ่งที่ชอบ:
with open("myFile.txt", "w+") as f:
# do some really clever things
f.write("Goodbye cruel world!")
ให้ละเว้นรายละเอียดทั้งหมดเกี่ยวกับวิธีการเข้าถึงและเปลี่ยนแปลงสถานะฟิสิคัลหรือวิธีตีความสถานะเป็นบิตและไบต์หรือวิธีถ่ายโอนไบต์เหล่านั้นไปยังและจากหน่วยความจำและ CPU และเชื่อมั่นว่าโปรแกรมทั้งหมดที่ระบบปฏิบัติการมีให้ เบื้องหลัง. ลองคิดดูว่าคุณจะต่อท้ายไฟล์อย่างไร 1) ค้นหาว่าจุดสิ้นสุดของไฟล์คืออะไร 2) เขียนบางสิ่งที่ตำแหน่งนั้น สิ่งที่อาจจะผิดไป? จริงๆแล้วค่อนข้างเยอะ คิดเกี่ยวกับสิ่งอื่นที่เกิดขึ้นบนคอมพิวเตอร์ขณะที่คุณทำสิ่งที่ฉลาด หากสิ่งอื่นใดที่ทำโดยคนอื่น (รวมถึงระบบปฏิบัติการของตัวเอง) เปลี่ยนแปลงไฟล์ที่คุณกำลังทำงานอยู่ในทางใดทางหนึ่งแล้วงานที่เรียบง่ายนี้ก็จะซับซ้อนมากขึ้น ไฟล์ยาวกว่าไฟล์จะสั้นกว่า ไฟล์ไม่ได้อยู่ที่นั่นอีกต่อไป ดิสก์เต็ม