อ่าน 7 นาที
ทรสโดส
TRSDOS (ซึ่งย่อมาจากTandy Radio Shack Disk Operating System ) คือระบบปฏิบัติการสำหรับ ไมโครคอมพิวเตอร์ Zilog Z80แบบแปดบิตตระกูลTandy TRS - 80ที่วางจำหน่ายผ่านRadio Shackตั้งแต่ปี..
ทรสโดส
| ทรสโดส | |
|---|---|
หน้าจอเริ่มต้นระบบของ Model 4 TRSDOS 6 | |
| นักพัฒนา | แทนดี้ |
| สถานะการทำงาน | ประวัติศาสตร์ |
| แบบจำลองแหล่งที่มา | ซอฟต์แวร์ปิด แหล่งที่ มาซอฟต์แวร์ที่สามารถเข้าถึงได้[ 1 ] |
| การเผยแพร่ครั้งแรก | รุ่นที่ 1 ในปี 1977 |
| รุ่นล่าสุด | รุ่นที่ 4 เวอร์ชัน 6.2 / 1984 |
| มีจำหน่ายใน | ภาษาอังกฤษ |
| แพลตฟอร์มที่รองรับ | TRS-80ที่ใช้Zilog Z80 |
| ประเภทเคอร์เนล | โมโนลิธิก |
| ส่วนติดต่อผู้ใช้เริ่มต้น | อินเทอร์เฟซบรรทัดคำสั่ง |
TRSDOS (ซึ่งย่อมาจากTandy Radio Shack Disk Operating System ) คือระบบปฏิบัติการสำหรับ ไมโครคอมพิวเตอร์ Zilog Z80แบบแปดบิตตระกูลTandy TRS - 80ที่วางจำหน่ายผ่านRadio Shackตั้งแต่ปี 1977 ถึง 1991 คู่มือของ Tandy แนะนำให้ออกเสียงว่าทริส-ดอส TRSDOS ไม่ควรสับสนกับTandy DOSซึ่งเป็นเวอร์ชันของMS-DOSที่ได้รับอนุญาตจากMicrosoft สำหรับ คอมพิวเตอร์ส่วนบุคคล (PC) ตระกูลx86ของ Tandy
สำหรับคอมพิวเตอร์ TRS-80 รุ่น Model I ปี 1977 นั้น TRSDOS เป็นวิธีหลักในการขยายขีดความสามารถของ MBASIC ( BASICในROM ) ด้วยคำสั่ง I/O (อินพุต/เอาต์พุต) เพิ่มเติมที่ทำงานกับไฟล์ในดิสก์ แทนที่จะ ใช้ เทปคาสเซ็ตที่ใช้ในระบบ Model I ที่ไม่มีดิสก์ ต่อมา คอมพิวเตอร์ Model III ที่มีดิสก์ ใช้ TRSDOS เวอร์ชันที่แตกต่างออกไปโดยสิ้นเชิงจาก Radio Shack ซึ่งพัฒนาจนสมบูรณ์ในปี 1981 ด้วย TRSDOS เวอร์ชัน 1.3 ตั้งแต่ปี 1983 คอมพิวเตอร์ TRS-80 รุ่น Model 4 ที่มีดิสก์ ใช้ TRSDOS เวอร์ชัน 6 ซึ่งเป็นการพัฒนาต่อยอดจาก LDOS รุ่น Model III โดย Logical Systems, Inc. เวอร์ชันสุดท้ายนี้ได้รับการอัปเดตในปี 1987 และวางจำหน่ายในชื่อ LS-DOS 6.3
อีกเรื่องที่ไม่เกี่ยวข้องกันเลยคือ TRSDOS เวอร์ชันหนึ่งจาก Radio Shack สำหรับ คอมพิวเตอร์ระดับมืออาชีพ TRS-80 Model IIและTRS-80 Model 12ในปี 1979 ซึ่งก็ใช้ชิป Z80 เช่นกัน และติดตั้งไดรฟ์ดิสก์ขนาด 8 นิ้ว เครื่องรุ่นต่อมาในตระกูลนี้ ได้แก่ Models 16 & 16B และ Tandy 6000 ใช้ชิป Z80 เป็นตัวประมวลผล I/O ร่วมกับชิปหลักMotorola 68000เมื่อใช้งานระบบปฏิบัติการบนชิป 68000 และสามารถใช้งาน TRSDOS เวอร์ชัน Model II เพื่อความเข้ากันได้กับซอฟต์แวร์แอปพลิเคชัน Z80 รุ่นเก่า เมื่อใช้งานระบบปฏิบัติการ Z80 รุ่นเก่า ชิป 68000 จะไม่ถูกใช้งาน
ประวัติศาสตร์
ไมโครคอมพิวเตอร์ TRS-80ของTandy Corporationไม่มีไดรฟ์ดิสก์หรือระบบปฏิบัติการดิสก์เมื่อวางจำหน่าย เวอร์ชันแรกของ TRSDOS โดย Randy Cook มีข้อบกพร่องมากจนผู้อื่นเขียนทางเลือกอื่นขึ้นมา รวมถึงNewDOSและ LDOS หลังจากข้อพิพาทกับ Cook เกี่ยวกับกรรมสิทธิ์ในซอร์สโค้ด Tandy จึงว่าจ้าง Logical Systems ซึ่งเป็นผู้พัฒนา LDOS ให้พัฒนา TRSDOS ต่อไป[ 2 ] TRSDOS 6 ซึ่งจัดส่งมาพร้อมกับTRS-80 รุ่น 4ในปี 1983 นั้นเหมือนกับ LDOS 6.00 ทุกประการ[ 3 ]
วันที่
- ตุลาคม 1979 – Radio Shack เปิดตัว TRSDOS 2.3
- 1 พฤษภาคม 1981 – Radio Shack เปิดตัว Model III TRSDOS 1.3
- 26 เมษายน 1983 – เรดิโอแช็คเปิดตัว TRSDOS เวอร์ชัน 6.0 พร้อมกับวิทยุรุ่นใหม่ Model 4s
- พ.ศ. 2527 – Radio Shack ออกเวอร์ชัน 6.2 ซึ่งเป็นเวอร์ชันที่สมบูรณ์สำหรับ Model 4 [ 4 ]
- พ.ศ. 2527 – Logical Systems เผยแพร่The Sourceซึ่งเป็นซอร์สโค้ดแอสเซมเบลอร์ที่มีคำอธิบายประกอบสำหรับ TRSDOS 6.2 [ 1 ]
- ปลายปี 1986 – Logical Systems เปิดตัว LS-DOS 6.3 ซึ่งเป็นการอัปเดตที่มีฟังก์ชันการทำงานเทียบเท่ากับ TRSDOS 6.2 และตั้งแต่วันนั้นเป็นต้นไป Tandy/Radio Shack ก็เริ่มจำหน่ายพร้อมกับ Model 4D
คุณสมบัติและความสามารถ
คอมพิวเตอร์ TRS-80 ของ Radio Shack ที่ใช้ชิป Z80 ( รุ่น I/IIIและรุ่น 4 ) รองรับไดรฟ์ฟลอปปี้ดิสก์ (มินิดิสก์เกต) ได้สูงสุดสี่ตัว ซึ่ง (ตามที่จำหน่าย) ใช้ดิสก์ขนาด 5¼ นิ้ว ระบบปฏิบัติการ TRSDOS รุ่นดั้งเดิมสำหรับรุ่น I รองรับเฉพาะดิสก์ด้านเดียวที่มี 35 แทร็กที่ฟอร์แมตแบบความหนาแน่นเดียว ( เซกเตอร์ถูกเข้ารหัสโดยใช้ เทคนิค การมอดูเลชั่นความถี่ ) TRSDOS รุ่น III (เวอร์ชันสุดท้ายคือ 1.3) รองรับดิสก์ 40 แทร็กที่ฟอร์แมตแบบความหนาแน่นสองเท่า (โดยใช้การมอดูเลชั่นความถี่ที่ดัดแปลง ) รุ่น I ที่ได้รับการดัดแปลงด้วยคอนโทรลเลอร์ความหนาแน่นสองเท่า และรุ่น I/III ที่ติดตั้งไดรฟ์ 80 แทร็กหรือไดรฟ์สองด้านไม่สามารถใช้ TRSDOS ได้ RadioShack จำหน่ายระบบปฏิบัติการ LDOS ของ Logical System ซึ่งสามารถควบคุมไดรฟ์ประเภทเหล่านี้ได้ TRSDOS 6 ของรุ่น 4 เป็นการพัฒนาต่อยอดจาก LDOS และมีคุณสมบัติเช่นเดียวกัน
ฮาร์ดดิสก์ไดรฟ์ (ในสมัยนั้นเรียกว่าไดรฟ์วินเชสเตอร์ ) จำเป็นต้องใช้ ซอฟต์แวร์ ไดรเวอร์ เฉพาะ ที่ผู้ผลิตจัดหาให้ ไดรเวอร์เหล่านี้อนุญาตให้การติดตั้ง TRSDOS ใดๆ ก็ตามเข้าถึงได้ โดย สามารถแบ่ง พาร์ติชั่น ได้สูงสุดแปด พาร์ติชั่น แต่ละพาร์ติชั่นกำหนดหมายเลขไดรฟ์ตั้งแต่ศูนย์ถึงเจ็ด อันที่จริง ฮาร์ดไดรฟ์ขนาดใหญ่สามารถฟอร์แมตได้มากกว่าแปดพาร์ติชั่น แต่ TRSDOS สามารถเข้าถึงได้เพียงแปดพาร์ติชั่นในแต่ละครั้งเท่านั้น ฮาร์ดไดรฟ์อาจมีบางพาร์ติชั่นที่ฟอร์แมตภายใต้ TRSDOS และบางพาร์ติชั่นภายใต้ระบบปฏิบัติการ CP/M ไดรฟ์ฟลอปปี้แต่ละตัวในระบบก็จะใช้หมายเลขไดรฟ์หนึ่งหมายเลขเช่นกัน สำหรับรุ่น Model 4 ที่มีความสามารถในการตั้งค่าแรมดิสก์ (Memdisk) ก็จำเป็นต้องมีการกำหนดหมายเลขไดรฟ์สำหรับสิ่งนี้ด้วย
TRSDOS ทุกเวอร์ชันใช้โอเวอร์เลย์เพื่อตอบสนองคำขอของระบบส่วนใหญ่ และไดเร็กทอรีดิสก์จะไม่ถูกเก็บไว้ในหน่วยความจำ ซึ่งมีผลกระทบต่อประสิทธิภาพของระบบสองประการ ประการแรก เมื่อเข้าถึงไฟล์ครั้งแรก DOS จะอ้างอิงถึงไดเร็กทอรีดิสก์เสมอเพื่อรับข้อมูลเกี่ยวกับการแมปทางกายภาพของพื้นที่ดิสก์ที่จัดสรรให้กับไฟล์ (รวมถึงส่วนขยาย หากมี) หลังจากเข้าถึงครั้งแรก ข้อมูลนี้จะถูกเก็บไว้ในบล็อกควบคุมไฟล์ ซึ่งพื้นที่หน่วยความจำสำหรับบล็อกนี้จะถูกจัดหาโดยแอปพลิเคชันที่เรียกใช้ การอ้างอิงเพิ่มเติมไม่จำเป็นต้องอ่านไดเร็กทอรีดิสก์ (เว้นแต่จะมีการเขียนไฟล์และจำเป็นต้องจัดสรรพื้นที่ดิสก์เพิ่มเติม) ด้วยเหตุนี้ ประสิทธิภาพของระบบจึงขึ้นอยู่กับว่าพื้นที่ดิสก์ที่จัดสรรให้กับไฟล์นั้นอยู่ใกล้กับไดเร็กทอรีไซลินเดอร์มากแค่ไหน และ ไฟล์นั้น มีการแตกกระจาย มากน้อยเพียงใด (ส่วนขยายที่อยู่ในพื้นที่ที่ไม่ต่อเนื่องกัน) ยิ่งไดเร็กทอรีไซลินเดอร์อยู่ห่างออกไปมากเท่าใด หัวอ่าน/เขียนของไดรฟ์ก็จะต้องเคลื่อนที่มากขึ้นเท่านั้น ซึ่งจะทำให้การเข้าถึงดิสก์ช้าลงและทำให้เกิดการสึกหรอทางกลมากขึ้นบนไดรฟ์ TRSDOS มีคำสั่งที่อนุญาตให้ผู้ใช้ปรับการจัดวางไฟล์เฉพาะบนพื้นที่ทางกายภาพของดิสก์ให้เหมาะสมที่สุด และยังมีFREEคำสั่งสำหรับแสดงแผนผังการจัดวางไฟล์บนไดรฟ์อีกด้วย
ผลกระทบประการที่สองของสถาปัตยกรรมแบบโอเวอร์เลย์คือ ดิสก์ที่มีไฟล์ระบบ TRSDOS (นามสกุลไฟล์ /SYS) จะต้องมีอยู่ในไดรฟ์ใดก็ตามที่ถูกกำหนดให้เป็นไดรฟ์ตรรกะหมายเลขศูนย์เสมอ (ในรุ่น Model 4 อาจเป็น Memdisk ซึ่งจะทำให้ไดรฟ์ทางกายภาพหมายเลขศูนย์ว่างลงและสามารถนำไปใช้กับดิสก์ข้อมูลที่ไม่ใช่ระบบได้) LDOS และ TRSDOS 6 มีคำสั่ง SYSRES ซึ่งโหลดไฟล์ระบบที่เลือกไว้ลงใน RAM ของ Z80 ซึ่งจะทำให้มีพื้นที่ว่างบนดิสก์ระบบสำหรับข้อมูลที่ไม่ใช่ระบบ ทุกเวอร์ชันมีคำสั่ง SYSTEM ที่สามารถกำหนดหมายเลขไดรฟ์ตรรกะให้กับไดรฟ์ทางกายภาพได้ใหม่ เป็นไปได้ที่จะกำหนดหมายเลขไดรฟ์โดยที่ไดรฟ์ทางกายภาพไม่มีหมายเลขไดรฟ์ตรรกะ ซึ่งบางครั้งมีประโยชน์ในการรับประกันว่าไม่สามารถเข้าถึงไดรฟ์ได้เพื่อวัตถุประสงค์ด้านความปลอดภัย ( การป้องกันการเขียน ) นอกจากนี้ยังสามารถตั้งค่าไดรฟ์ให้ป้องกันการเขียนโดย DOS ได้อีกด้วย
การจัดการดิสก์
หน้าที่หลักของระบบปฏิบัติการดิสก์ ใดๆ ก็ คือการอำนวยความสะดวกให้ผู้ใช้สามารถจัดการและเข้าถึงไฟล์ที่จัดเก็บไว้ในอุปกรณ์จัดเก็บข้อมูลดิสก์ได้ เนื่องจากผู้ใช้ไม่ควรต้องยุ่งยากกับรายละเอียดทางกายภาพของอุปกรณ์จัดเก็บข้อมูลเหล่านั้น ระบบปฏิบัติการจึงมีหน้าที่แปลงคำขอเข้าถึงระเบียนไฟล์ให้เป็นพารามิเตอร์เฉพาะของไดรฟ์ แทร็ก เซกเตอร์ และหัวอ่าน ที่ระบุตำแหน่งการจัดเก็บของแต่ละระเบียนได้อย่างแม่นยำ
ระบบยังเก็บรักษาตาราง ควบคุมไดรฟ์ ( Drive Control Table) ไว้ในหน่วยความจำ Z80 ภายใน TRSDOS ซึ่งจัดเก็บพารามิเตอร์ที่เกี่ยวข้องกับไดรฟ์เชิงตรรกะทั้งแปดตัว พารามิเตอร์ของไดรฟ์ดิสก์หมายถึงวิธีการแบ่งพื้นที่จัดเก็บทั้งหมดบนไดรฟ์ออกเป็นหน่วยที่สามารถระบุตำแหน่งได้ ชั้นของอนุภาคแม่เหล็กบนพื้นผิวของสื่อดิสก์จะถูกทำให้เป็นแม่เหล็ก (ระหว่างกระบวนการฟอร์แมต) เป็นวงกลมศูนย์กลางของพื้นที่จัดเก็บที่เรียกว่าแทร็ก (TRACKS ) แต่ละแทร็กจะถูกแบ่งออกเป็นพื้นที่ย่อยขนาด 256 ไบต์ที่เรียกว่าเซกเตอร์ (SECTORS ) แต่ละเซกเตอร์จะถูกระบุอย่างไม่ซ้ำกันด้วยรูปแบบข้อมูลที่อยู่ก่อนหน้าแต่ละเซกเตอร์ที่เรียกว่า ฟิลด์ประจำ ตัว (ID FIELD ) แม้ว่าจำนวนเซกเตอร์ต่อแทร็กอาจแตกต่างกันไปตามประเภทของสื่อ แต่จำนวนเซกเตอร์ในแต่ละแทร็กของสื่อเดียวกัน (และในแต่ละแกรนูล) จะต้องคงที่เสมอ
ดิสก์มีการจัดเรียงดังนี้: แต่ละแทร็กจะถูกฟอร์แมตเป็นเซกเตอร์ขนาด 256 ไบต์จำนวนหนึ่ง โดยมีความจุสูงสุด 32 เซกเตอร์ต่อแทร็ก เซกเตอร์จะถูกจัดกลุ่มเป็นบล็อกที่เรียกว่าแกรนูลซึ่งมีขนาดแตกต่างกันไปตามความจุรวมของแทร็กในดิสก์ แต่ขนาดของแกรนูลสำหรับแต่ละรูปแบบดิสก์นั้นคงที่ สำหรับดิสก์แบบ 40 ไซลินเดอร์ที่ฟอร์แมตแบบความหนาแน่นสองเท่า ซึ่งเป็นมาตรฐานสำหรับไดรฟ์ที่ติดตั้งในรุ่น TRS-80 III และ 4 ขนาดของแกรนูลคือ 6 เซกเตอร์ขนาด 256 ไบต์ หรือ 1.5 KB แต่ละแทร็กมี 3 แกรนูลสำหรับพื้นที่จัดเก็บ 4.5 KB แต่ละด้าน (พื้นผิว) ของดิสก์มักจะถูกฟอร์แมตด้วย 40 แทร็ก ทำให้ได้พื้นที่ 180 KB ต่อด้าน รุ่น 4D ที่มีไดรฟ์สองด้านจะให้พื้นที่จัดเก็บ 360 KB เมื่อใดก็ตามที่ต้องการพื้นที่ดิสก์เพิ่มเติมสำหรับไฟล์ (เช่น การขยายไฟล์ในขณะที่กำลังเขียนอยู่) จะมีการจัดสรรแกรนูลเพิ่มเติม ดังนั้น เม็ดจึงกลายเป็นหน่วยจัดเก็บที่มีขนาดเล็กที่สุด
TRSDOS กำหนดหมายเลขให้กับทุกเซกเตอร์ ทุกแทร็ก และทุกพื้นผิว พื้นผิวจะถูกกำหนดหมายเลขเรียงลำดับโดยเริ่มจากศูนย์ แทร็กจะถูกกำหนดหมายเลขเรียงลำดับโดยเริ่มจากศูนย์ที่ขอบนอกสุดของดิสก์ โดยแทร็กด้านในสุดจะมีหมายเลขสูงสุด ในกรณีที่ใช้ไดรฟ์ที่มีหัวอ่านหลายหัว หมายเลขแทร็กบนพื้นผิวจะถูกทำซ้ำในแต่ละพื้นผิว โดยแทร็กที่มีหมายเลขเดียวกันทั้งหมดจะ รวมกันเป็น กระบอกสูบสำหรับฟลอปปี้ดิสก์สองด้านที่ฟอร์แมตบนรุ่น 4D แทร็กศูนย์ของพื้นผิวศูนย์และแทร็กศูนย์ของพื้นผิวหนึ่งจะถูกจัดกลุ่มเข้าด้วยกันเป็นกระบอกสูบศูนย์ ความจุของกระบอกสูบยังมีขีดจำกัดสูงสุดที่ 256 เซกเตอร์ต่อกระบอกสูบ หรือแปดแกรนูลต่อกระบอกสูบ ในขณะที่ระบบรองรับ (สำหรับฮาร์ดไดรฟ์ที่มีแผ่นจัดเก็บข้อมูลหลายแผ่น) หัวอ่านสูงสุดแปดหัวต่อไดรฟ์
ในระหว่างกระบวนการฟอร์แมตดิสก์ ไดเร็กทอรีไซลินเดอร์ของดิสก์จะถูกวางไว้ที่ไซลินเดอร์หมายเลขกลาง ดังนั้นดิสก์มาตรฐาน 40 ไซลินเดอร์จะมีไดเร็กทอรีติดตั้งอยู่ที่ไซลินเดอร์หมายเลข 20 ซึ่งจะช่วยลดระยะทางเฉลี่ย (และเวลาในการเข้าถึง) ที่หัวอ่าน/เขียนของไดรฟ์ต้องเคลื่อนที่เพื่อเข้าถึงไดเร็กทอรี เซกเตอร์แรกของไดเร็กทอรีดิสก์ประกอบด้วยตารางการจัดสรรแกรนูล (Granule Allocation Table หรือGAT ) GAT จะถูกแมปบิตไปยังแต่ละแกรนูลของพื้นที่บนไดรฟ์ ฟิลด์อื่นๆ ใน GAT ประกอบด้วยชื่อแพ็ค วันที่สร้าง (เมื่อฟอร์แมตดิสก์) รหัสผ่านแพ็ค และข้อมูลที่เกี่ยวข้องกับการกำหนดค่าของไดรฟ์
เมื่อต้องการเปิดไฟล์ ระบบจะต้องค้นหาข้อมูลในไดเร็กทอรีเพื่อหาบันทึกข้อมูลของไฟล์นั้น เวลาในการค้นหาจะลดลงเหลือน้อยที่สุดโดยใช้เทคนิคการแฮชเพื่อลดสตริง 11 ตัวอักษรที่ประกอบขึ้นจากชื่อไฟล์และนามสกุลให้เหลือเพียงค่าเดียว รหัสแฮชของแต่ละไฟล์จะถูกเก็บไว้ในตารางดัชนีแฮช (Hash Index Tableหรือ HIT) ซึ่งเป็นเซกเตอร์ที่สองของไดเร็กทอรี แต่ละตำแหน่งในตารางนี้จะสอดคล้องกับบันทึกข้อมูลในไดเร็กทอรีเฉพาะ ตารางแฮชซึ่งมีความยาวหนึ่งเซกเตอร์ สามารถสร้างดัชนีบันทึกข้อมูลหรือไฟล์ได้สูงสุด 256 รายการ ขนาดของไดเร็กทอรีจะขึ้นอยู่กับความจุของดิสก์ โดยมีขนาดสูงสุดหนึ่งไซลินเดอร์ (สูงสุด 34 เซกเตอร์) ดังนั้น ยิ่งความจุของดิสก์มากเท่าใด ไดเร็กทอรีก็จะยิ่งใหญ่ขึ้น และจำนวนชื่อไฟล์ที่สามารถจัดเก็บในดิสก์ก็จะยิ่งมากขึ้นเท่านั้น
ระเบียนไดเร็กทอรีประกอบด้วยข้อมูลต่างๆ เช่น วันที่แก้ไขไฟล์ครั้งล่าสุด รหัสผ่านสำหรับการอัปเดตและการเข้าถึง ระดับการเข้าถึง และคุณลักษณะอื่นๆ เช่น ไฟล์นั้นเป็นไฟล์ SYStem หรือ PDS (Partitioned Data Set) และมีการสำรองข้อมูลหรือไม่ หมายเลขสัมพัทธ์ของเซกเตอร์สุดท้ายในไฟล์ และไบต์สุดท้ายภายในเซกเตอร์สุดท้าย (หรือ End Of File) ระเบียนยังประกอบด้วยพื้นที่ทางกายภาพที่ไฟล์ใช้งานอยู่ โดยชี้ไปยังกระบอกสูบ จุดเริ่มต้นสัมพัทธ์ และจำนวนจุดต่อเนื่องสำหรับแต่ละส่วนขยายที่ประกอบเป็นไฟล์ เมื่อไฟล์มีส่วนขยายมากกว่าสี่ส่วน จะมีการใช้ระเบียนไดเร็กทอรีเพิ่มเติมตามความจำเป็น โดยมีตัวชี้ไปข้างหน้าและข้างหลังเชื่อมโยงแต่ละระเบียนของแต่ละไฟล์ ดังนั้น จำนวนไฟล์สูงสุดตามทฤษฎี 256 ไฟล์ที่เป็นไปได้บนฟลอปปี้ดิสก์นั้น จะเป็นไปได้ก็ต่อเมื่อไม่มีการแตกกระจายของไฟล์เท่านั้น
เมื่อ TRSDOS ทำการฟอร์แมตดิสก์ พารามิเตอร์ทั้งหมดที่เกี่ยวข้องกับดิสเก็ตจะถูกกำหนดไว้ล่วงหน้า ดังนั้น จำนวนเซกเตอร์ต่อแทร็ก จำนวนเซกเตอร์ต่อแกรนูล และจำนวนแกรนูลต่อแทร็ก จำนวนด้าน (พื้นผิว) และจำนวนกระบอกสูบ ล้วนถูกกำหนดไว้แล้ว เช่นเดียวกับความหนาแน่นของสื่อ บางส่วนของตัวเลขเหล่านี้ (ความหนาแน่น จำนวนด้าน จำนวนแกรนูลต่อแทร็ก) จะถูกเขียนลงในฟิลด์ในตารางการจัดสรรแกรนูล (Granule Allocation Table) ซึ่งเป็นส่วนหนึ่งของไดเร็กทอรีดิสก์ ส่วนตัวเลขอื่นๆ (จำนวนเซกเตอร์ต่อแทร็ก จำนวนเซกเตอร์ต่อแกรนูล นอกเหนือจากปริมาณก่อนหน้า) เป็นส่วนหนึ่งของฟิลด์ในตารางควบคุมไดรฟ์ (Drive Control Table) เมื่อระบบพยายามเปิดไฟล์บนดิสก์ ระบบจะใช้ SVC @CKDRV เพื่อตรวจสอบความพร้อมใช้งานของดิสก์ จากนั้นจะบันทึกดิสก์เมื่อพบว่าพร้อมใช้งาน ฟังก์ชัน "การบันทึก" นี้จะอัปเดตฟิลด์ DIRCYL จากนั้นอัปเดตฟิลด์ DBLBIT และ MAXCYL ตามข้อมูลที่จัดเก็บไว้ใน GAT ขั้นตอนนี้ช่วยให้ผู้ใช้ไม่ต้องบันทึกดิสก์ที่ใส่ใหม่ด้วยตนเอง เขามีอิสระที่จะเปลี่ยนดิสก์ที่มีรูปแบบแตกต่างกันในไดรฟ์ใดก็ได้โดยไม่ต้องกังวลว่าระบบจะเข้าถึงดิสก์นั้นอย่างไม่ถูกต้อง
คำสั่งพื้นฐานของดิสก์ SVC จะถูกส่งผ่านรูทีนระบบทั่วไปที่มีอยู่ในซอฟต์แวร์ไดรเวอร์ที่ติดตั้งสำหรับอุปกรณ์จัดเก็บข้อมูลดิสก์แต่ละประเภท ไดรเวอร์สำหรับฟลอปปี้ไดรฟ์รุ่น Model III หรือ Model 4 มีชื่อว่า$FDและอยู่ในพื้นที่หน่วยความจำต่ำของ TRSDOS ฮาร์ดดิสก์ไดรฟ์จะมีซอฟต์แวร์ไดรเวอร์ของตัวเอง และโดยปกติจะติดตั้งอยู่ในหน่วยความจำสูง (RAM Z80 หลัก 64K) เหนือ ตัวชี้ HIGH$ ของระบบ เนื่องจากพื้นที่ในหน่วยความจำต่ำมักไม่เพียงพอ (โดยเฉพาะใน Model 4 เนื่องจากซอฟต์แวร์ที่จำเป็นในการเข้าถึงหน่วยความจำภายนอกไม่สามารถอยู่ในหน่วยความจำ RAM Z80 สูงได้ เพราะพื้นที่นั้นอยู่ในพื้นที่สลับ RAM แบบแบ่งส่วน) รูทีนไดรเวอร์เหล่านี้จะสร้างโปรโตคอลการเชื่อมโยงระหว่างแอปพลิเคชันที่ร้องขอการเข้าถึงดิสก์และฮาร์ดแวร์ตัวควบคุมฟลอปปี้ดิสก์ของคอมพิวเตอร์ TRS-80 ใช้ชิปควบคุมจาก ซีรี่ส์ Western Digital : WD1791 ในรุ่น Model 4 ที่ไม่ใช่แบบ Gate Array และ WD1773 ในรุ่น Model 4 แบบ Gate Array เมื่อมีการเรียกใช้คำขอ I/O โดย SVC ระดับสูงกว่า เช่น คำขออ่านระเบียนไฟล์ คำขอจะถูกแปลงเป็นพรีมิทีฟดิสก์ (คำสั่ง FDC หรือรายงานสถานะ) ที่จำเป็นเพื่อตอบสนองคำขอฟังก์ชัน โปรโตคอลการเชื่อมโยงมีความสม่ำเสมอในอุปกรณ์ดิสก์ทั้งหมดที่เชื่อมต่อกับระบบ ทำให้การเข้าถึงไฟล์โปร่งใสต่อขนาดหรือลักษณะของอุปกรณ์ดิสก์ภายในขอบเขตของพารามิเตอร์ที่จัดเก็บไว้ใน DCT สำหรับไดรฟ์นั้น[ 5 ]
การจัดการไฟล์
ไฟล์ดิสก์รองรับการเข้าถึงสองประเภท ได้แก่ การอ่าน/เขียนข้อมูลระดับระเบียน (Record I/O) และการอ่าน/เขียนข้อมูลระดับอักขระ (Character I/O) ระเบียนเชิงตรรกะที่มีความยาวตั้งแต่ 1 ถึง 256 ไบต์ สามารถอ่านหรือเขียนได้โดยใช้คำขอ SVC @READ หรือ @WRITE การอ่าน/เขียนข้อมูลระดับระเบียนสามารถทำได้แบบสุ่ม (โดยใช้คำขอ SVC ตำแหน่งก่อน READ/WRITE) หรือแบบเรียงลำดับโดยใช้การอ่านหรือเขียนซ้ำๆ การอ่าน/เขียนข้อมูลระดับอักขระ (หรือไบต์) ทำได้โดยใช้คำขอ SVC @GET และ @PUT ซึ่งโดยพื้นฐานแล้วเหมือนกับการอ่าน/เขียนข้อมูลระดับระเบียนที่มีความยาวระเบียนเชิงตรรกะ (LRL) เท่ากับหนึ่ง (การเข้าถึงทางกายภาพไปยังอุปกรณ์จัดเก็บข้อมูลดิสก์จะอยู่ในหน่วยของเซกเตอร์ 256 ไบต์เสมอ ซึ่งกำหนดโดยฮาร์ดแวร์คอนโทรลเลอร์ดิสก์ TRS-80) อย่างไรก็ตาม หากใช้ GET หรือ PUT เพื่อเข้าถึงแบบเรียงลำดับ ไฟล์นั้นสามารถถือได้ว่าเป็นอุปกรณ์อ่าน/เขียนข้อมูลระดับอักขระเช่นเดียวกับเครื่องพิมพ์พอร์ตอนุกรมหรืออุปกรณ์แสดงผลวิดีโอ ดังนั้น คำขอรับส่งข้อมูลไบต์จึงไม่ขึ้นอยู่กับอุปกรณ์ทางกายภาพที่ "เชื่อมต่อ" กับบล็อกควบคุมที่ร้องขอการรับส่งข้อมูลนั้น ทำให้ระบบ "เป็นอิสระจากอุปกรณ์"
ชื่อไฟล์จำกัดอยู่ที่ อักขระ ตัวอักษรและตัวเลขแปดตัว (อักขระตัวแรกต้องเป็นตัวอักษร) โดยไม่คำนึงถึงตัวพิมพ์ใหญ่หรือเล็ก (ใช้เฉพาะตัวพิมพ์ใหญ่เท่านั้น ตัวอักษรพิมพ์เล็กที่ป้อนจะถูกแปลงเป็นตัวพิมพ์ใหญ่) นามสกุลไฟล์มีได้สูงสุดสามตัวอักษรและใช้กฎเดียวกัน รหัสผ่านไฟล์มีได้สูงสุดแปดตัวอักษรและใช้กฎเดียวกัน (TRSDOS เวอร์ชัน 6 จนถึง 6.2 รองรับทั้งรหัสผ่านเจ้าของและรหัสผ่านผู้ใช้) นอกจากนี้ยังสามารถกำหนดรหัสผ่านหลักให้กับดิสเก็ตทั้งแผ่นได้ ซึ่งอาจจำกัดการเข้าถึงของผู้ใช้ผ่านคำสั่ง BACKUP และ PURGE
ภายใต้ TRSDOS และ LDOS ระบบจะไม่ "ล็อกอิน" เข้าสู่ไดรฟ์ปัจจุบันใดๆ เหมือนกับในCP/M , PC DOSและMS-DOSพร้อมท์ระบบจะแสดงอยู่เสมอTRSDOS พร้อมใช้งานคำขอเข้าถึงไฟล์ทั้งหมด (ไม่ว่าจะมาจากผู้ใช้ที่คอนโซลหรือโปรแกรมที่กำลังทำงานอยู่) จะได้รับการตอบสนองโดยการค้นหาในไดเร็กทอรีของไดรฟ์แรกที่ระบุ (ถือเป็นไดรฟ์ศูนย์หากไม่ได้ระบุหมายเลขไดรฟ์) และหากไม่พบไฟล์ที่ร้องขอ ก็จะค้นหาในไดรฟ์ถัดไป (หมายเลขสูงกว่า) ในระบบ กระบวนการนี้จะดำเนินต่อไปจนกว่าจะพบไฟล์หรือค้นหาในไดรฟ์ทั้งหมดในระบบแล้ว (แต่ดูรายละเอียดเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงของกฎนี้ได้ด้านล่าง)
หมายเลขไดรฟ์จะระบุโดยใช้เครื่องหมายโคลอน:ตามด้วยหมายเลขไดรฟ์ทันที เครื่องหมายโคลอนเป็นตัวเลือกเสริม ยกเว้นในกรณีที่ใช้การระบุไดรฟ์เป็นส่วนต่อท้ายของชื่อไฟล์ตัวอย่างเช่น คำสั่ง directory: DIR
- DIRแสดงไฟล์ทั้งหมดโดยเริ่มจากไดรฟ์ตรรกะศูนย์ จากนั้นไดรฟ์หนึ่ง และต่อไปเรื่อยๆ
- DIR :4หรือค้นหาในไดรฟ์ตรรกะที่สี่ (สำหรับไฟล์ทั้งหมด เช่นเดียวกับกรณีที่ไม่ได้ระบุชื่อไฟล์)DIR 4
- DIR :4-6หรือค้นหาในไดรฟ์ตรรกะที่สี่ ห้า และหกDIR 4-6
- DIR :4-หรือค้นหาในไดรฟ์ตรรกะที่สี่ ห้า หก และเจ็ดDIR 4-
- DIR FILENAME:2ค้นหาไฟล์ชื่อ FILENAME ในไดรฟ์ตรรกะที่สอง
- DIR FILENAME:2-ค้นหาไฟล์ชื่อ FILENAME ในไดรฟ์ตรรกะทั้งหมด โดยเริ่มจากไดรฟ์ที่สอง
ดังที่เห็น เครื่องหมายขีดกลางใช้เพื่อระบุช่วงหมายเลขไดรฟ์ คำสั่ง และ(แคตตาล็อก) จะแสดงข้อมูลจำเพาะของไฟล์ทั้งหมด ( filespecs ) ที่ตรงกับคำค้นหาในทุกไดรฟ์ คำสั่ง/ยูทิลิตี้อื่นๆ เช่นและการค้นหาไดรฟ์ที่เริ่มต้นโดยโปรแกรมที่กำลังทำงานอยู่ จะหยุดการค้นหาที่ไดรฟ์แรกที่พบว่าตรงกัน หากมี filespec เดียวกันอยู่ในหลายไดรฟ์ ไฟล์เหล่านั้นในไดรฟ์ที่มีหมายเลขสูงกว่าจะถูกยกเว้น -DIRCATBACKUPCOPYPURGE
ระบบรองรับ การเข้าถึงไฟล์โดยใช้ชื่อไฟล์บางส่วน ( partspecs ), นามสกุลไฟล์ และวันที่ของไฟล์ ตัวอย่างเช่น:
- DIR SAMPLEจะเลือกไฟล์ SAMPLE, SAMPLE1, SAMPLE23 และ SAMPLEIT
- DIR /BASจะเลือกไฟล์ SAMPLE/BAS, TEST/BAS, EXAMPLE/BAS เป็นต้น
เช่นเดียวกับตัวอย่างก่อนหน้านี้ ข้อมูลจำเพาะของไดรฟ์ ( drivespecs ) อาจถูกเพิ่มต่อท้ายข้อมูลจำเพาะของไฟล์ (filespecs) ตัวอย่างเหล่านี้สมมติว่าไฟล์ที่เลือกไม่ได้ถูกซ่อนไว้ในไดเร็กทอรีของดิสก์ คำขอเข้าถึงไฟล์ที่ส่งโดยโปรแกรมแอปพลิเคชันที่ทำงานภายใต้ TRSDOS ทำงานในลักษณะเดียวกัน DIR
อินเทอร์เฟซบรรทัดคำสั่ง
ภายใต้ TRSDOS/LS-DOS 6.x ตัวแปลคำสั่ง ระบบมาตรฐาน (SYS1/SYS) สามารถถูกแทนที่ด้วยตัวแปลคำสั่งแบบกำหนดเองได้ โดยการคัดลอกตัวแปลคำสั่งใหม่ไปยังไฟล์ระบบ SYS13/SYS (ซึ่งในการติดตั้งที่ไม่ได้แก้ไขจะเป็นไฟล์จำลอง) ไฟล์นี้สามารถเป็นไฟล์โปรแกรมรหัสเครื่อง/CMD ใดก็ได้ ในเอกสารจะเรียกสิ่งนี้ว่า "ตัวแปลคำสั่งแบบขยาย" หรือ ECI
TRSDOS/LS-DOS 6.x รองรับอักขระตัวแทน (wildcard)ในชื่อไฟล์ ทั้งอักขระเดี่ยว ? และอักขระหลายตัว *
TRSDOS (เวอร์ชัน II) โดดเด่นตรงที่มีการใช้ คำ รบกวน (noise words) คล้ายกับ ข้อกำหนด COBOL ปี 1959 ซึ่งทำให้คำสั่งต่างๆ ดูคล้ายภาษาอังกฤษมากขึ้น ตัวอย่างเช่น คำสั่งต่อไปนี้ทำงานเหมือนกันทุกประการ:
- COPY filea fileb
- COPY filea TO fileb
เนื่องจาก TRSDOS ไม่มีแนวคิดเรื่องการเปลี่ยนเส้นทางการรับส่งข้อมูลไปยังไฟล์บนดิสก์เหมือนกับUNIX / LinuxและMS-DOSคำสั่ง APPEND จึงมีแนวคิดที่แตกต่างออกไปจากการเพิ่มข้อมูลผ่านการเปลี่ยนเส้นทางการรับส่งข้อมูลใน UNIX หรือ MS-DOS TRSDOS/LS-DOS 6.x มีฟังก์ชันการเปลี่ยนเส้นทางการรับส่งข้อมูลสำหรับอุปกรณ์ระบบ (แป้นพิมพ์ *KI, หน้าจอแสดงผล *DO, เครื่องพิมพ์ *PR, พอร์ตอนุกรม *CL) รวมถึงการเปลี่ยนเส้นทางระหว่างอุปกรณ์และไฟล์บนดิสก์ คำสั่ง DEVICE จะแสดงแผนผังของลิงก์และเส้นทางการรับส่งข้อมูล ภายใต้ DOS และ UNIX การพิมพ์ไฟล์สามารถทำได้โดยใช้การเปลี่ยนเส้นทาง โดยปกติแล้วภายใต้ UNIX จะทำโดยการส่งไฟล์ไปยัง " เครื่องพิมพ์แบบบรรทัด " (โดยใช้ คำสั่ง lpr ) เนื่องจาก UNIX เป็นระบบแบบหลายผู้ใช้ งานพิมพ์ใน TRSDOS/LS-DOS 6.x สามารถเปลี่ยนเส้นทางได้ (เช่น ไปยังไฟล์บนดิสก์) โดยใช้คำสั่ง LINK หรือ ROUTE กับอุปกรณ์ระบบ *PR
TRSDOS/LS-DOS 6.x ไม่รองรับไดเร็กทอรีย่อยหรือพื้นที่ผู้ใช้ อย่างไรก็ตาม คำสั่ง DIR และ CAT (Catalog) สำหรับแสดงข้อมูลไฟล์นั้นรองรับชื่อไฟล์บางส่วน คำต่อท้าย และวันที่ของไฟล์ตามปกติ ภายใต้ TRSDOS/LS-DOS 6.x ไฟล์สามารถทำให้มองไม่เห็นสำหรับคำสั่ง DIR และ CAT ได้ และสามารถแสดงผลได้โดยใช้พารามิเตอร์ INV (เว้นแต่ไฟล์ใดๆ จะถูกป้องกันด้วยรหัสผ่านและไม่ได้ระบุรหัสผ่านที่ถูกต้อง)
TRSDOS/LS-DOS 6.3 สามารถแสดงผลภาพหน้าจอไปยังเครื่องพิมพ์แบบบรรทัดได้โดยการกดปุ่ม +CTRL:
ระบบปฏิบัติการหลายเวอร์ชันรองรับการรักษาความปลอดภัยด้วยรหัสผ่านอย่างง่ายสำหรับไฟล์และโปรแกรม โดยมีสิทธิ์การเข้าถึงแบบอ่าน/เรียกใช้งานและแบบเต็มรูปแบบแยกกัน ตัวอย่างเช่น: ชื่อไฟล์/นามสกุล.รหัสผ่าน:ไดรฟ์# TRSDOS 6.x รองรับทั้งรหัสผ่านเจ้าของและผู้ใช้ (สูงสุด 8 ตัวอักษร) สำหรับไฟล์บนดิสก์ LS-DOS 6.3 ใช้พื้นที่สำหรับรหัสผ่านผู้ใช้สำหรับระบบการกำหนดวันที่แบบขยาย (หลังวันที่ 31 ธันวาคม 1987) ระบบปฏิบัติการ Model 4 ทั้งสองระบบสามารถตั้งค่าระดับการเข้าถึงไฟล์ต่างๆ และอนุญาตให้มีการป้องกันการเขียนด้วยซอฟต์แวร์สำหรับไฟล์บนดิสก์และดิสก์ทั้งหมดได้
คำสั่ง
แม้ว่า MS-DOS จะมีรากฐานมาจาก CP/M และTOPS-10 อย่างใกล้ชิด แต่คำสั่งการจัดการไฟล์หลายคำสั่งก็คล้ายคลึงกับคำสั่งของ TRSDOS คำสั่ง TRSDOS บางคำสั่งต่อไปนี้มีอยู่ในดิสก์ในรูปแบบไฟล์โปรแกรมแยกต่างหาก (DIR/CMD, FORMAT/CMD, BACKUP/CMD) ในขณะที่คำสั่งอื่นๆ ทั้งหมดมีอยู่ในรูปแบบโมดูลที่รวมอยู่ในไฟล์ไลบรารี (ในทางเทคนิคเรียกว่า Partitioned Data Sets หรือ PDSs) SYS6/SYS, SYS7/SYS และ SYS8/SYS ซึ่งรวมถึงคำสั่ง TRSDOS เช่น CAT, COPY, LIST, REMOVE, RENAME เป็นต้น ตัวอย่างยูทิลิตี้ TRSDOS ทั่วไปบางส่วน:
| สั่งการ | MS-DOS , OS/2 , Windows | ยูนิก , คล้ายยูนิก | คำอธิบาย | |
|---|---|---|---|---|
| ผนวก | พิมพ์ไฟล์1 >> ไฟล์2 | cat file >> file2 | ในระบบ TRSDOS 6.x แหล่งที่มาของข้อมูลที่เพิ่มเข้าไปอาจเป็นอุปกรณ์ป้อนข้อมูลของระบบ เช่น *KI ดังนั้นสิ่งใดก็ตามที่พิมพ์บนแป้นพิมพ์จะถูกเพิ่มเข้าไปในไฟล์เป้าหมาย ใช้คำสั่ง RESET *KI เพื่อยุติฟังก์ชันนี้ | |
| คุณลักษณะ | คุณลักษณะ | chmod | คำสั่ง ATTRIB, PROT และchmodในระบบ UNIX นั้นมีความหมายแตกต่างกันเล็กน้อย UNIX/Linux เป็นระบบผู้ใช้หลายคน โดยผู้ใช้แต่ละคนสามารถควบคุมสิทธิ์ในการอ่าน เขียน และเรียกใช้งานไฟล์และไดเร็กทอรีของตนเองได้ ส่วน MS-DOS เป็นระบบผู้ใช้คนเดียว และคุณสมบัติของไฟล์ เช่น "อ่านอย่างเดียว" "ซ่อน" และ "ระบบ" นั้นเป็นเพียงคำแนะนำเท่านั้น TRSDOS ก็เคยเป็นระบบผู้ใช้คนเดียวเช่นกัน แต่ใน TRSDOS 6.x คำสั่ง ATTRIB สามารถแก้ไขสถานะการป้องกันของไฟล์ทั้งหมดในไดรฟ์ได้ หากมีการกำหนดรหัสผ่านหลักของไดรฟ์ และสามารถลบรหัสผ่านของผู้ใช้และเจ้าของไฟล์ที่มองเห็นได้ทั้งหมดด้วยคำสั่ง ATTRIB เพียงคำสั่งเดียว | |
| อัตโนมัติ | ออโต้เอ็กซ์ซี.แบต | ~/.profile หรือ ~/.login หรือ /etc/rc* | คำสั่ง AUTO จะตั้งค่าคำสั่งอัตโนมัติให้ทำงานเมื่อ TRSDOS บูตเครื่อง ในระบบ MS-DOS ไฟล์พิเศษที่สงวนไว้ชื่อAUTOEXEC.BATจะมีรายการคำสั่งดังกล่าวอยู่ TRSDOS/LS-DOS 6.x รองรับภาษาควบคุมงาน (Job Control Language) ซึ่งไฟล์ข้อความใดๆ ที่มีคำต่อท้าย /JCL สามารถประมวลผลแบบกลุ่ม (โดยใช้ คำสั่ง DO ) ไฟล์โปรแกรมที่เรียกใช้งานได้จำนวนมาก ไฟล์ดังกล่าวสามารถเป็นวัตถุของคำสั่ง AUTO ได้ ในระบบ UNIX ชุดไฟล์rc หนึ่งไฟล์หรือมากกว่านั้นภายใต้ /etc/คือชุด " คำ สั่งเรียกใช้ งาน" ในเวลาบูต เครื่องและ "ไฟล์ dot" พิเศษในไดเร็กทอรีโฮมของผู้ใช้จะถูกเรียกใช้งานทุกครั้งที่ผู้ใช้ล็อกอินเข้าสู่ระบบ UNIX รองรับ "ไฟล์ dot" อื่นๆ อีกมากมายสำหรับคำสั่งต่างๆ ซึ่งคล้ายกับเนื้อหาในโฟลเดอร์ "การตั้งค่า" ของ Macintosh | |
| สำรองข้อมูล | diskcopy , tar | tar, cpio , pax (และอื่นๆ อีกมากมาย) | TRSDOS/LS-DOS 6.x มีโปรแกรม BACKUP/CMD ซึ่งสามารถคัดลอกไฟล์จำนวนมากได้ โดยระบุการจับคู่ชื่อไฟล์บางส่วน คำต่อท้ายไฟล์ (เช่น /CMD หรือ /BAS) หรือวันที่ของไฟล์ สามารถตั้งค่า BACKUP ให้ขออนุญาตคัดลอกแต่ละไฟล์ก่อนได้โดยใช้ พารามิเตอร์ (Q=Y))สำหรับคอมพิวเตอร์ที่มีไดรฟ์เดียว พารามิเตอร์ X จะอนุญาตให้คัดลอกระหว่างสองดิสก์ โดยจะแจ้งให้ผู้ใช้ทราบเมื่อถึงเวลาเปลี่ยนดิสก์ในไดรฟ์ | |
| แมว | คำสั่ง TRSDOS CATalog จะแสดงข้อมูลหนึ่งบรรทัดเกี่ยวกับไดรฟ์ที่เลือก (ชื่อดิสก์ ความจุ วันที่) และรายการไฟล์พร้อมนามสกุลที่มีอยู่ในดิสก์ นี่เป็นเวอร์ชันย่อของคำสั่ง DIR ซึ่งช่วยให้แสดงข้อมูลไฟล์ได้มากขึ้นบนหน้าจอเดียวโดยไม่ต้องเลื่อนดูเนื้อหาทั้งหมดของดิสก์ CAT ใช้พารามิเตอร์เดียวกันกับ DIR สำหรับการแสดงไฟล์ INVisible และไฟล์ SYStem | |||
| นาฬิกา | แจ้งเตือน $t * | ในบางเชลล์: PS1="...\t..." * | โปรแกรม CLOCK จะติดตั้งงานขัดจังหวะที่แสดงเวลาของระบบที่มุมบนของหน้าจอ ไม่มีคุณสมบัติที่ตรงกันทุกประการใน MS-DOS หรือ UNIX แม้ว่าโปรแกรมหลายโปรแกรมจะมีคุณสมบัติที่คล้ายกันสำหรับ DOS และเชลล์ UNIX ทั่วไปสามารถฝังเวลาลงใน "สตริงข้อความแจ้งเตือน" ที่ผู้ใช้กำหนดเองได้ | |
| ซีแอลเอส | คลาส | ชัดเจน | การแสดงผลวิดีโอที่คมชัดและเคอร์เซอร์โฮม | |
| คอมม์ | ภายใต้ TRSDOS 6.x โปรแกรม COMM/CMD เป็นโปรแกรมเทอร์มินัล ที่ใช้สร้างการสื่อสารระหว่างพอร์ตอนุกรม RS-232Cของ Model 4 กับคอมพิวเตอร์เครื่องอื่น โมเด็ม หรือเครื่องพิมพ์/พล็อตเตอร์แบบอนุกรม ต้องติดตั้งไดรเวอร์สำหรับพอร์ตอนุกรม COM/DVR ก่อน โดยใช้คำสั่ง SET ซึ่งจะสร้างอุปกรณ์ *CL (Comm Line) ของระบบ จากนั้นใช้คำสั่ง SETCOM/CMD เพื่อตั้งค่าพารามิเตอร์สำหรับการสื่อสาร | |||
| สำเนา | สำเนา | ซีพี | ภายใต้ TRSDOS 6.x คำสั่ง COPY สามารถใช้เพื่อถ่ายโอนข้อมูลระหว่างอุปกรณ์ระบบ รวมถึงไฟล์บนดิสก์ได้ ตัวอย่างเช่น คำสั่ง COPY *KI *PR จะเปลี่ยนคอมพิวเตอร์ (หากเชื่อมต่อกับเครื่องพิมพ์แบบบรรทัดที่ใช้งานอยู่) ให้เป็นเครื่องพิมพ์ดีด เนื่องจากอักขระแต่ละตัวที่พิมพ์บนแป้นพิมพ์จะถูกส่งไปยังอุปกรณ์ *PR และอุปกรณ์ *DO ด้วย ซึ่งโดยพื้นฐานแล้วเหมือนกับคำสั่ง TRSDOS LINK *KI *PR ใช้คำสั่ง RESET *KI เพื่อปิดฟังก์ชันนี้ | |
| ดีบัก | ดีบัก | ไฟล์สเปคเสริมยังทำหน้าที่โหลดโปรแกรมรหัสเครื่อง /CMD เป้าหมายด้วย(ext)โหลดคำสั่งดีบักเกอร์เพิ่มเติมจากไฟล์ระบบ SYS9/SYS | ||
| อุปกรณ์ | แสดงสถานะของไดรฟ์ระบบและอุปกรณ์ลอจิกของระบบ รวมถึงเส้นทาง (ROUTE) และลิงก์ (LINK) ที่มีอยู่ระหว่างอุปกรณ์เหล่านั้น | |||
| ผู้กำกับ | ผู้กำกับ | ls | คำสั่ง DIR จะแสดงไฟล์เดียวกันกับที่คำสั่ง BACKUP เลือก ดังนั้นจึงมีประโยชน์ในการใช้เป็นเครื่องมือแสดงตัวอย่าง พารามิเตอร์(p)จะแสดงรายการไดเร็กทอรีไปยังเครื่องพิมพ์แบบบรรทัด ซึ่งสามารถกำหนดเส้นทางหรือเชื่อมโยงไปยังไฟล์บนดิสก์ได้ | |
| ดิสก์สำเนา | คัดลอกดิสก์ | LS-DOS 6.3 มีโปรแกรม DISKCOPY/CMD ซึ่งใช้สร้างสำเนาที่เหมือนกันทุกประการของดิสก์ต้นทาง โดยการฟอร์แมตและคัดลอกไปยังดิสก์ปลายทางที่ว่างเปล่า | ||
| กรอง | FILTER ใช้สำหรับแนบโปรแกรมกรอง /FLT เข้ากับอุปกรณ์ระบบ โดยมีสามโปรแกรมที่รวมอยู่ใน TRSDOS 6.x ได้แก่ FORMS/FLT ซึ่งใช้สำหรับการพิมพ์แบบจัดรูปแบบ, KSM/FLT ซึ่งเป็นฟังก์ชันมาโครแป้นพิมพ์ และ CLICK/FLT ซึ่งจะทำให้ลำโพงของ Model 4 ส่งเสียงบี๊บทุกครั้งที่กดปุ่ม | |||
| รูปแบบ | รูปแบบ | เอ็มเคเอฟเอส | โดยค่าเริ่มต้นจะบันทึก 40 แทร็ก ด้านเดียวสำหรับรุ่น III และ 4 และสองด้านสำหรับรุ่น 4D สามารถระบุจำนวนแทร็กต่อด้านได้โดยใช้พารามิเตอร์ (CYL= nn ) รุ่น 4D ทุกรุ่นและรุ่น 4 ส่วนใหญ่สามารถฟอร์แมตได้ 42 แทร็ก แม้ว่าไดรฟ์ที่จำหน่ายโดย Radio Shack จะมีขนาด 40 แทร็กตามที่ระบุไว้ก็ตาม | |
| แบบฟอร์ม | ภายใต้ TRSDOS 6.x จะมีการตั้งค่าพารามิเตอร์สำหรับข้อมูลที่ส่งไปยังอุปกรณ์ *PR ของระบบหลังจากที่ได้แนบตัวกรอง FORMS เข้ากับอุปกรณ์ *PR แล้ว พารามิเตอร์เหล่านี้ได้แก่ จำนวนอักขระต่อบรรทัดที่พิมพ์ จำนวนบรรทัดต่อหน้า ระยะขอบ อักขระขึ้นบรรทัดใหม่ที่เพิ่มเข้ามา เป็นต้น | |||
| ฟรี | chkdsk | df | TRSDOS 6.x แสดง แผนที่ ASCIIที่แสดงพื้นที่ดิสก์ที่ถูกครอบครองโดยไฟล์ที่ใช้งานอยู่ซึ่งมีรูปแบบ xxxxxx โดยกระบอกของไดเร็กทอรีจะแสดงเป็น DDDDDD | |
| GETDISK/GETTAPE | ? | ดีดี | ||
| ฆ่า | เดล | อาร์เอ็ม | ตั้งแต่ TRSDOS เวอร์ชัน 6.0 คำสั่ง KILL ถูกแทนที่ด้วย REMOVE (ตามบทความในวารสาร LSI เรื่อง "ห้ามฆ่า") | |
| รายการ | พิมพ์ | แมว | ภายใต้ TRSDOS/LS-DOS 6.x คำสั่ง LIST สามารถแสดงหรือพิมพ์เนื้อหาของไฟล์ที่ไม่ใช่ ASCII โดยใช้พารามิเตอร์ HEX ได้ สามารถหยุดการแสดงรายการชั่วคราวได้โดยใช้เครื่องหมาย +⇧ Shift@ | |
| โหลดไฟล์สเปค | (ไม่มีคำเทียบเท่า) | (ไม่มีคำเทียบเท่า) | การเรียกใช้โปรแกรมภายใต้ TRSDOS, DOS และ UNIX ทำได้โดยใช้ชื่อไฟล์ ไม่จำเป็นต้องใช้คำสั่งLOAD อย่างชัดเจนสำหรับไฟล์ปฏิบัติการไบนารีทั่วไป หรือไฟล์คำสั่งข้อความ ( ไฟล์แบตช์ใน DOS และสคริปต์เชลล์ใน UNIX/Linux) คำสั่ง LOADภายใต้ TRSDOS จะโหลดโปรแกรมไบนารีเข้าไปในหน่วยความจำ แต่จะไม่ทำการเรียกใช้งาน ซึ่งทั้ง DOS และ UNIX ไม่มีคำสั่งที่เทียบเท่ากันคำสั่ง LOADภายใต้ TRSDOS มักใช้เพื่อทำให้โปรแกรมรหัสเครื่อง Z80 (ไฟล์ /CMD) พร้อมใช้งานสำหรับดีบักเกอร์ของระบบเพื่อตรวจสอบหรือแก้ไข | |
| หน่วยความจำ | คำสั่ง MEMORY แสดงชื่อและขนาดของโมดูลหน่วยความจำที่ใช้งานจริง นอกจากนี้ยังใช้ในการแก้ไขไบต์แฟล็กของระบบ ตัวอย่างเช่น แฟล็ก A คือไบต์การจัดสรรของ DOS ซึ่งคำสั่ง BACKUP ใช้เพื่อระบุกระบอกสูบเริ่มต้นของดิสก์ที่จะเริ่มคัดลอกไฟล์ これにより ผู้ใช้สามารถควบคุมตำแหน่งทางกายภาพของไฟล์บนดิสก์ได้ ซึ่งมีความสำคัญต่อการลดการเคลื่อนที่ของหัวอ่าน/เขียนของไดรฟ์ระหว่างการเข้าถึงไฟล์ | |||
| แพทช์ | ? | แพทช์ | TRSDOS ทุกเวอร์ชันมีโปรแกรมยูทิลิตี้ PATCH/CMD ซึ่งช่วยให้สามารถแก้ไขไฟล์รหัสเครื่อง /CMD โดยใช้ข้อมูลแพทช์ที่ให้มาในไฟล์ /FIX ใน รูปแบบ เลขฐานสิบหก ASCII | |
| พิมพ์ | พิมพ์ไฟล์ >> prn | แอลพีอาร์ | ใน TRSDOS 6.x มีงานขัดจังหวะ (interrupt task) ที่ใช้ในการถ่ายโอนภาพที่แสดงอยู่บนหน้าจอไปยังเครื่องพิมพ์แบบบรรทัดได้ตลอดเวลา โดยสามารถเปิดใช้งานได้โดยใช้เครื่องหมาย+ หากอุปกรณ์ *PR ของระบบถูก ROUTED หรือ LINKED ไปยังไฟล์บนดิสก์ ข้อมูลก็จะถูกส่งไปยังไฟล์นั้น CTRL: | |
| ชำระล้าง | TRSDOS/LS-DOS 6.x รองรับคำสั่ง PURGE ซึ่งใช้ลบไฟล์จำนวนมากโดยระบุชื่อไฟล์บางส่วน นามสกุลไฟล์ หรือวันที่ของไฟล์ คำสั่ง PURGE จะขออนุญาตจากผู้ใช้ในการลบแต่ละไฟล์ เว้นแต่ จะระบุพารามิเตอร์ (Q=N)ไว้ | |||
| เปลี่ยนชื่อ | renหรือrename | เอ็มวี | ภายใต้ TRSDOS 6.x ผู้ใช้สามารถเปลี่ยนชื่อไฟล์แต่ละไฟล์หรือทั้งดิสเก็ตได้ | |
| เทป100 | TAPE100/CMD อ่านและเขียนเทปคาสเซ็ตที่บันทึกโดย แล็ปท็อป TRS-80 รุ่น 100ในรูปแบบไฟล์ดิสก์ TRSDOS 6.x ซึ่งต้องใช้พอร์ตเชื่อมต่อเทปคาสเซ็ตของรุ่น 4 ซึ่งรุ่น 4P แบบพกพาไม่มี |
ตัวอย่างโค้ด
ต่อไปนี้เป็นซอร์สโค้ดภาษาแอสเซมบลีZ80 สำหรับซับรูทีนชื่อ HELLO_WORLDนี่คือโปรแกรมเบื้องต้นที่จะพิมพ์ข้อความลงบนจอแสดงผลวิดีโอแล้วจึงจบการทำงาน แม้จะเรียบง่าย แต่ก็แสดงให้เห็นถึงวิธีการจัดรูปแบบซอร์สโค้ดแอสเซมบลีและการโต้ตอบกับฮาร์ดแวร์จอแสดงผลผ่าน TRSDOS ตัวอย่างนี้ใช้ TRS-80 รุ่น 4 ที่ทำงานบน TRSDOS/LS-DOS 6.x ซึ่งผลิตโดย Tandy/Radio Shack และ Logical Systems ร่วมกับแอสเซมบลีส่วนใหญ่ที่จำหน่ายโดย Radio Shack หรือ Misosys Inc. (Series I/EDTASM, ALDS, EDAS หรือ MRAS พร้อมสวิตช์) -GC
3000 3E 69 3002 เอฟ 3003 21 14 30 3006 3E 0A 3008 เอฟ 3009 0E 0D 300B 3E 02 300D EF 300E 21 00 00 3011 3E 16 3013 เอฟ 3014 48 65 6C 6C 3018 6F 2C 20 77 301C 6F 72 6C 64 3020 21 0D 0D 3023 | ; hello_world_TRS-80 รุ่น 4 ; พิมพ์ "Hello, world!" แล้วออกไปยัง TRSDOS Ready ; ; รีจิสเตอร์ขาเข้า: ไม่มี; รีจิสเตอร์ขาออก: ไม่มี; ; ค่าด้านล่างเป็นเลขฐานสิบ ยกเว้นกรณีที่ต่อท้ายด้วย H ; คำว่า "pseudo-op" มีความหมายเหมือนกับ "assembler directive" ไม่ใช่โค้ด Z80 ; @CLS EQU 105 ; pseudo-op EQU ตั้งค่าป้ายข้อความ @CLS = รหัสควบคุม TRSDOS @DSP EQU 2 ; ตั้งค่าป้ายข้อความ @DSP = TRSDOS SVC เพื่อส่งอักขระไปยังจอแสดงผล@DSPLY EQU 10 ; ตั้งค่าป้ายข้อความ @DSPLY = SVC สำหรับแสดงข้อความ@EXIT EQU 22 ; ตั้งค่าป้ายข้อความ @EXIT = SVC สำหรับกลับไปยัง TRSDOS Ready ; ORG 3000H ; คำสั่งเสมือน ORG ตั้งค่าที่อยู่เริ่มต้นมาตรฐานภายใต้ TRSDOS 6.x START LD A , @CLS ; CLS = ล้างหน้าจอ ลบหน้าจอและเคอร์เซอร์โฮมRST 40 ; คำสั่งรีสตาร์ท Z80 สำหรับโปรเซสเซอร์ SVC ของระบบ ดำเนินการ @CLS LD HL , MSG ; ชี้ไปยังสตริงข้อความด้วย HL (จำเป็นสำหรับ @DSPLY SVC) LD A , @DSPLY ; ส่งสตริงข้อความไปยังอุปกรณ์แสดงผล *DO (หน้าจอวิดีโอ) RST 40 ; ดำเนินการ @DSPLY SVC (ต้องใช้ไบต์ 13d เพื่อสิ้นสุดสตริง) LD C , 13 ; ตอนนี้ส่งการขึ้นบรรทัดใหม่อีกครั้ง จำเป็นในรีจิสเตอร์ C LD A , @DSP ; เพื่อตั้งค่าข้อความ Hello จากพรอมต์ TRSDOS Ready RST 40 ; เมื่อเราออกจากระบบLD HL , 0 ; ระบุว่าไม่มีเงื่อนไขข้อผิดพลาดไปยังตัวแปลคำสั่งLD A , @EXIT ; กลับไปยัง TRSDOS Ready RST 40 ; (รักษาความสมบูรณ์ของสแต็กไว้ได้ ใช้ RET ก็ได้!) MSG DB 'Hello, world!' , 13 ; DB = Define Byte pseudo-op ประกอบสตริง ASCII ลงในหน่วยความจำ Z80 CR DB 13 ; ไบต์ที่ 13 คืออักขระขึ้นบรรทัดใหม่ ASCII ย้ายเคอร์เซอร์ลงEND START ; END pseudo-op ที่จำเป็นสำหรับแอสเซมเบลอร์; เพื่อสร้างเรคอร์ดการถ่ายโอนไปยังจุดเริ่มต้นของโปรแกรม |
ลิงก์ภายนอก
- สรุปคำสั่งผู้ใช้ TRSDOS/LS-DOS 6.x
- ข้อความแสดงข้อผิดพลาด TRS-80 ที่เก็บถาวรไว้เมื่อวันที่ 5 มีนาคม 2021 ที่Wayback Machine
- TRS-80 กลับมาใช้งานอีกครั้ง
- หน้าหลักของรุ่น Model III (พร้อมรายชื่อทางเลือก TRSDOS บน TRS-80 รุ่น Model III)
- ซอฟต์แวร์จำลอง TRS-80 ของ Matthew Reedทำงานบนระบบ ปฏิบัติการ MS-DOS ; ต้องทำการแตกไฟล์ROM ออกมาก่อน
- xtrs คือโปรแกรมจำลอง TRS-80 สำหรับ UNIX และ X11; มีปัญหาเรื่อง ROM ที่คล้ายกัน
- TRSdiskและยูทิลิตี้ TRSDOS สำหรับ UNIX
- โปรแกรมจัดการฟลอปปี้ดิสก์เสมือน TRS-80
- แอปพลิเคชัน TRSDOS
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ทรสโดส
TRSDOS (ซึ่งย่อมาจากTandy Radio Shack Disk Operating System ) คือระบบปฏิบัติการสำหรับ ไมโครคอมพิวเตอร์ Zilog Z80แบบแปดบิตตระกูลTandy TRS - 80ที่วางจำหน่ายผ่านRadio Shackตั้งแต่ปี..
ประวัติศาสตร์
ไมโครคอมพิวเตอร์ TRS-80 ของ Tandy Corporation ไม่มีไดรฟ์ดิสก์หรือระบบปฏิบัติการดิสก์เมื่อวางจำหน่าย เวอร์ชันแรกของ TRSDOS โดย Randy Cook มีข้อบกพร่องมากจนผู้อื่นเขียนทางเลือกอื่นขึ้นมา รวมถึง NewDOS และ LDOS หลังจากข้อพิพาทกับ Cook เกี่ยวกับกรรมสิทธิ์ใน...
วันที่
ตุลาคม 1979 – Radio Shack เปิดตัว TRSDOS 2.3 1 พฤษภาคม 1981 – Radio Shack เปิดตัว Model III TRSDOS 1.3 26 เมษายน 1983 – เรดิโอแช็คเปิดตัว TRSDOS เวอร์ชัน 6.0 พร้อมกับวิทยุรุ่นใหม่ Model 4s พ.ศ. 2527 – Radio Shack ออกเวอร์ชัน 6.
คุณสมบัติและความสามารถ
คอมพิวเตอร์ TRS-80 ของ Radio Shack ที่ใช้ชิป Z80 ( รุ่น I/III และ รุ่น 4 ) รองรับไดรฟ์ฟลอปปี้ดิสก์ (มินิดิสก์เกต) ได้สูงสุดสี่ตัว ซึ่ง (ตามที่จำหน่าย) ใช้ ดิสก์ขนาด 5¼ นิ้ว ระบบปฏิบัติการ TRSDOS รุ่นดั้งเดิมสำหรับรุ่น I รองรับเฉพาะดิสก์ด้านเดียวที่มี 35 แทร็ก...