ก่อนที่ระบบปฏิบัติการแนวคิดใดที่ใช้เพื่อให้ทำงานได้ [ปิด]


50

ระบบปฏิบัติการเกี่ยวข้องกับสถาปัตยกรรมคอมพิวเตอร์อย่างแน่นหนาระบบปฏิบัติการจะดูแลอินพุตและเอาต์พุตทั้งหมดในระบบคอมพิวเตอร์ มันจัดการผู้ใช้กระบวนการการจัดการหน่วยความจำการพิมพ์การสื่อสารโทรคมนาคมเครือข่าย ฯลฯ มันส่งข้อมูลไปยังดิสก์เครื่องพิมพ์หน้าจอและอุปกรณ์ต่อพ่วงอื่น ๆ ที่เชื่อมต่อกับคอมพิวเตอร์

ก่อนที่จะมีการเปิดตัวระบบปฏิบัติการ

สิ่งที่ใช้ในระบบคอมพิวเตอร์เพื่อให้ทำงานได้

แนวคิดอะไรที่ใช้กับระบบปฏิบัติการในวิวัฒนาการคอมพิวเตอร์ของเรา


5
"ก่อนหน้านี้สิ่งที่ใช้ในระบบคอมพิวเตอร์ ... " - มันเหมือนกับว่าคุณไม่ได้ใช้ระบบปฏิบัติการวันนี้ คุณเรียกใช้งานแบ็ตช์โดยส่งมอบระบบคอมพิวเตอร์ทั้งหมดให้กับผู้ใช้คนเดียวทีละคน
ขี้เลื่อย


4
นึกถึงโค้ดที่รันบนไมโครคอนโทรลเลอร์ มันไม่ได้ทำงานในระบบปฏิบัติการ แต่เป็นรหัส C ที่คอมไพล์ลงในรหัสเครื่องและทำงานบนอุปกรณ์จริงจริง (หลังจากรหัสเครื่องนี้ "กะพริบ" กับเฟิร์มแวร์) ระบบปฏิบัติการเพียงแค่อำนวยความสะดวกมีหลายโปรแกรมโต้ตอบในเวลาเดียวกันกับทุกส่วนของคอมพิวเตอร์โดยใช้แนวคิดของการใช้ทรัพยากรร่วมกันและการตั้งเวลากระบวนการ ในทำนองเดียวกันคุณสามารถใช้ระบบปฏิบัติการกับไมโครคอนโทรลเลอร์ตัวเล็ก ๆ ตัวนั้นได้หากคุณต้องการ
พัฒนา

คำตอบจำนวนมากมุ่งเน้นไปที่ I / O วิธีที่โปรแกรมรับโหลดและอุปกรณ์ต่อพ่วง แต่นั่นเป็นเพียงการปิดบังวัตถุประสงค์ของระบบปฏิบัติการ: การจัดการทรัพยากรและการแบ่งปันและความสามารถของผู้ใช้หลายคน วัตถุประสงค์ของระบบปฏิบัติการจะไม่เปลี่ยนแปลงหากคุณโหลดรหัสจาก wire wire หรือ punched tape หรือ drum หรือใช้ SDcard ที่ทันสมัย
ขี้เลื่อย

สำรับไพ่ เทปกระดาษเจาะ ตัวดำเนินการให้ป้อนข้อมูลเหมือนกันผ่านคอมพิวเตอร์
Daniel R Hicks

คำตอบ:


42

คอมพิวเตอร์ช่วงต้นวิ่งโปรแกรมหนึ่งที่เวลา

โปรแกรมถูกโหลดโดยตรงจาก (ตัวอย่าง) เทปกระดาษที่มีรูเจาะอยู่

คุณตั้งโปรแกรมคอมพิวเตอร์ที่เร็วที่สุดด้วยการตั้งสวิตช์เปิดปิดขนาดใหญ่

ยักษ์ใหญ่:

Atlas:

แมนเชสเตอร์


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


1
ฉันมีฮาร์ดแวร์ที่ทำงานด้วยที่ใช้สวิตช์เหล่านั้นในภาพที่สอง นอกจากนี้ยังเรียกใช้โปรแกรมในลักษณะเดียวกัน โหวตขึ้นจากการใช้ภาพสวย ๆ
Ramhound

คนแรกสุดจะพูดว่า ENIAC สายแข็งหรือไม่ ไม่ได้เปลี่ยนหรือไม่มีโปรแกรมที่เก็บไว้? หรือนี่ไม่ใช่คอมพิวเตอร์อีกต่อไปเพราะ ... อยากรู้
Rich Homolka

1
@ RichHomolka: ตามที่คุณพูดถึงมันขึ้นอยู่กับสิ่งที่คุณคิดว่าเป็นคอมพิวเตอร์ ทุกวันนี้คนส่วนใหญ่อาจหมายถึงคอมพิวเตอร์ที่ตั้งโปรแกรมอิเล็กทรอนิกส์ได้ แน่นอนว่ามีตัวอย่างเช่นคอมพิวเตอร์อะนาล็อกเชิงกลและคอมพิวเตอร์ที่เก่าแก่ที่สุดคือคน (มันเป็นตำแหน่งงาน) ถ้าฉันได้รับเวลาฉันอาจขยายคำตอบเพื่อแก้ไขสิ่งนี้ ฉันเชื่อว่า ENIAC ได้รับการโปรแกรมโดยควบคุมสวิตช์และสายเคเบิล
RedGrittyBrick

ระบบปฏิบัติการที่เข้ามาในช่วงต้นเป็นธรรม (1956 - ดูen.wikipedia.org/wiki/GM-NAA_I/O ) คอมพิวเตอร์ที่ผลิตครั้งแรกคือประมาณปี 1954
บรูซมาร์ติน

“ ฉันแน่ใจว่าคำถามดั้งเดิมไม่ได้เกี่ยวกับว่าคนที่มีตำแหน่งงาน "คอมพิวเตอร์" ใช้เวลาทำงานในวันทำงานได้อย่างไร "- ย่าของฉันเป็นคอมพิวเตอร์
Paul D. Waite

13

ที่มา: ประวัติระบบปฏิบัติการ

ระบบปฏิบัติการมีการพัฒนาผ่านขั้นตอนหรือรุ่นที่แตกต่างกันจำนวนมากซึ่งตรงกับช่วงทศวรรษ

The 1940's - รุ่นแรก

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

1950's - รุ่นที่สอง

ในช่วงต้นปี 1950 งานประจำได้รับการปรับปรุงบ้างเมื่อมีการเปิดตัวการ์ดเจาะรู General Motors วิจัยห้องปฏิบัติการดำเนินการระบบปฏิบัติการครั้งแรกในต้นปี 1950 สำหรับ IBM ของพวกเขา 701 ระบบของ 50 โดยทั่วไปทำงานครั้งละหนึ่งงาน สิ่งเหล่านี้เรียกว่าระบบประมวลผลแบบแบตช์เดียวเนื่องจากโปรแกรมและข้อมูลถูกส่งเป็นกลุ่มหรือเป็นกลุ่ม

ที่มา: http://en.wikipedia.org/wiki/History_of_operating_systems

คอมพิวเตอร์เครื่องแรกคือเมนเฟรมคอมพิวเตอร์ที่ไม่มีระบบปฏิบัติการในรูปแบบใด ๆ

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

โดยทั่วไปโปรแกรมสามารถดีบั๊กผ่านแผงควบคุมโดยใช้สวิตช์สลับและไฟแผง ว่ากันว่าอลันทัวริงเป็นผู้เชี่ยวชาญเรื่องนี้ในเครื่องแมนเชสเตอร์มาร์ก 1 ช่วงต้นและเขาได้รับแนวคิดดั้งเดิมของระบบปฏิบัติการจากหลักการของเครื่องทัวริงทัวริง


10

ย้อนกลับไปยังจุดเริ่มต้นของระบบคอมพิวเตอร์ที่คุณไม่มีระบบคอมพิวเตอร์เดียวแทนคุณมีเมนเฟรมคอมพิวเตอร์

ป้อนคำอธิบายรูปภาพที่นี่

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

โดยทั่วไปนั่นคือวิธีการทำงาน


4
ดังนั้น "ระบบปฏิบัติการ" ที่นี่คือ ... ใครก็ตามที่กำลังจัดตารางเวลาสำหรับผู้ใช้?
Kyle Strand

2
ประเด็นของฉันคือคำตอบของคุณไม่ได้อธิบายสิ่งที่คุณหมายถึงโดย "ระบบปฏิบัติการที่พูดอย่างเคร่งครัดมานานแล้วในรูปแบบเดียวหรืออีกรูปแบบหนึ่ง" คุณให้คำอธิบายพื้นฐานของเมนเฟรม แต่มันไม่ชัดเจนเลยว่าเมนเฟรมเหล่านี้มีอะไรที่คล้ายกับที่เราเรียกว่า "ระบบปฏิบัติการ" จากระยะไกล
Kyle Strand

3
ฉันรู้ว่าคุณกำลังพยายามพูดอะไร แต่ฉันไม่สบายใจกับคำอธิบายนี้อายุมากพอที่จะทำงานบนเมนเฟรมที่ตรงกับคำอธิบายที่แม่นยำของเมนเฟรมข้างต้น แต่มีระบบปฏิบัติการที่แน่นอน เมนเฟรมในภาพของคุณอาจเป็นเมนเฟรมไอบีเอ็มในยุค 70 (เช่น / 360 หรือ s / 370?) ที่ใช้ OS / 360 หรือ MVS รุ่นแรก
Rob Moir

2
ไม่มีสิ่งดังกล่าวเป็น"เจาะบัตรแม่เหล็ก" ภาพถ่าย "เมนเฟรม" ของคุณยังคงรักษาวิสัยทัศน์ของฮอลลีวูดและบุคคลทั่วไปของคอมพิวเตอร์: การขนส่งด้วยเทปแม็ก
ขี้เลื่อย

1
ค่อนข้างผิดพลาดเล็กน้อยที่นี่ @sawdust กล่าวว่าการ์ดที่ถูกชกไม่ใช่แม่เหล็ก นอกจากนี้การ์ดเจาะมักจะมีโปรแกรมและข้อมูลของคุณ หรือโปรแกรมของคุณอาจอยู่บนเทปกระดาษ (เจาะ) สิ่งของเทป Mag ได้มากในภายหลัง ก่อนที่โปรแกรมนั้นจะถูกโหลดผ่านแผงสวิตช์ดังที่แสดงไว้ในคำตอบของ RedGrittyBrick หรือโดยการเดินสายคอมพิวเตอร์ผ่านทางปลั๊กอินอีกครั้ง ฉันพบว่าพ่อ, ลูกชาย & ร่วมประวัติศาสตร์ที่น่าสนใจและให้ข้อมูล
สตีเฟ่นพี

6

2433-2493 - การปฏิบัติงานของระบบ คอมพิวเตอร์ที่เก่าแก่ที่สุดมีสิ่งเทียบเท่าระบบปฏิบัติการที่สร้างไว้ในเครื่อง คุณ (ผู้ปฏิบัติงาน) เป็นส่วนหนึ่งของระบบปฏิบัติการด้วยเช่นกัน คุณพลิกสวิตช์รีจิสเตอร์ (หรือใช้บัตรตอก) และเปลี่ยนบัสบัส (คิดว่าสถานีโทรศัพท์เก่า) และหน่วยความจำเชื่อมโยง (ผ่านสายทางกายภาพ) โดยตรงกับหลอดไฟ (จอภาพประจำวัน) และเครื่องพิมพ์ ( พื้นที่เก็บข้อมูลระยะยาว) ในลักษณะที่เอาต์พุตของโปรแกรมจะสว่างขึ้นและพิมพ์ไปยังอุปกรณ์โดยตรงเมื่อวางลงในบัฟเฟอร์หน่วยความจำเอาต์พุต ไม่จำเป็นต้องใช้ไดรเวอร์สำหรับสิ่งเหล่านี้เพราะ (เนื่องจากวิธีการใช้สายทางกายภาพเหล่านั้น) พวกเขา 'เพิ่งใช้งาน' (ไม่มีสิ่งนั้นเป็นจอภาพในสมัยนี้ ในความเป็นจริงมันจะยังคงเป็นไม่กี่ทศวรรษในยุคนี้จนกว่าจะมีการแสดงตัวเลขดิจิตอลเพื่อที่คุณจะได้เห็นตัวเลขที่คุณป้อนลงทะเบียนและเอาท์พุทเป็นตัวเลขทศนิยม เครื่องพิมพ์ปกครองยุคนี้ทั้งหมดจนกระทั่งจอภาพ พวกเขามีสายตรงตามที่พวกเขาต้องการที่จะทำงานอย่างถูกต้อง ส่วนนี้ไม่มีการเปลี่ยนแปลงมากนักกับสวิตช์จากกลไก (1890s) ไปเป็นอะนาล็อกไฟฟ้า (1910s) เป็นดิจิตอล (1930) สถาปัตยกรรม 'Plug N play' นี้ถูกแทนที่ด้วยระบบอินเตอร์รัปต์ในช่วงเวลานี้และจะไม่นำกลับมาใช้อีกจนกว่าจะถึงยุคปลาย; แน่นอนแล้วจะมีการเสียบน้อย ด้วยการขัดจังหวะอุปกรณ์ได้รับอนุญาตให้ใช้เวลาของ CPU ซึ่งอนุญาตให้สถาปัตยกรรมที่ไม่ได้ ไม่เชื่อมโยงโดยตรงกับฮาร์ดแวร์ แต่ใช้เวลาหลายชั่วอายุคนในการทำสิ่งนี้เพื่อให้เป็นกระบวนการที่มีประสิทธิภาพที่เราเห็นใน x86 arch (และใหม่กว่า); ระบบในยุคแรก ๆ มักจะวิ่งเข้าสู่สภาวะการแข่งขันที่น่ากลัวปัญหาความเข้ากันได้ของฮาร์ดแวร์ \ ล่าช้าและพฤติกรรมแปลก ๆ อื่น ๆ ที่เกี่ยวข้องกับการขัดจังหวะ เนื่องจากเครื่องแต่ละเครื่องใช้สถาปัตยกรรม (การทดลอง) ที่แตกต่างกันอย่างสิ้นเชิงในช่วงเวลานี้ อุปกรณ์เกือบทั้งหมดทำขึ้นเองสำหรับเครื่องที่ใช้งาน

2493-2516 - ปฏิบัติการภายในระบบ ยุคนี้เห็นถึงคุณลักษณะส่วนใหญ่ที่เรานึกถึงเมื่อเราพูดถึงระบบปฏิบัติการที่แท้จริง การดีบักภาษาการเขียนโปรแกรมผู้ใช้หลายคนมัลติทาสกิ้งเทอร์มินัลไดรฟ์ชนิดดิสก์เครือข่ายมาตรฐานของส่วนประกอบ ฯลฯ ล้วน แต่ได้รับการแนะนำในยุคนี้ คราวนี้เห็นการก้าวกระโดดครั้งใหญ่สู่มาตรฐานของสิ่งนี้ซึ่งหมายความว่าเรามีอุปกรณ์ที่ได้มาตรฐานมากขึ้น แต่แต่ละระบบปฏิบัติการนั้นถูกสร้างขึ้นมาด้วยมือสำหรับแต่ละเครื่องซึ่งหมายความว่าการทำงานของระบบปฏิบัติการนั้นถูก จำกัด อย่างรุนแรงโดยวิศวกรที่ออกแบบระบบเฉพาะ . ในช่วงเวลานี้มีพื้นที่สีเทาจำนวนมากในสิ่งที่ระบบปฏิบัติการเป็นเพราะสถาปัตยกรรมที่แตกต่างกันจัดการสิ่งที่แตกต่างกันมากและเครื่องที่ใช้งานทั่วไปมากขึ้นจะต้องใช้ระบบปฏิบัติการมากกว่าเครื่องที่มีฮาร์ดแวร์เพื่อจัดการงานเดียวกัน ความจริงก็คือฮาร์ดแวร์จะเร็วกว่าซอฟต์แวร์เสมอและสิ่งใดก็ตามที่ทำในซอฟต์แวร์ในทางทฤษฎีสามารถทำได้ในฮาร์ดแวร์ (เป็นราคา \ ความยืดหยุ่น \ ขนาด \ เวลา \ ฯลฯ ซึ่ง จำกัด เราไม่ให้ทำรุ่นฮาร์ดแวร์บริสุทธิ์เกือบทุกอย่าง วัน). ระบบปฏิบัติการถูกสร้างขึ้นสำหรับคอมพิวเตอร์เฉพาะหรือคอมพิวเตอร์ชนิดหนึ่ง มันจะไม่ทำงานที่อื่น การออกแบบคอมพิวเตอร์ใหม่แต่ละครั้งจำเป็นต้องใช้ซอฟต์แวร์ระบบปฏิบัติการระดับต่ำทั้งหมดเพื่อทำการเขียนใหม่ตั้งแต่เริ่มต้นเพื่อทำงานกับรุ่นเครื่องเฉพาะ ใกล้ถึงจุดสิ้นสุดของเวลานี้มีระบบปฏิบัติการใหม่ซึ่งจะเปลี่ยนกระบวนทัศน์นี้ในไม่ช้ายูนิกซ์เขียนที่ Bell Labs โดย Ken Thompson และ Dennis Ritchie

1973 - การทำงานระหว่างระบบ โปรแกรมเดียวเปลี่ยนแปลงทั้งหมดนี้ แต่ไม่ใช่ UNIX มันเป็นคอมไพเลอร์ C (ซึ่งสร้างชื่อเสียงในโรงรถโดย Ken Thompson และ Dennis Ritchie หลังจาก Bell Labs ตัดมัน) จนกระทั่งถึงจุดนี้ทุกครั้งที่คุณเขียนรหัสมันเป็นทั้งรหัสเครื่อง (รหัสที่เครื่องเข้าใจได้โดยตรง แต่ไม่สามารถพกพาได้) หรือเขียนเป็นภาษาที่คอมไพล์รหัสของคุณเป็นรหัสไบต์ (รหัสซึ่งตีความโดยโปรแกรมอื่นเช่นเดียวกับ วิ่ง) ความแตกต่างอย่างมากสำหรับ OS ที่ C นำมาด้วยคือความสามารถในการทำสิ่งที่เรียกว่าการคอมไพล์ข้ามไปยังรหัสเครื่อง นี่หมายความว่าสามารถเขียนรหัสได้ครั้งเดียวและรวบรวมเพื่อเรียกใช้ข้ามประเภทเครื่องที่แตกต่างกันหลายประการตราบใดที่คอมไพเลอร์ถูกเขียนขึ้นสำหรับเครื่องนั้น ระบบปฏิบัติการต้องเขียนในรหัสเครื่องเนื่องจากรหัสเครื่องเป็นรหัสเดียวที่เครื่องรู้

ฉันจะบอกว่ามันไม่ได้จนกว่าเคนและเดนนิสจะรวบรวมเคอร์เนล UNIX เป็นครั้งแรกโดยใช้คอมไพเลอร์ C ซึ่งเป็นระบบปฏิบัติการที่แท้จริงในแง่ของความทันสมัย ก่อนหน้านั้นระบบปฏิบัติการอาจเป็นวัตถุทางกายภาพหรือเป็นพื้นที่หน่วยความจำที่ได้รับการออกแบบเบื้องต้นสำหรับเครื่องเฉพาะ การเพิ่มอุปกรณ์ใหม่เข้าสู่ระบบจำเป็นต้องใช้รหัส 'kernel' เพื่อเขียนใหม่ ตอนนี้ระบบปฏิบัติการ UNIX ที่พวกเขาออกแบบมาสำหรับเครื่องหนึ่งสามารถคอมไพล์ใหม่และรันบนเครื่องอื่นโดยไม่ต้องเขียนใหม่ทุกอย่าง (ตราบใดที่เครื่องจักรนั้นสามารถคอมไพล์คอมไพเลอร์ C จากสภาพแวดล้อมบูทสแตรปได้ รหัส C ระดับค่อนข้างสูง)


1
มีคนพูดว่า OS \ 360 มาก่อน UNIX นี่เป็นความจริง แต่เหมือนกับทุกระบบปฏิบัติการอื่น ๆ ของวันนั้นมันถูกเขียนด้วยมือสำหรับเครื่องแต่ละรุ่นที่ทำงานอยู่
krowe

1
มีคนพูดว่า FORTRAN สามารถข้ามคอมไพล์ได้ ซึ่งเป็นความจริง ALGOL (บรรพบุรุษของ C) ทำเช่นนั้น แต่ C เป็นคนแรกที่ถูก bootstrapped เพื่อสร้างระบบปฏิบัติการที่เป็นอิสระจากเครื่อง
krowe

1
" จนกว่าเคนและเดนนิสจะรวบรวมเคอร์เนล UNIX เป็นครั้งแรก ... ว่าระบบปฏิบัติการที่แท้จริงในความทันสมัยนั้นเกิดมา .. " OMG คำพูดจริงที่น้อยลงนั้นไม่ค่อยได้รับการเขียนลงบนเว็บไซต์นี้ ไม่มีเหตุผลที่ข้อความนี้ถูกต้องจากระยะไกล
RBarryYoung

1
ยังเพิกเฉยต่อ MULTICS (และ BCPL)
ฟรานซิสดาวี่

สิ่งที่กล่าวไว้ข้างต้นส่วนใหญ่เกี่ยวกับความสำคัญของ UNIX และ C นั้นไม่ถูกต้องโดยเฉพาะอย่างยิ่งทำไม UNIX และ C ถึงมีความสำคัญในประวัติศาสตร์ของระบบปฏิบัติการ นี่เป็นเพราะเกือบทั้งหมดจะได้รับความยินยอม 1974 พระราชกำหนดการบริหารราชการกับ AT & T ซึ่งหมายความว่ามัน (และอื่น ๆ จำนวนมากของ AT & T เทคโนโลยี) เป็นฟรี , รวมถึงรหัสที่มา ด้วยเหตุนี้มันเป็นของจริง "คนแรก" เป็นคนแรกที่ทำงานได้อย่างสมบูรณ์ฟรีระบบปฏิบัติการที่ทันสมัยและคอมไพเลอร์ระดับต่ำรวมถึงรหัสที่มาทั้งหมด ตำแหน่งโดดเดี่ยวที่มันจะครอบครองเป็นเวลา 10-20 ปีก่อนที่คู่แข่งจะยอมรับความได้เปรียบที่ให้ไว้โดยสุจริต
RBarryYoung

3

ในตอนแรกโปรแกรมต่าง ๆ ถูกเดินสายเข้าสู่คอมพิวเตอร์ซึ่งจะเริ่มการทำงานของโปรแกรมทันทีจากที่ตั้งเฉพาะเมื่อบูทเครื่อง

จากนั้นรูปแบบที่หลากหลายของการจัดเก็บแบบออฟไลน์ได้ถูกประดิษฐ์ขึ้นมา: บัตรเจาะเทปเทปกลองหรือแม้แต่ดิสก์ มีความยืดหยุ่นมากขึ้น แต่ไม่สามารถเข้าถึงได้โดยตรงจาก CPU ต้องโหลดโปรแกรมลงในหน่วยความจำก่อนจึงจะสามารถเรียกใช้ได้ ดังนั้นคุณเขียนโปรแกรมเพื่อโหลดโปรแกรมของคุณ สิ่งนี้เรียกว่าโหลดเดอร์หรือบูตสแตรป (จากนิพจน์ "เพื่อดึงตัวคุณเองขึ้นมาจากสายรัดบูต")

เมื่อระบบมีความซับซ้อนมากขึ้นคุณอาจโหลดตัวโหลดอย่างง่ายได้ตัวโหลดที่ซับซ้อนมากขึ้น สิ่งนี้เริ่มต้นด้วยไมโครคอมพิวเตอร์: ตัวโหลดเทปปกติช้าดังนั้นโหลดตัวบีบอัดและโหลดส่วนที่เหลือของเทปอย่างรวดเร็ว หรือ disk speedloaders ซึ่งเพิ่มเป็นสองเท่าของระบบป้องกันการคัดลอกโดยทำสิ่งที่ไม่เป็นมาตรฐานกับดิสก์

หรือกระบวนการบูตพีซีล่วงหน้า UEFI: โปรเซสเซอร์จะเริ่มทำงานใน BIOS นี่เป็นการโหลดเซกเตอร์แรกที่ปิดดิสก์และข้ามไป ที่ค้นหาพาร์ติชันที่ใช้งานอยู่และโหลด bootloader จากที่นั่นซึ่งโหลดระบบปฏิบัติการ แต่เดิมนั้นจะเป็น COMMAND.COM สำหรับ MSDOS ตอนนี้มันมักจะเป็น NTLDR.EXE สำหรับ Windows


3

ควรสังเกตว่าในฮาร์ดแวร์เริ่มต้น (ก่อนปี 1960) I / O นั้นง่ายกว่ามาก คุณสามารถอ่านการ์ดหรือต่อยบัตรหรือพิมพ์บรรทัดบนเครื่องพิมพ์แต่ละอันมีคำสั่งเดียว: ขนาดบัฟเฟอร์ได้รับการแก้ไขและบ่อยครั้งที่ที่อยู่บัฟเฟอร์ถูกแก้ไขเช่นกัน

แม้ในช่วงต้นยุค 60 ที่มีโปรเซสเซอร์ที่ซับซ้อนมากขึ้น (เช่น 7090) คุณยังสามารถอ่านหรือต่อยบัตรด้วยรูทีนย่อย ๆ (ประมาณ 20 คำสั่ง) ซึ่งสามารถคัดลอกลงในแต่ละโปรแกรมได้อย่างง่ายดาย

เนื่องจากคอมพิวเตอร์อุทิศให้กับงานเพียงอย่างเดียวจึงไม่สำคัญว่าตัวประมวลผลจะว่างขณะรอให้เครื่องอ่านการ์ดพร้อมที่จะอ่านการ์ดถัดไปหรือให้เครื่องพิมพ์ Line ป้อนบรรทัดถัดไป

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

ยังอยู่ในยุค 80 ที่ฉันใช้คอมพิวเตอร์ที่ใช้ไมโครโปรเซสเซอร์ซึ่งเลียนแบบหนึ่งในระบบเก่าเหล่านั้น คำแนะนำเครื่องมีรูปแบบที่สม่ำเสมอกว่า 80 บิต (10 octets) และคำแนะนำในการอ่านเซกเตอร์แรกของฮาร์ดดิสก์ตัวแรกและเก็บไว้ในหน่วยความจำที่ที่อยู่ 0 นั้นสะดวกมาก: 0000000000 ดังนั้นกระบวนการบูตประกอบด้วยทุกเช้า เพื่อพิมพ์คำสั่งนี้บนเทอร์มินัลซึ่งเก็บไว้ที่ที่อยู่ 0 และเรียกใช้งานจากนั้นโหลดเซกเตอร์สำหรับบู๊ตและดำเนินการต่อที่คำสั่งถัดไป (ที่ที่อยู่ 10) ระบบไฟล์ประกอบด้วยไฟล์ "ชื่อ" การแมปตารางแบบสแตติกกับช่วงของเซกเตอร์ซึ่งถูกจัดสรรด้วยตนเอง! I / O ทำในแอสเซมเบลอร์ไปยังไฟล์เหล่านั้นโดยการอ่านหรือเขียนเซกเตอร์โดยตรงชดเชยด้วยตำแหน่งของไฟล์บนฮาร์ดดิสก์ซึ่งกู้คืนโดย "


2

คอมพิวเตอร์รุ่นแรกที่ถูกออกแบบมาเพื่อการใช้งานส่วนบุคคลที่กว้างขวางนั้นเรียกว่า "Monitor" ใน ROM (หน่วยความจำแบบอ่านอย่างเดียว)

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

แตกต่างจากระบบปฏิบัติการมอนิเตอร์ไม่มีการสนับสนุนระบบไฟล์ใด ๆ ผู้ปฏิบัติงานมนุษย์มีหน้าที่รับผิดชอบในการค้นหาเทปที่ถูกต้องวางไว้บนเครื่องบันทึกและจัดตำแหน่งเมื่อเริ่มต้นโปรแกรมที่ต้องการโหลด

ตรวจสอบการทำงานร่วมกันของทั้งไบออสและระบบปฏิบัติการและเป็นซอฟต์แวร์ที่ชัดเจนอยู่แล้ว

หลังจากเปิดใช้งานสัญญาณ "รีเซ็ต" สั้น ๆ นั้นเป็นเพียงการทำให้ตัวนับโปรแกรมเป็นศูนย์เหมือนกับตัวนับอื่น ๆ ในเวลาเดียวกันการสลับ mapper หน่วยความจำ (ถ้ามี) เพื่อแมปที่อยู่ 0000 กับ Monitor ROM เป็นเรื่องปกติที่จะมีวงจรฮาร์ดแวร์บางส่วนสำหรับทำการแมป Monitor ใหม่ในพื้นที่ที่อยู่สูงในภายหลัง นอกเหนือจากการเริ่มต้นโค้ดปุ่ม "รีเซ็ต" ยังถูกใช้เพื่อยกเลิกโปรแกรมที่กำลังทำงานเพื่อให้สามารถโหลดได้อีก

ปุ่ม "รีเซ็ต" พื้นฐานสามารถพบได้ในพีซีเดสก์ทอปบางเครื่องแม้ในวันนี้


นั่นเป็นความจริงของ "คอมพิวเตอร์ส่วนบุคคล" รุ่นแรก (หรือที่สอง) สำหรับใช้ในบ้าน ก่อนที่พวกเขาจะมีตัวตนอยู่นักเรียนในโรงเรียนมัธยมมีการเข้าถึงคอมพิวเตอร์ระยะไกลแบบแบ่งใช้ที่ทำงานแตกต่างกัน แต่จะยังคงเป็น ฉันไม่แน่ใจว่าคอมพิวเตอร์ในบ้านรุ่นแรกคือ Altairs และ Heathkits ทุกคนมีจอมอนิเตอร์บรรทัดคำสั่ง
RedGrittyBrick

0

ผู้ที่ตรงที่สุดที่สุดของระบบปฏิบัติการคือการรวมกันของไลบรารีมาตรฐานสำหรับการเชื่อมต่อกับอุปกรณ์และระบบตัวโหลดบูตสแตรปสำหรับการรับโปรแกรมที่นำมาสู่หน่วยความจำและเริ่มทำงาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.