
Nightos เป็นสภาพแวดล้อมเดสก์ท็อปซึ่งขึ้นอยู่กับการกระจาย Linux ที่กำหนดเอง มันใช้เทคโนโลยีอิเล็กตรอนและ NodeJS เพื่อเข้าถึงระบบไฟล์จัดการการเชื่อมต่อเครือข่ายและจัดการแอปพลิเคชันอย่างปลอดภัย
Nightos ทำงานเป็นแอพพลิเคชั่น JavaScript ขนาดใหญ่มากซึ่งทำงานบนฐาน Linux + Electron โครงการนี้มีวัตถุประสงค์เพื่อแสดงให้เห็นถึงพลังของ JavaScript โดยการทำระบบปฏิบัติการเต็มรูปแบบด้วยภาษานี้ดังนั้นงานส่วนใหญ่ที่สามารถจัดการได้โดยใช้ JS ระบบ Linux ทำงานเป็นอินเทอร์เฟซเลเยอร์ที่อนุญาตให้ JavaScript จัดการการเชื่อมต่อเครือข่ายเข้าถึงฮาร์ดไดรฟ์และสิ่งอื่น ๆ ในระดับต่ำ
Nightos เป็นระบบปฏิบัติการทางทฤษฎีอย่างหมดจด ฉันไม่รู้ว่าวันหนึ่งฉันจะสร้างเวอร์ชัน nightos หรือไม่และแม้ว่าฉันจะทำเช่นนั้นนั่นจะเป็นระบบปฏิบัติการที่ไม่มีหลักประกันมากเพราะฉันไม่รู้หลายสิ่งหลายอย่างเกี่ยวกับความปลอดภัยในการเขียนโปรแกรม (แม้แต่สิ่งพื้นฐานเช่นบัฟเฟอร์ล้น, Rops ... ); ในความเป็นจริงเทคโนโลยีความปลอดภัยเพียงอย่างเดียวที่ฉันรู้คือสิ่งทั่วไปเช่นการเข้ารหัสใบรับรองการตรวจสอบและ IPC ตัวอย่างเช่น - ไม่เพียงพอสำหรับระบบเต็มรูปแบบ
ในความเป็นจริงฉันทำให้ Nightos มีความสนุกสนานมากขึ้นและใช้คุณสมบัติ JavaScript และ Node.js ที่ลึกมากขึ้น ฉันไม่ได้ตั้งเป้าหมายที่จะสร้างระบบปฏิบัติการที่ดีกว่า Windows, Mac หรือ Linux - ไม่ได้เป็นทางเลือกอื่น การสร้างระบบปฏิบัติการที่เต็มไปด้วย JavaScript เป็นไปไม่ได้เนื่องจากปัญหามากมายเช่นความเร็วช้าของ JS ต่อหน้าภาษาพื้นเมืองเช่น C ++ หรือ Rust และปัญหาสำหรับนักพัฒนาซอฟต์แวร์ในการพอร์ตแอปพลิเคชันของพวกเขาไปยัง Nightos (แม้ว่าจะมีเครื่องมือสำหรับสิ่งนั้นเช่น emscripten)
นอกจากนี้ยังเป็นวิธีที่จะแสดงให้เห็นถึงพลังของภาษาจาวาสคริปต์ซึ่งฉันคิดว่าสิ่งที่เข้าใจผิดที่สุดในโลกการพัฒนา ด้วยการทำให้ระบบทำงานได้อย่างสมบูรณ์ซึ่งจัดการระบบ Linux แอปพลิเคชันสภาพแวดล้อมเดสก์ท็อปบัญชีผู้ใช้หลายบัญชีกระบวนการ API ขนาดใหญ่และการแยกกระบวนการฉันคิดว่านี่อาจเป็นข้อพิสูจน์ที่ดีว่า JavaScript เป็นภาษาที่ทรงพลัง - เมื่อคุณเข้าใจและรู้วิธีการใช้คุณสมบัติที่ลึก
ฉันเผยแพร่ Nightos สองเวอร์ชันก่อนหน้านี้ คุณสามารถค้นหาได้ใน GitHub ของฉัน: V1 และ V2
V1 มีปัญหามากมายและ V2 ก็ไม่เพียงพอที่จะเป็นระบบปฏิบัติการ ดังนั้นฉันจึงตัดสินใจที่จะรีสตาร์ทโครงการตั้งแต่เริ่มต้นและรักษาแนวคิดหลักของโครงการ (ความปลอดภัยที่แข็งแกร่งจริงๆสิทธิ์สำหรับแอพ ... ) และฉันได้สร้าง Nightos เวอร์ชันใหม่นี้
มีบางจุดที่คล้ายกันกับเวอร์ชันเก่า: ระบบยังคงทำงานร่วมกับแอปพลิเคชันซึ่งต้องการสิทธิ์ในการเข้าถึงที่เก็บข้อมูล/เว็บ/จัดการ Windows/... แต่ตอนนี้ระบบการอนุญาตนั้นแข็งแกร่งขึ้นมากอนุญาตได้มาก
ดังนั้นแม้ว่าคุณจะพบว่าทั้งสองเวอร์ชันเก่า ๆ นั้นแย่จริงๆอันนี้แตกต่างกันมากดังนั้นฉันหวังว่าคุณจะสนุกกับมัน;)!
Nightos สามารถทำงานบนคอมพิวเตอร์ระดับต่ำได้ คุณไม่ต้องกังวลเกี่ยวกับการแสดงของเครื่อง หากคุณต้องการมีข้อกำหนดที่นี่มี:
นั่นคือทั้งหมด! ผ่อนคลายและเพลิดเพลิน :)
การติดตั้งต้องใช้ NodeJS, NPM และ GIT ติดตั้งบนเครื่องของคุณ บน Linux คุณสามารถเรียกใช้ sudo apt-get install nodejs npm git บน Windows เพียงไปที่เว็บไซต์ทั้งสามนี้เพื่อรับโปรแกรมการติดตั้งของแต่ละซอฟต์แวร์
ในการติดตั้ง nightos ให้เปิดบรรทัดคำสั่งและเรียกใช้รหัสต่อไปนี้:
git clone https://github.com/ClementNerma/NightOS # Download NightOS
cd NightOS # Go to the NightOS directory
npm install # Install the npm dependencies
npm start # Start NightOS ; `node start.js` also worksนอกจากนี้คุณยังสามารถเรียกใช้ Nightos ในโหมดการพัฒนา (ดูเพิ่มเติมในเอกสาร):
# The simple way
npm run devโครงการนี้เปิดตัวภายใต้ใบอนุญาตสาธารณะ GNU ทั่วไป (GPL) หากคุณต้องการแก้ไขงานของฉันและเผยแพร่การแก้ไขโปรดติดต่อฉันก่อนเพื่อให้ฉันสามารถดูว่าทำไมและวิธีการแก้ไข nightos - แม้ว่าคุณจะไม่ได้ถูกบังคับ ฉันทำโครงการนี้เพื่อความสนุกสนานเป็นหลักและแสดงให้เห็นถึงพลังของ JavaScript ดังนั้นฉันอยากรู้ว่าสามารถปรับปรุงอะไรได้บ้าง
แบบอักษรบางตัวไม่สามารถใช้ภายใต้ข้อกำหนด GPL; คุณต้องอ้างถึงใบอนุญาตเดิมของพวกเขา
ซอฟต์แวร์มีให้ "ตามที่เป็นอยู่" และผู้เขียนปฏิเสธการรับประกันทั้งหมดเกี่ยวกับซอฟต์แวร์นี้รวมถึงการรับประกันโดยนัยเกี่ยวกับความสามารถในการค้าและการออกกำลังกาย ไม่ว่าในกรณีใดผู้เขียนจะต้องรับผิดชอบต่อความเสียหายพิเศษทางตรงทางอ้อมหรือผลสืบเนื่องหรือความเสียหายใด ๆ ที่เกิดจากการสูญเสียการใช้ข้อมูลหรือผลกำไรไม่ว่าจะเป็นการกระทำของสัญญาความประมาทเลินเล่อหรือการกระทำที่ทรมานอื่น ๆ
Nightos ถูกสร้างขึ้นโดยใช้ NodeJS และอิเล็กตรอน ไอคอนมาจาก ICONS8, Joe Parks และ Font-VorSesome