อ่าน 7 นาที
เจเนอรา (ซอฟต์แวร์)
Genera เป็น ระบบปฏิบัติการ เชิงพาณิชย์ และ สภาพแวดล้อมการพัฒนาแบบบูรณาการ สำหรับ เครื่อง Lisp ที่สร้างโดย Symbolics โดยพื้นฐานแล้วมันคือ การ แยกสาย จาก...
เจเนอรา (ซอฟต์แวร์)
| ยีน | |
|---|---|
| นักพัฒนา | สัญลักษณ์ |
| เขียนเป็น | ลิสป์ |
| ตระกูลระบบปฏิบัติการ | ระบบปฏิบัติการเครื่อง Lisp |
| สถานะการทำงาน | ปัจจุบัน |
| แบบจำลองแหล่งที่มา | มีแหล่งที่มา |
| การเผยแพร่ครั้งแรก | พ.ศ. 2525 |
| เวอร์ชันสุดท้าย | Portable Genera 2.0.6 / 17 สิงหาคม 2024 |
| มีจำหน่ายใน | ภาษาอังกฤษ |
| แพลตฟอร์มที่รองรับ | เครื่องSymbolics Lisp ต่างๆ, DEC Alpha , x86-64 , Arm64 , Apple Silicon M Series |
| ประเภทเคอร์เนล | เชิงวัตถุ |
| ส่วนติดต่อผู้ใช้เริ่มต้น | อิน เทอร์เฟซผู้ใช้แบบไดนามิกของ Windows |
| ใบอนุญาต | กรรมสิทธิ์ |
| เว็บไซต์อย่างเป็นทางการ | symbolics-dks |
Generaเป็นระบบปฏิบัติการเชิงพาณิชย์ และสภาพแวดล้อมการพัฒนาแบบบูรณาการสำหรับเครื่อง Lispที่สร้างโดยSymbolicsโดยพื้นฐานแล้วมันคือ การ แยกสาย จาก ระบบปฏิบัติการรุ่นก่อนหน้าซึ่งมีต้นกำเนิดมาจากเครื่อง Lisp ของห้องปฏิบัติการ AI ของสถาบันเทคโนโลยีแมสซาชูเซตส์ (MIT) ซึ่ง Symbolics เคยใช้ร่วมกับLisp Machines , Inc. (LMI) และTexas Instruments (TI) Symbolics ยังจำหน่าย Genera ในชื่อOpen Generaซึ่งทำงานบนคอมพิวเตอร์ที่ใช้โปรเซสเซอร์Digital Equipment Corporation (DEC) Alpha โดยใช้ Tru64 UNIXในปี 2021 ได้มีการออกเวอร์ชันใหม่ในชื่อPortable Generaซึ่งทำงานบน Tru64 UNIX บน Alpha, Linuxบนx86-64และArm64 LinuxและmacOSบน x86-64 และ Arm64 ( Apple Silicon M Series ) โดยจำหน่ายและอนุญาตให้ใช้งานใน ฐานะซอฟต์แวร์กรรมสิทธิ์
Genera เป็นตัวอย่างของระบบปฏิบัติการเชิงวัตถุที่พัฒนาขึ้นโดย ใช้ภาษาโปรแกรมLisp
Genera สนับสนุนการพัฒนาซอฟต์แวร์ที่ซับซ้อนแบบค่อยเป็นค่อยไปและแบบโต้ตอบ โดยใช้รูปแบบการเขียนโปรแกรมที่หลากหลาย พร้อมการสนับสนุนอย่างครอบคลุมสำหรับ การ เขียน โปรแกรมเชิงวัตถุ
ระบบปฏิบัติการเครื่อง Lisp ของ MIT
ระบบปฏิบัติการ Lisp Machine เขียนด้วยภาษาLisp Machine Lispเป็นเวิร์กสเตชันสำหรับผู้ใช้คนเดียว โดยมีเป้าหมายเริ่มต้นที่นักพัฒนาซอฟต์แวร์สำหรับ โครงการ ปัญญาประดิษฐ์ (AI) [ 1 ]ระบบมี หน้าจอ บิตแมป ขนาดใหญ่ เมาส์ คีย์บอร์ด อินเทอร์เฟซ เครือข่าย ไดรฟ์ดิสก์ และช่องสำหรับขยาย ระบบปฏิบัติการรองรับฮาร์ดแวร์นี้และให้ (ในบรรดาสิ่งอื่นๆ):
- โค้ดสำหรับตัวประมวลผลส่วนหน้า
- หมายถึงการบูตระบบปฏิบัติการ
- การจัดการหน่วยความจำเสมือน
- การเก็บขยะ
- อินเทอร์เฟซสำหรับเชื่อมต่อกับฮาร์ดแวร์ต่างๆ: เมาส์, คีย์บอร์ด, บัฟเฟอร์เฟรมภาพบิตแมป, ดิสก์, เครื่องพิมพ์, อินเทอร์เฟซเครือข่าย
- ตัวแปลภาษาและตัวคอมไพเลอร์โค้ดเนทีฟสำหรับภาษา Lisp Machine Lisp
- ระบบวัตถุ: รสชาติ
- ระบบหน้าต่างและตัวจัดการหน้าต่างที่มีส่วนติดต่อผู้ใช้แบบกราฟิก (GUI)
- ระบบไฟล์ท้องถิ่น
- การสนับสนุน เครือข่าย Chaosnet (CHAOS)
- โปรแกรม แก้ไขข้อความที่คล้ายกับ Emacsชื่อZmacs
- โปรแกรมอีเมลชื่อ Zmail
- ผู้ฟัง Lisp
- ตัวดีบักเกอร์
นี่เป็นระบบปฏิบัติการและสภาพแวดล้อมการพัฒนาแบบผู้ใช้คนเดียวที่สมบูรณ์แบบอยู่แล้ว โดยใช้ภาษา Lisp
ระบบปฏิบัติการเครื่อง MIT Lisp ได้รับการพัฒนาขึ้นในช่วงกลางทศวรรษ 1970 ถึงต้นทศวรรษ 1980
ในปี พ.ศ. 2549 ซอร์สโค้ด สำหรับระบบ ปฏิบัติการเครื่อง Lisp นี้จาก MIT ได้รับการเผยแพร่เป็นซอฟต์แวร์โอเพนซอร์สฟรี [ 2 ]
ระบบปฏิบัติการทั่วไป
บริษัท Symbolicsได้พัฒนาเครื่อง Lisp รุ่นใหม่ และเผยแพร่ระบบปฏิบัติการภายใต้ชื่อGeneraเวอร์ชันล่าสุดคือ 8.5 Symbolics Genera ได้รับการพัฒนาในช่วงต้นทศวรรษ 1980 และต้นทศวรรษ 1990 ในช่วงปีสุดท้าย การพัฒนาส่วนใหญ่เป็นการแก้ไขข้อบกพร่อง โดยมีฟังก์ชันใหม่ ๆ เพียงเล็กน้อย
บริษัท Symbolics พัฒนา Genera โดยใช้ระบบปฏิบัติการเครื่อง MIT Lisp เป็นพื้นฐาน บริษัทจำหน่ายระบบปฏิบัติการและซอฟต์แวร์เสริมบางส่วนของซอฟต์แวร์เสริมได้ถูกรวมเข้ากับ Genera ในเวอร์ชันต่อมา Symbolics ได้ปรับปรุงซอฟต์แวร์ระบบปฏิบัติการจากเครื่อง MIT Lisp ดั้งเดิมและขยายขีดความสามารถ ระบบปฏิบัติการ Genera มีให้ใช้งานเฉพาะกับเครื่อง Symbolics Lisp และเครื่องเสมือน Open Genera เท่านั้น
Symbolics Genera มีคุณสมบัติมากมายและรองรับฮาร์ดแวร์ทุกเวอร์ชันที่ Symbolics สร้างขึ้นตลอดอายุการใช้งาน โค้ดต้นฉบับมีมากกว่าหนึ่งล้านบรรทัด จำนวนบรรทัดขึ้นอยู่กับเวอร์ชันและปริมาณซอฟต์แวร์ที่ติดตั้ง Symbolics Genera ได้รับการเผยแพร่ในรูปแบบเทปแม่เหล็กและซีดีรอมการเผยแพร่ระบบปฏิบัติการยังได้จัดเตรียมโค้ดต้นฉบับส่วนใหญ่ของระบบปฏิบัติการและแอปพลิเคชันต่างๆ ไว้ด้วย ผู้ใช้สามารถเข้าถึงทุกส่วนของระบบปฏิบัติการที่กำลังทำงานอยู่ได้อย่างอิสระและสามารถเขียนการเปลี่ยนแปลงและส่วนขยายได้ โค้ดต้นฉบับของระบบปฏิบัติการแบ่งออกเป็นระบบต่างๆระบบเหล่านี้รวมเอาโค้ดต้นฉบับ ไบนารี และไฟล์อื่นๆ ไว้ด้วยกันชุดเครื่องมือสร้างระบบ (SCT) จะดูแลรักษาการพึ่งพา ส่วนประกอบ และเวอร์ชันของระบบทั้งหมด ระบบจะมีสองหมายเลข คือ หมายเลขเวอร์ชันหลักและหมายเลขเวอร์ชันรอง หมายเลขเวอร์ชันหลักจะนับจำนวนการสร้างระบบทั้งหมด หมายเลขเวอร์ชันรองจะนับจำนวนแพตช์ของระบบนั้นแพตช์คือไฟล์ที่สามารถโหลดเพื่อแก้ไขปัญหาหรือเพิ่มส่วนขยายให้กับระบบเวอร์ชันใดเวอร์หนึ่งได้
บริษัท Symbolics ได้พัฒนาเวอร์ชันหนึ่งชื่อOpen Generaซึ่งรวมถึงเครื่องเสมือนที่ช่วยให้สามารถเรียกใช้ Genera บนเวิร์กสเตชันที่ใช้โปรเซสเซอร์ DEC Alpha ได้ รวมถึงส่วนขยายและแอปพลิเคชัน Genera หลายตัวที่จำหน่ายแยกต่างหาก (เช่น ชุดโปรแกรม Symbolics S-Graphics ) นอกจากนี้ พวกเขายังสร้างระบบปฏิบัติการใหม่ชื่อMinimaสำหรับการใช้งานแบบฝังตัว โดยใช้ภาษา Common Lispเวอร์ชันล่าสุดคือPortable Generaซึ่งมีเครื่องเสมือนที่พอร์ตไปยัง โปรเซสเซอร์ x86-64 , Arm64และApple M1นอกเหนือจาก โปรเซสเซอร์ DEC Alphaแล้ว เครื่องเสมือนจะทำงานภายใต้ระบบปฏิบัติการ LinuxและmacOSรวมถึงTru64 UNIXด้วย
ระบบปฏิบัติการเครื่อง Lisp ดั้งเดิมได้รับการพัฒนาขึ้นในภาษา Lisp Machine Lispโดยใช้ ส่วนขยาย Flavorsที่เน้นการเขียนโปรแกรมเชิงวัตถุ Symbolics ได้พัฒนาภาษา Lisp รุ่นต่อมาชื่อNew Flavorsต่อมา Symbolics ยังสนับสนุน ภาษา Common LispและCommon Lisp Object System (CLOS) ด้วย จากนั้น Symbolics Common Lisp จึงกลายเป็นภาษา Lisp มาตรฐานสำหรับการเขียนซอฟต์แวร์ด้วย Genera ซอฟต์แวร์ของระบบปฏิบัติการส่วนใหญ่เขียนด้วย Lisp Machine Lisp (ชื่อZetaLisp ) และ Symbolics Common Lisp ซึ่งทั้งสองภาษานี้จัดทำโดย Genera นอกจากนี้บางส่วนของซอฟต์แวร์ยังใช้ Flavors, New Flavors และ Common Lisp Object System บางส่วนของระบบปฏิบัติการ Genera ที่เก่ากว่าได้รับการเขียนใหม่ด้วย Symbolics Common Lisp และ Common Lisp Object System แต่หลายส่วนของระบบปฏิบัติการยังคงเขียนด้วย ZetaLisp และ Flavors (หรือ New Flavors)
ส่วนติดต่อผู้ใช้
เวอร์ชันแรกๆ ของ Symbolics Genera ถูกสร้างขึ้นด้วยระบบหน้าต่างส่วนติดต่อผู้ใช้แบบกราฟิก (GUI) ดั้งเดิม ของระบบปฏิบัติการเครื่อง Lisp ต่อมา Symbolics ได้พัฒนาระบบหน้าต่างแบบใหม่ที่เรียกว่าDynamic Windowsซึ่งมีส่วนติดต่อผู้ใช้แบบอิงการนำเสนอ [ 3 ] ระบบหน้าต่างนี้ถูกนำมาใช้กับ Genera 7 ในปี 1986 [ 4 ]แอปพลิเคชันจำนวนมากของ Genera จึงใช้ Dynamic Windows สำหรับส่วนติดต่อผู้ใช้ในที่สุดก็มีการเคลื่อนไหวเพื่อพอร์ตส่วนต่างๆ ของระบบหน้าต่างให้ทำงานบนการใช้งาน Common Lisp อื่นๆ โดยผู้จำหน่ายรายอื่นในชื่อCommon Lisp Interface Manager (CLIM) CLIM มีเวอร์ชันต่างๆ ให้ใช้งาน (เช่น) สำหรับAllegro Common Lisp , LispWorksและMacintosh Common Lispนอกจากนี้ยังมีเวอร์ชันโอเพนซอร์สให้ใช้งาน ( McCLIM )
ระบบปฏิบัติการ Windows แบบไดนามิกใช้ประเภทข้อมูลแบบออบเจ็กต์สำหรับการแสดงผลทั้งหมดบนหน้าจอ ข้อมูลที่แสดงทั้งหมดจะรักษาความเชื่อมโยงกับออบเจ็กต์ที่แสดง ( การบันทึกเอาต์พุต ) ซึ่งใช้งานได้ทั้งกับเอาต์พุตที่เป็นข้อความและกราฟิก ในระหว่างการทำงาน การดำเนินการที่เหมาะสมกับออบเจ็กต์เหล่านี้จะถูกคำนวณโดยอิงตามลำดับชั้นของคลาสและการดำเนินการที่มีอยู่ ( คำสั่ง ) คำสั่งต่างๆ ถูกจัดระเบียบในตารางคำสั่งแบบลำดับชั้น พร้อมพารามิเตอร์แบบออบเจ็กต์ คำสั่งสามารถป้อนได้ด้วยเมาส์ (โดยใช้การกดเมาส์ หลายๆ ปุ่มพร้อมกันอย่างกว้างขวาง ) การกดแป้นพิมพ์ และด้วยอินเทอร์เฟซบรรทัดคำสั่ง แอปพลิเคชันทั้งหมดใช้ตัวแปลคำสั่งบรรทัดคำสั่งเดียวกัน ซึ่งปรับให้เข้ากับการใช้งานประเภทต่างๆ ความสามารถด้านกราฟิกของระบบหน้าต่างนั้นอิงตามแบบจำลองกราฟิก PostScript
ส่วนติดต่อผู้ใช้ส่วนใหญ่เป็นแบบขาวดำเนื่องจากนั่นคือสิ่งที่คอนโซลฮาร์ดแวร์มักจะให้มา แต่ก็มีการรองรับสีอย่างครอบคลุม โดยใช้เฟรมบัฟเฟอร์สีหรือ เซิร์ฟเวอร์ X Window System (X11) ที่รองรับสีกิจกรรม (แอปพลิเคชัน) ใช้พื้นที่หน้าจอทั้งหมดโดยมีหลายบานหน้าต่าง แม้ว่าหน้าต่างอาจมีขนาดเล็กกว่าก็ได้ การจัดวางหน้าต่างกิจกรรมเหล่านี้จะปรับให้เข้ากับขนาดหน้าจอที่แตกต่างกัน กิจกรรมยังสามารถสลับระหว่างรูปแบบการจัดวางบานหน้าต่างต่างๆ ได้อีกด้วย
Genera มีเมนูระบบสำหรับควบคุมหน้าต่าง สลับแอปพลิเคชัน และใช้งานระบบหน้าต่าง คุณสมบัติหลายอย่างของส่วนติดต่อผู้ใช้ (การสลับระหว่างกิจกรรม การสร้างกิจกรรม การหยุดและเริ่มกระบวนการ และอื่นๆ อีกมากมาย) สามารถควบคุมได้ด้วยคำสั่งแป้นพิมพ์เช่นกัน
Dynamic Lisp Listenerเป็นตัวอย่างของอินเทอร์เฟซบรรทัดคำสั่งที่มีความสามารถด้านกราฟิกอย่างเต็มรูปแบบและรองรับการโต้ตอบด้วยเมาส์ มันรับนิพจน์และคำสั่ง Lisp เป็นอินพุต เอาต์พุตจะตอบสนองต่อเมาส์ Lisp Listener สามารถแสดงแบบฟอร์มเพื่อป้อนข้อมูลสำหรับคำสั่งในตัวต่างๆ ได้
ส่วนติดต่อผู้ใช้มีระบบช่วยเหลือออนไลน์ ที่ครอบคลุม และระบบช่วยเหลือตามบริบทรวมถึงการเลือกตัวเลือกที่เหมาะสมในบริบทต่างๆ
เอกสารประกอบ
Genera รองรับ เอกสารออนไลน์ ที่มีการเชื่อมโยงไฮเปอร์ลิงก์ อย่างสมบูรณ์ เอกสารเหล่านี้จะถูกอ่านด้วยDocument Examiner ซึ่งเป็นโปรแกรมอ่าน ไฮเปอร์เท็กซ์รุ่นแรกๆเอกสารเหล่านี้มีพื้นฐานมาจากบันทึกเอกสารขนาดเล็กที่สามารถนำกลับมาใช้ใหม่ได้ และสามารถแสดงผลในบริบทต่างๆ ได้ด้วย Editor และ Lisp Listener เอกสารเหล่านี้จัดเรียงเป็นหนังสือและส่วนต่างๆ นอกจากนี้ยังมีการจัดพิมพ์หนังสือในรูปแบบเล่มที่มีเนื้อหาเหมือนกับเอกสารออนไลน์ทุกประการ ข้อมูล ในฐาน ข้อมูลเอกสาร จะถูกจัดส่งมาพร้อมกับ Genera และสามารถแก้ไขได้ด้วยแพตช์แบบเพิ่มทีละส่วน
เอกสารนี้สร้างขึ้นโดยใช้แอปพลิเคชันแยกต่างหากที่ไม่ได้มาพร้อมกับ Genera นั่นคือ Symbolics Concordia Concordia เป็นส่วนเสริมของ โปรแกรมแก้ไข Zmacsสำหรับแก้ไขบันทึกเอกสาร โปรแกรมแก้ไขกราฟิก และโปรแกรมแสดงตัวอย่างหน้าเอกสาร
เอกสารนี้ประกอบด้วยคู่มือผู้ใช้ แนวทางการติดตั้ง และข้อมูลอ้างอิงเกี่ยวกับโครงสร้างและไลบรารีต่างๆ ของภาษา Lisp
ภาษามาร์กอัปนี้อิงตาม ภาษามาร์กอัป Scribeและนักพัฒนาสามารถใช้งานได้เช่นกัน
Genera รองรับการพิมพ์ไปยังเครื่องพิมพ์ Postscript มีระบบจัดคิวการพิมพ์ และยังมีตัวแปลภาษา Postscript (เขียนด้วยภาษา Lisp) อีกด้วย
คุณสมบัติ
Genera ยังรองรับโปรโตคอลเครือข่ายและแอปพลิเคชันต่างๆ ที่ใช้โปรโตคอลเหล่านั้น โดยเฉพาะอย่างยิ่งการรองรับTCP/IPอย่าง ครอบคลุม
Genera รองรับเครื่องที่มีโปรเซสเซอร์ตัวเดียวแต่มีหลายเธรด (เรียกว่ากระบวนการ )
Genera รองรับ การจัดการขยะ (Garbage Collection หรือ GC) หลายประเภท ได้แก่ GC เต็มรูปแบบ (Full GC), GC แบบแทนที่ (In-place GC), GC แบบเพิ่มทีละส่วน (Incremental GC) และ GC แบบชั่วคราว (Ephemeral GC) ตัวเก็บขยะแบบชั่วคราวใช้เฉพาะหน่วยความจำทางกายภาพ และใช้หน่วย จัดการหน่วยความจำ (Memory Management Unit) เพื่อรับข้อมูลเกี่ยวกับหน้าที่เปลี่ยนแปลงในหน่วยความจำทางกายภาพ ตัวเก็บขยะนี้ใช้เจเนอเรชั่น (Generations) และหน่วยความจำเสมือนจะถูกแบ่งออกเป็นพื้นที่ (Areas) พื้นที่ต่างๆ สามารถบรรจุวัตถุบางประเภทได้ (เช่น สตริง บิตแมป ชื่อพาธ ฯลฯ) และแต่ละพื้นที่สามารถใช้กลไกการจัดการหน่วยความจำที่แตกต่างกันได้
Genera ใช้ระบบไฟล์ สองระบบ ได้แก่ ระบบไฟล์ FEP สำหรับไฟล์ขนาดใหญ่ และระบบไฟล์ Lisp Machine File System (LMFS) ที่ปรับให้เหมาะสมสำหรับไฟล์ขนาดเล็กจำนวนมาก ระบบเหล่านี้ยังเก็บรักษาไฟล์ในเวอร์ชันต่างๆ ไว้ หากไฟล์ถูกแก้ไข Genera ก็ยังคงเก็บเวอร์ชันเก่าไว้ นอกจากนี้ Genera ยังสามารถเข้าถึง อ่าน และเขียนข้อมูลไปยังระบบไฟล์อื่นๆ ทั้งในและนอกเครื่อง ได้แก่ NFS, FTP, HFS, CD-ROM และได รฟ์เทป
Genera รองรับการบูตผ่านเครือข่าย
Genera เป็นโปรแกรมไคลเอ็นต์สำหรับฐานข้อมูลอ็อบเจ็กต์Statice จาก Symbolics
Genera ใช้ระบบเงื่อนไข (การจัดการข้อยกเว้น) อย่างกว้างขวางเพื่อจัดการกับข้อผิดพลาดขณะทำงานทุกประเภท และสามารถกู้คืนจากข้อผิดพลาดเหล่านี้ได้หลายอย่าง ตัวอย่างเช่น อนุญาตให้ลองดำเนินการเครือข่ายซ้ำหากการเชื่อมต่อเครือข่ายล้มเหลว โค้ดแอปพลิเคชันจะยังคงทำงานต่อไป เมื่อเกิดข้อผิดพลาด ผู้ใช้จะเห็นเมนูการเริ่มต้นใหม่ (ตัวเลือกยกเลิก ลองใหม่ ดำเนินการต่อ) ที่เฉพาะเจาะจงกับข้อผิดพลาดที่แจ้ง
Genera มีเครื่องมือแก้ไขข้อบกพร่องที่ครอบคลุมมากมาย
Genera สามารถบันทึกเวอร์ชันของระบบที่กำลังทำงานอยู่ลงในโลกเสมือนจริงได้ โลกเสมือนจริงเหล่านี้สามารถบูตได้ และจะประกอบด้วยข้อมูลและโค้ดที่บันทึกไว้ทั้งหมด
ภาษาโปรแกรม
Symbolics ได้จัดเตรียมภาษาโปรแกรม หลายภาษา สำหรับการใช้งานร่วมกับ Genera:
- ZetaLispคือเวอร์ชันสัญลักษณ์ของ Lisp Machine Lisp
- ภาษาลิสปาร์กทั่วไป (Common Lisp ) มีหลายเวอร์ชัน ได้แก่ Symbolics Common Lisp, Future Common Lisp (ANSI Common Lisp), CLtL1
- Symbolics Pascal คือเวอร์ชันของภาษา Pascalที่เขียนด้วยภาษา Lisp (ซอร์สโค้ด Lisp รวมอยู่ในชุดการแจกจ่าย Genera แล้ว)
- Symbolics C คือภาษา Cเวอร์ชันหนึ่งที่เขียนด้วยภาษา Lisp (ซอร์สโค้ด Lisp รวมอยู่ในชุดการแจกจ่าย Genera แล้ว)
- Symbolics Fortran คือ Fortranเวอร์ชันหนึ่งที่เขียนด้วยภาษา Lisp (ซอร์สโค้ด Lisp รวมอยู่ในชุดการแจกจ่าย Genera แล้ว)
Symbolics Common Lisp มีมาตรฐาน Common Lisp ส่วนใหญ่ พร้อมส่วนขยายมากมาย ซึ่งส่วนใหญ่มาจาก ZetaLisp
ภาษาอื่นๆ จาก Symbolics
- Symbolics Prologคือเวอร์ชันของ Prolog ที่เขียนและผสานรวมเข้ากับภาษา Lisp
- Symbolics Adaคือเวอร์ชันของภาษา Ada ที่เขียนด้วยภาษา Lisp
เป็นเรื่องน่าทึ่งที่การใช้งานภาษาโปรแกรมเหล่านี้ได้สืบทอดคุณสมบัติแบบไดนามิกบางอย่างจากระบบ Lisp (เช่น การจัดการหน่วยความจำอัตโนมัติและการเข้าถึงข้อมูลอย่างรอบคอบ) และสนับสนุนการพัฒนาซอฟต์แวร์แบบเพิ่มทีละขั้นตอน
นักพัฒนาจากภายนอกได้จัดหาภาษาโปรแกรมเพิ่มเติม เช่นOPS5และเครื่องมือพัฒนา เช่นKnowledge Engineering Environment (KEE) จาก IntelliCorp
แอปพลิเคชัน
Symbolics Genera มาพร้อมกับแอปพลิเคชันหลายอย่าง แอปพลิเคชันเหล่านี้เรียกว่ากิจกรรมกิจกรรมบางส่วนมีดังนี้:
- Zmacsคือโปรแกรมแก้ไขข้อความที่คล้ายกับEmacs
- Zmail เป็นโปรแกรมอ่านอีเมลที่มีปฏิทินในตัว
- โปรแกรมเรียกดูระบบไฟล์พร้อมเครื่องมือสำหรับการบำรุงรักษาระบบไฟล์
- โปรแกรมฟังเสียงภาษา Lisp พร้อมอินเทอร์เฟซบรรทัดคำสั่ง
- โปรแกรมตรวจสอบเอกสารสำหรับเรียกดูเอกสาร
- กู้คืนระบบการแจกจ่ายเพื่อติดตั้งซอฟต์แวร์
- ระบบกระจาย (Distribute Systems) เพื่อสร้างการแจกจ่ายซอฟต์แวร์
- ดูรายละเอียดเพิ่มเติมเพื่อตรวจสอบข้อมูลระบบ (กระบวนการทำงาน หน้าต่าง การเชื่อมต่อเครือข่าย ฯลฯ)
- ดีบักเกอร์
- โปรแกรมแก้ไขเนมสเปซ (Namespace Editor) ใช้สำหรับเข้าถึงข้อมูลเกี่ยวกับวัตถุต่างๆ ในเครือข่าย (ผู้ใช้ คอมพิวเตอร์ ระบบไฟล์ ฯลฯ)
- Converse คือโปรแกรมแชทสำหรับผู้ใช้งาน
- เทอร์มินัล
- เครื่องมือตรวจสอบ (Inspector) สำหรับเรียกดูโครงสร้างข้อมูลของภาษา Lisp
- การแจ้งเตือน
- Frame-Up สำหรับออกแบบส่วนติดต่อผู้ใช้
- Flavor Examiner คือเครื่องมือที่ใช้ตรวจสอบคลาสและเมธอดของส่วนขยาย Flavor ที่เขียนด้วยภาษา Lisp แบบเชิงวัตถุ
แอปพลิเคชันอื่นๆ จาก Symbolics
บริษัท Symbolics ได้จำหน่ายแอปพลิเคชันหลายตัวที่ทำงานบน Symbolics Genera
- Symbolics Concordia ชุดซอฟต์แวร์สำหรับการสร้างเอกสาร
- Symbolics Joshua คือเชลล์ระบบผู้เชี่ยวชาญ
- Symbolics Macsymaคือระบบพีชคณิตคอมพิวเตอร์
- Symbolics NS เครื่องมือออกแบบชิป
- Symbolics Plexi เป็นเครื่องมือพัฒนาโครงข่ายประสาทเทียม
- Symbolics S-Graphics คือชุดเครื่องมือประกอบด้วย: S-Paint, S-Geometry, S-Dynamics, S-Render
- โปรแกรมยูทิลิตี้ Symbolics S: S-Record, S-Compositor, S-Colorize, S-Convert
- Symbolics Scope: การประมวลผลภาพดิจิทัลด้วยPixar Image Computer
- Symbolics Statice คือฐานข้อมูลเชิงวัตถุ
แอปพลิเคชันของบุคคลที่สาม
มีหลายบริษัทที่พัฒนาและจำหน่ายแอปพลิเคชันสำหรับ Symbolics Genera ตัวอย่างเช่น:
- Ascent Technology Gatekeeper คือระบบจัดการทรัพยากรแบบใช้กฎเกณฑ์สำหรับสนามบินและสายการบิน
- Automated Reasoning Tool (ART) คือระบบผู้เชี่ยวชาญจาก Inference Corporation
- ICADระบบ CAD พาราเมตริก 3 มิติ
- Illustrate, โปรแกรมแก้ไขกราฟิก
- Knowledge Engineering Environment (KEE) ซึ่งเป็นโครงสร้างพื้นฐานของระบบผู้เชี่ยวชาญ จาก IntelliCorp
- Knowledge Craft คือโครงสร้างพื้นฐานของระบบผู้เชี่ยวชาญ จาก Carnegie Group
- โลหะ, ระบบแปลภาษาด้วยเครื่องจักรจากซีเมนส์
จุดเด่น
- Genera เขียนขึ้นด้วยภาษา Lisp ทั้งหมด โดยใช้ ZetaLisp และ Symbolics Common Lisp รวมถึงโค้ดระบบระดับต่ำทั้งหมด เช่น ไดรเวอร์อุปกรณ์ การจัดการหน่วยความจำอัตโนมัติ ตัวกำหนดตารางเวลาของกระบวนการ สแต็กเครือข่าย เป็นต้น
- โค้ดต้นฉบับมีมากกว่าหนึ่งล้านบรรทัด เขียนด้วยภาษา Lisp แต่ค่อนข้างกะทัดรัดเมื่อเทียบกับฟังก์ชันที่ให้มา เนื่องจากมีการนำโค้ดมาใช้ซ้ำอย่างกว้างขวาง นอกจากนี้ ผู้ใช้ยังสามารถตรวจสอบและแก้ไขได้อีกด้วย
- ระบบปฏิบัติการส่วนใหญ่เขียนขึ้นในรูปแบบเชิงวัตถุโดยใช้ Flavors, New Flavors และ CLOS
- มีเอกสารประกอบออนไลน์จำนวนมากที่สามารถอ่านได้ด้วยโปรแกรมตรวจสอบเอกสาร
- Dynamic Windows นำเสนออินเทอร์เฟซผู้ใช้แบบอิงตามการนำเสนอ
- อินเทอร์เฟซผู้ใช้สามารถใช้งานได้ทั้งในพื้นที่ (บนเครื่อง Lisp และ MacIvories) และจากระยะไกล (โดยใช้ X11)
- กลุ่มนักพัฒนาสามารถทำงานร่วมกันได้ในสภาพแวดล้อมแบบเครือข่าย
- เซิร์ฟเวอร์ เนมสเปซส่วนกลางจะจัดเตรียมไดเร็กทอรีของเครื่อง ผู้ใช้ บริการ เครือข่าย ระบบไฟล์ ฐานข้อมูล และอื่นๆ อีกมากมาย
- ระบบนี้มีการป้องกันน้อยมากต่อการเปลี่ยนแปลงระบบปฏิบัติการ ระบบทั้งหมดสามารถเข้าถึงและเปลี่ยนแปลงได้อย่างสมบูรณ์
ข้อจำกัด
ข้อจำกัดของสกุลต่างๆ ได้แก่:
- ใช้งานได้เฉพาะบน Symbolics Lisp Machines หรือโปรแกรมจำลอง Open Genera เท่านั้น
- สามารถล็อกอินได้ครั้งละหนึ่งผู้ใช้เท่านั้น
- ระบบ Lisp สามารถทำงานได้เพียงครั้งละหนึ่งระบบเท่านั้น ข้อมูลและโค้ดจะถูกใช้ร่วมกันโดยแอปพลิเคชันและระบบปฏิบัติการ อย่างไรก็ตาม สามารถเรียกใช้งาน Open Genera หลายอินสแตนซ์บน DEC Alpha เครื่องเดียวได้
- การพัฒนาหยุดชะงักลงอย่างมีประสิทธิภาพในช่วงกลางทศวรรษ 1990
การเผยแพร่
- 1982 – วางจำหน่ายครั้งที่ 78
- ปี 1982 – รุ่นที่ 210
- ปี 1983 – เวอร์ชัน 4.0
- 1984 – เวอร์ชัน 5.0
- ปี 1985 – เวอร์ชัน 6.0 นำเสนอ Symbolics Common Lisp, ตัวเก็บขยะวัตถุชั่วคราว (Ephemeral Object Garbage Collector) และตัวตรวจสอบเอกสาร (Document Examiner)
- ปี 1986 – Genera 7.0 เปิดตัว Dynamic Windows
- ปี 1990 – Genera 8.0 เปิดตัว CLOS
- ปี 1991 – Genera 8.1 เปิดตัว CLIM
- 1992 – Genera 8.2
- 1993 – Genera 8.3
- ปี 1993 – Open Genera 1.0 เปิดตัว Virtual Lisp Machine
- 1998 – Open Genera 2.0
- 2021 – Portable Genera 2.0, Virtual Lisp Machine เวอร์ชันพอร์ตไปยังแพลตฟอร์มเพิ่มเติม
Open Genera เวอร์ชันเสถียรที่สามารถทำงานบนx86-64หรือarm64 LinuxและApple M1 MacOSได้รับการเผยแพร่แล้ว[ 5 ]และเปลี่ยนชื่อเป็น Portable Genera
มีOpen Genera เวอร์ชันที่ถูกแฮ็กซึ่งสามารถทำงานบนx86-64 Linux ได้ [ 6 ] [ 7 ]
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ

- สภาพแวดล้อมการพัฒนาแบบบูรณาการเชิงสัญลักษณ์ทั่วไป
- "บทสรุปทางเทคนิคเชิงสัญลักษณ์"
- "Genera Concepts"สำเนาเว็บของบทนำเรื่อง Genera จาก Symbolics
- เอกสารเกี่ยวกับซอฟต์แวร์ Symbolics อยู่ที่ bitsavers.org
- หน้าเว็บที่รวบรวมภาพหน้าจอของ Genera
- ภาพหน้าจอของโปรแกรมตรวจสอบเอกสาร Symbolics ที่ได้รับรางวัล
- "เครื่องเสมือน Lisp เชิงสัญลักษณ์ หรือ การใช้ Dec Alpha เป็นไมโครเอนจินที่ตั้งโปรแกรมได้"
- "วิดีโอสาธิตปี 2013 โดย Kalman Reti โปรแกรมเมอร์ของ Symbolics"
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เจเนอรา (ซอฟต์แวร์)
Genera เป็น ระบบปฏิบัติการ เชิงพาณิชย์ และ สภาพแวดล้อมการพัฒนาแบบบูรณาการ สำหรับ เครื่อง Lisp ที่สร้างโดย Symbolics โดยพื้นฐานแล้วมันคือ การ แยกสาย จาก...
ระบบปฏิบัติการเครื่อง Lisp ของ MIT
ระบบปฏิบัติการ Lisp Machine เขียนด้วยภาษา Lisp Machine Lisp เป็นเวิร์กสเตชันสำหรับผู้ใช้คนเดียว โดยมีเป้าหมายเริ่มต้นที่นักพัฒนาซอฟต์แวร์สำหรับ โครงการ ปัญญาประดิษฐ์ (AI) [ 1 ] ระบบมี หน้าจอ บิตแมป ขนาดใหญ่ เมาส์ คีย์บอร์ด อินเทอร์เฟซ เครือ ข่าย ไดรฟ์ดิสก์...
ระบบปฏิบัติการทั่วไป
บริษัท Symbolics ได้พัฒนา เครื่อง Lisp รุ่นใหม่ และเผยแพร่ระบบปฏิบัติการภายใต้ชื่อ Genera เวอร์ชันล่าสุดคือ 8.
ส่วนติดต่อผู้ใช้
เวอร์ชันแรกๆ ของ Symbolics Genera ถูกสร้างขึ้นด้วย ระบบหน้าต่าง ส่วนติดต่อผู้ใช้แบบกราฟิก (GUI) ดั้งเดิม ของระบบปฏิบัติการเครื่อง Lisp ต่อมา Symbolics ได้พัฒนาระบบหน้าต่างแบบใหม่ที่เรียกว่า Dynamic Windows ซึ่งมี ส่วนติดต่อผู้ใช้แบบอิงการนำเสนอ [ 3 ] ระบบ...