การดำเนินการ (คอมพิวเตอร์)

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา

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

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

คำว่าrunใช้เกือบจะเหมือนกัน ความหมายที่เกี่ยวข้องของทั้ง "to run" และ "to execute" หมายถึงการดำเนินการเฉพาะของผู้ใช้ที่เริ่มต้น (หรือเปิดหรือเรียกใช้ ) โปรแกรม เช่นเดียวกับใน "Please run the application"

กระบวนการ

ก่อนดำเนินการต้องเขียนโปรแกรมก่อน โดยทั่วไปจะทำในซอร์สโค้ดซึ่งจะถูกคอมไพ ล์ใน เวลาคอมไพล์ (และลิงก์แบบสแตติก ณเวลาลิงก์ ) เพื่อสร้างไฟล์ปฏิบัติการ ปฏิบัติการนี้จะถูกเรียกใช้ โดยส่วนใหญ่มักเกิดจากระบบปฏิบัติการ ซึ่งโหลดโปรแกรมลงในหน่วยความจำ ( เวลาในการโหลด ) อาจทำการเชื่อมโยงแบบไดนามิกจากนั้นจึงเริ่มดำเนินการโดยย้ายการควบคุมไปยังจุดเข้าใช้งานของโปรแกรม ขั้นตอนทั้งหมดเหล่านี้ขึ้นอยู่กับApplication Binary Interfaceของระบบปฏิบัติการ ณ จุดนี้การดำเนินการเริ่ม ต้นและโปรแกรมเข้าสู่รันไทม์ จากนั้นโปรแกรมจะทำงานจนกว่าจะสิ้นสุดไม่ว่าจะปกติการเลิกจ้างหรือความผิด พลาด

ดำเนินการได้

รหัสปฏิบัติการ ไฟล์เรียกทำงานหรือโปรแกรมปฏิบัติการซึ่งบางครั้งเรียกง่ายๆ ว่าปฏิบัติการหรือ ไบนารีเป็นรายการคำสั่งและข้อมูลที่จะทำให้คอมพิวเตอร์ "ทำงานที่ระบุตามคำสั่ง ที่เข้ารหัส " [1]ตรงข้ามกับ ไฟล์ข้อมูลที่ต้องตีความ ( parsed ) โดยโปรแกรมจึงจะมีความหมาย

การตีความที่แน่นอนขึ้นอยู่กับการใช้งาน "คำแนะนำ" ตามธรรมเนียมแล้วหมายถึงคำสั่งรหัสเครื่อง สำหรับ CPUจริง [2]ในบางบริบท ไฟล์ที่มีคำสั่งสคริปต์ (เช่นbytecode ) อาจถือว่าสามารถเรียกใช้งานได้

บริบทของการดำเนินการ

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

ระบบรันไทม์

ระบบรันไทม์หรือเรียกอีกอย่างว่าสภาพแวดล้อมรันไทม์โดยหลักแล้วจะใช้บางส่วนของโมเดลการดำเนินการ [ จำเป็นต้องชี้แจง ]จะต้องไม่สับสนกับ เฟสวงจร รันไทม์ของโปรแกรม ในระหว่างที่ระบบรันไทม์กำลังทำงานอยู่ เมื่อถือว่าระบบรันไทม์แตกต่างจากสภาพแวดล้อมรันไทม์ (RTE) ข้อแรกอาจกำหนดเป็นส่วนเฉพาะของซอฟต์แวร์แอปพลิเคชัน (IDE) ที่ใช้สำหรับการเขียนโปรแกรมซึ่งเป็นซอฟต์แวร์ชิ้นหนึ่งที่ช่วยให้โปรแกรมเมอร์มีสภาพแวดล้อมที่สะดวกยิ่งขึ้นสำหรับการรันโปรแกรม ระหว่างการผลิต ( การทดสอบและคล้ายกัน) ในขณะที่ตัวที่สอง (RTE) จะเป็นอินสแตนซ์ของโมเดลการดำเนินการที่ใช้กับโปรแกรมที่พัฒนาแล้ว ซึ่งก็คือการรันในระบบรันไทม์ ดัง กล่าว

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

รอบการสอน

รอบคำสั่ง (เรียกอีกอย่างว่าfetch–decode–execute cycleหรือเพียงแค่fetch-execute cycle ) เป็นวงจรที่หน่วยประมวลผลกลาง (CPU) ติดตามตั้งแต่บูทเครื่องจนกระทั่งคอมพิวเตอร์ปิดเครื่องเพื่อดำเนินการตามคำสั่ง . ประกอบด้วยสามขั้นตอนหลัก: ขั้นตอนการดึงข้อมูล ขั้นตอนการถอดรหัส และขั้นตอนการดำเนินการ

นี่เป็นไดอะแกรมอย่างง่ายที่แสดงให้เห็นแต่ละขั้นตอนของวงจร fetch-decode-execute

ใน CPU ที่ง่ายกว่า รอบคำสั่งจะดำเนินการตามลำดับ โดยแต่ละคำสั่งจะถูกประมวลผลก่อนที่จะเริ่มคำสั่งถัดไป ใน CPU รุ่นใหม่ๆ ส่วนใหญ่ รอบคำสั่งจะถูกดำเนินการพร้อมกันและมักจะ ทำงาน ขนานกันผ่านท่อคำสั่ง : คำสั่งถัดไปจะเริ่มดำเนินการก่อนที่คำสั่งก่อนหน้าจะเสร็จสิ้น ซึ่งเป็นไปได้เพราะวงจรแบ่งออกเป็นขั้นตอนที่แยกจากกัน [4]

ล่าม

ระบบที่รันโปรแกรมเรียกว่าล่ามของโปรแกรม พูดอย่างหลวม ๆ ล่ามรันโปรแกรมโดยตรง สิ่งนี้แตกต่างกับนักแปล ภาษา ที่แปลงโปรแกรมจากภาษาหนึ่งเป็นอีกภาษาหนึ่งก่อนที่จะดำเนินการ

เครื่องเสมือน

เครื่องเสมือน ( VM ) คือการจำลองเสมือน / การจำลองระบบคอมพิวเตอร์ เครื่องเสมือนใช้สถาปัตยกรรมคอมพิวเตอร์และให้ฟังก์ชันการทำงานของคอมพิวเตอร์จริง การใช้งานอาจเกี่ยวข้องกับฮาร์ดแวร์ ซอฟต์แวร์ หรือการผสมผสาน

เครื่องเสมือนแตกต่างกันและจัดเรียงตามฟังก์ชันที่แสดงไว้ที่นี่:

ตัวจำลองเครื่องเสมือนบางตัว เช่นQEMUและตัวจำลองคอนโซลวิดีโอเกมได้รับการออกแบบมาเพื่อจำลอง (หรือ "เลียนแบบเสมือน") สถาปัตยกรรมระบบที่แตกต่างกันด้วย ซึ่งช่วยให้สามารถเรียกใช้แอปพลิเคชันซอฟต์แวร์และระบบปฏิบัติการที่เขียนขึ้นสำหรับCPUหรือสถาปัตยกรรมอื่น การจำลองเสมือนระดับระบบปฏิบัติการช่วยให้ทรัพยากรของคอมพิวเตอร์สามารถแบ่งพาร์ติชันผ่านเคอร์เนลได้ ข้อกำหนดไม่สามารถใช้แทนกันได้ในระดับสากล

อ้างอิง

  1. ^ "ปฏิบัติการได้" . พจนานุกรม ออนไลน์ของ Merriam-Webster เมอร์เรียม-เว็บสเตอร์ สืบค้นเมื่อ2008-07-19 .
  2. ^ "คำแนะนำเครื่อง" . กี๊ กส์ฟอร์กีกส์ . 2015-11-03 . สืบค้นเมื่อ2019-09-18 .
  3. ^ อ่า อัลเฟรด วี. ; ลำ, โมนิก้า ซินหลิง ; เศธี, รวี ; อุลล์แมน, เจฟฟรีย์ เดวิด (2007). คอมไพเลอร์: หลักการ เทคนิค และเครื่องมือ (ฉบับที่ 2) บอสตัน รัฐแมสซาชูเซตส์ สหรัฐอเมริกา: Pearson Education . หน้า 427 . ISBN 978-0-321-48681-3.
  4. คริสตัล เฉิน, เกร็ก โนวิค และเคิร์ก ชิมาโน (2000) "ท่อประปา" . สืบค้นเมื่อ2019-06-26 .

ดูเพิ่มเติม