ส่วนของโค้ด

ในด้านการคำนวณส่วนของโค้ดหรือที่รู้จักกันในชื่อส่วนของข้อความหรือเรียกง่ายๆ ว่าข้อความคือส่วนหนึ่งของไฟล์ออบเจ็กต์ หรือส่วนที่สอดคล้องกันของ พื้นที่แอดเดรสเสมือนของโปรแกรมที่มีคำสั่งที่สามารถดำเนินการ ได้[ 1 ]
เซ็กเมนต์
คำว่า "เซกเมนต์" มาจาก " เซกเมนต์หน่วยความจำ " ซึ่งเป็นวิธีการจัดการหน่วยความจำ แบบดั้งเดิม ที่ปัจจุบันถูกแทนที่ด้วยการแบ่งหน้า (เพจ ) เมื่อโปรแกรมถูกจัดเก็บไว้ในไฟล์ออบเจ็กต์ เซกเมนต์โค้ดจะเป็นส่วนหนึ่งของไฟล์นี้ เมื่อตัวโหลดนำโปรแกรมเข้าสู่หน่วยความจำเพื่อให้สามารถเรียกใช้งานได้ พื้นที่หน่วยความจำต่างๆ จะถูกจัดสรร (โดยเฉพาะอย่างยิ่งในรูปของเพจ) ซึ่งสอดคล้องกับทั้งเซกเมนต์ในไฟล์ออบเจ็กต์และเซกเมนต์ที่จำเป็นเฉพาะในขณะรันไทม์เท่านั้น ตัวอย่างเช่น เซกเมนต์โค้ดของไฟล์ออบเจ็กต์จะถูกโหลดเข้าสู่เซกเมนต์โค้ดที่สอดคล้องกันในหน่วยความจำ
โดยทั่วไปแล้ว ส่วนของโค้ดในหน่วยความจำจะเป็นแบบอ่านอย่างเดียวและมีขนาดคงที่ ดังนั้นในระบบฝังตัวจึงสามารถวางไว้ในหน่วยความจำแบบอ่านอย่างเดียว (ROM) ได้โดยไม่ต้องโหลด หากส่วนของโค้ดไม่ใช่แบบอ่านอย่างเดียวสถาปัตยกรรม เฉพาะนั้น จะอนุญาตให้มีโค้ดที่แก้ไขตัวเองได้ โค้ด ที่มีตำแหน่งคงที่หรือไม่ขึ้นอยู่กับตำแหน่งอาจถูกใช้ร่วมกันในหน่วยความจำโดยหลายกระบวนการในระบบหน่วยความจำแบบแบ่งส่วนหรือแบบเพจ[ 1 ] [ 2 ]ในฐานะที่เป็นพื้นที่หน่วยความจำ ส่วนของโค้ดอาจถูกวางไว้ด้านล่างของฮีปหรือสแต็กเพื่อป้องกันไม่ให้ฮีปและสแต็กโอเวอร์โฟลว์เขียนทับ[ 3 ]