กลับไปหน้าบทความ

อ่าน 2 นาที

การเขียนโปรแกรมระบบ

การเขียนโปรแกรมระบบ หรือ การเขียนโปรแกรมระบบ คือกิจกรรมการเขียนโปรแกรม [ 1 ] ซอฟต์แวร์ระบบ คอมพิวเตอร์ ลักษณะเด่นหลักของการเขียนโปรแกรมระบบเมื่อเปรียบเทียบกับ...

การเขียนโปรแกรมระบบ

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

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

ภาพรวม

คุณลักษณะต่อไปนี้เป็นลักษณะเฉพาะของการเขียนโปรแกรมเชิงระบบ:

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

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

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

ประวัติศาสตร์

เดิมทีโปรแกรมเมอร์ระบบมักเขียนด้วยภาษาแอสเซมบลีการทดลองเกี่ยวกับการสนับสนุนฮาร์ดแวร์ในภาษาโปรแกรมระดับสูงในช่วงปลายทศวรรษ 1960 นำไปสู่ภาษาต่างๆ เช่นPL/S , BLISS , BCPLและALGOL ที่ขยายเพิ่มเติม สำหรับBurroughs Large Systems นอกจากนี้ Forthยังมีแอปพลิเคชันในฐานะภาษาระบบอีกด้วย ในช่วงทศวรรษ 1970 ภาษา Cแพร่หลายมากขึ้น โดยได้รับการสนับสนุนจากการเติบโตของUnixเมื่อไม่นานมานี้ ภาษาC++ ย่อย ที่เรียกว่าEmbedded C++ก็มีการใช้งานบ้าง เช่น ใช้ในไดรเวอร์ I/O Kit ของmacOS [ 2 ] วิศวกรที่ทำงานที่Googleสร้างGoในปี 2007 เพื่อแก้ปัญหาประสิทธิภาพการทำงานของนักพัฒนาในระบบกระจาย ขนาดใหญ่ โดยมี คุณสมบัติที่เน้นนักพัฒนา เช่นการทำงานพร้อมกันการเก็บขยะและการคอมไพล์ โปรแกรมที่เร็ว กว่า C และ C++ [ 3 ] ในปี 2015 Rustได้เปิดตัว ซึ่งเป็นภาษาโปรแกรมอเนกประสงค์ที่มักใช้ในการเขียนโปรแกรมระบบ Rust ได้รับการออกแบบโดยคำนึงถึงความปลอดภัยของหน่วยความจำและมีประสิทธิภาพเทียบเท่ากับ C และ C++

ความหมายอื่น

ด้วยเหตุผลทางประวัติศาสตร์ บางองค์กรใช้คำว่า"โปรแกรมเมอร์ระบบ"เพื่ออธิบายหน้าที่การงานที่ควรจะเรียกว่า"ผู้ดูแลระบบ" มากกว่า โดยเฉพาะอย่างยิ่งในองค์กรที่มีทรัพยากรคอมพิวเตอร์ส่วนใหญ่เป็นเมนเฟรมแม้ว่าคำนี้จะถูกนำไปใช้เพื่ออธิบายหน้าที่การงานที่ไม่เกี่ยวข้องกับเมนเฟรมด้วยก็ตาม การใช้คำเช่นนี้เกิดขึ้นเนื่องจากการบริหารจัดการเมนเฟรมของ IBMมักเกี่ยวข้องกับการเขียนโค้ดแอสเซมบลี แบบกำหนดเอง ( ภาษาแอสเซมบลีพื้นฐานของ IBM (BAL)) ซึ่งทำงานร่วมกับระบบปฏิบัติการเช่นOS/MVS , DOS/VSEหรือVM/CMSที่จริงแล้ว ผลิตภัณฑ์ซอฟต์แวร์ ของ IBM บางตัว ได้รับการสนับสนุนโค้ดจำนวนมากจากทีมโปรแกรมเมอร์ของลูกค้า การเขียนโปรแกรมประเภทนี้เริ่มลดน้อยลง และมักใช้ภาษา C แทนภาษาแอสเซมบลี แต่คำว่า " โปรแกรมเมอร์ระบบ"ยังคงถูกใช้เป็นชื่อตำแหน่งงานโดยปริยายสำหรับพนักงานที่ดูแลเมนเฟรมของ IBM แม้ในกรณีที่พวกเขาไม่ได้มีส่วนร่วมในกิจกรรมการเขียนโปรแกรมระบบเป็นประจำก็ตาม

ดูเพิ่มเติม

อ่านเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Systems_programming&oldid=1352193838 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การเขียนโปรแกรมระบบ

การเขียนโปรแกรมระบบ หรือ การเขียนโปรแกรมระบบ คือกิจกรรมการเขียนโปรแกรม [ 1 ] ซอฟต์แวร์ระบบ คอมพิวเตอร์ ลักษณะเด่นหลักของการเขียนโปรแกรมระบบเมื่อเปรียบเทียบกับ...

ภาพรวม

คุณลักษณะต่อไปนี้เป็นลักษณะเฉพาะของการเขียนโปรแกรมเชิงระบบ:

ประวัติศาสตร์

เดิมทีโปรแกรมเมอร์ระบบมักเขียนด้วย ภาษาแอสเซมบลี การทดลองเกี่ยวกับการสนับสนุนฮาร์ดแวร์ใน ภาษาโปรแกรมระดับสูง ในช่วงปลายทศวรรษ 1960 นำไปสู่ภาษาต่างๆ เช่น PL/S , BLISS , BCPL และ ALGOL ที่ขยายเพิ่มเติม สำหรับBurroughs Large Systems นอกจากนี้ Forth...

ความหมายอื่น

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