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

อ่าน 3 นาที

รัฐ (วิทยาการคอมพิวเตอร์)

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

รัฐ (วิทยาการคอมพิวเตอร์)

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

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

เอาต์พุตของวงจรดิจิทัลหรือโปรแกรมคอมพิวเตอร์แบบกำหนดได้ณ เวลาใดๆ จะถูกกำหนดโดยสมบูรณ์จากอินพุตปัจจุบันและสถานะของมัน[ 2 ]

สถานะวงจรตรรกะดิจิทัล

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

เนื่องจากหน่วยความจำไบนารี แต่ละตัว เช่น ฟลิปฟลอป มีสถานะที่เป็นไปได้เพียงสองสถานะ คือ1หรือ0และมีจำนวนหน่วยความจำจำกัด ดังนั้นวงจรดิจิทัลจึงมีสถานะที่เป็นไปได้เพียงจำนวนจำกัดเท่านั้น ถ้าNคือจำนวนหน่วยความจำไบนารีในวงจร จำนวนสถานะสูงสุดที่วงจรสามารถมีได้คือ2 <sup> N </sup>

สถานะของโปรแกรม

ในทำนองเดียวกัน โปรแกรมคอมพิวเตอร์จะเก็บข้อมูลไว้ในตัวแปรซึ่งแทนตำแหน่งจัดเก็บในหน่วยความจำของคอมพิวเตอร์เนื้อหาของตำแหน่งหน่วยความจำเหล่านี้ ณ จุดใดจุดหนึ่งในการทำงานของโปรแกรม เรียกว่าสถานะของ โปรแกรม [ 5 ] [ 6 ] [ 7 ]

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

การเขียนโปรแกรมเชิงคำสั่ง (Imperative programming ) เป็นรูปแบบการเขียนโปรแกรม (วิธีการออกแบบภาษาโปรแกรม ) ที่อธิบายการคำนวณในแง่ของสถานะของโปรแกรม และคำสั่งที่เปลี่ยนแปลงสถานะของโปรแกรม การเปลี่ยนแปลงสถานะเป็นไปโดยปริยาย จัดการโดยรันไทม์ของโปรแกรม ดังนั้นซับรูทีนจึงสามารถมองเห็นการเปลี่ยนแปลงสถานะที่เกิดขึ้นโดยส่วนอื่นๆ ของโปรแกรม ซึ่งเรียกว่าผลข้างเคียง (side effects )

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

ใน ภาษา การเขียนโปรแกรมแบบประกาศ (declarative programming languages) โปรแกรมจะอธิบายผลลัพธ์ที่ต้องการ และไม่ได้ระบุการเปลี่ยนแปลงสถานะโดยตรง

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

เครื่องจักรสถานะจำกัด

เอาต์พุตของวงจรลำดับหรือโปรแกรมคอมพิวเตอร์ ณ เวลาใด ๆ จะถูกกำหนดโดยสมบูรณ์จากอินพุตปัจจุบันและสถานะปัจจุบัน เนื่องจากแต่ละ องค์ประกอบหน่วยความจำ ไบนารีมีสถานะที่เป็นไปได้เพียงสองสถานะ คือ 0 หรือ 1 จำนวนสถานะที่แตกต่างกันทั้งหมดที่วงจรสามารถมีได้จึงมีจำนวนจำกัด และคงที่โดยจำนวนองค์ประกอบหน่วยความจำ หากมี องค์ประกอบหน่วยความจำไบนารี Nตัว วงจรดิจิทัลจะมีสถานะที่แตกต่างกันได้มากที่สุด 2<sup> N </sup> สถานะ แนวคิดของสถานะได้รับการกำหนดเป็นทางการในแบบจำลองทางคณิตศาสตร์เชิงนามธรรมของการคำนวณที่เรียกว่าเครื่องสถานะจำกัด (finite-state machine ) ซึ่งใช้ในการออกแบบทั้งวงจรดิจิทัลลำดับและโปรแกรมคอมพิวเตอร์

ตัวอย่าง

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

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

ดูเพิ่มเติม

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

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ รัฐ (วิทยาการคอมพิวเตอร์)

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

สถานะวงจรตรรกะดิจิทัล

วงจร ตรรกะดิจิทัล สามารถแบ่งออกได้เป็นสองประเภท: ตรรกะเชิงผสม ซึ่ง สัญญาณ เอาต์พุต ขึ้นอยู่กับสัญญาณอินพุตปัจจุบันเท่านั้น และ ตรรกะเชิงลำดับ ซึ่งเอาต์พุตเป็นฟังก์ชันของทั้งอินพุตปัจจุบันและประวัติอินพุตในอดีต [ 3 ] ในตรรกะเชิงลำดับ...

สถานะของโปรแกรม

ในทำนองเดียวกัน โปรแกรมคอมพิวเตอร์จะเก็บข้อมูลไว้ใน ตัวแปร ซึ่งแทนตำแหน่งจัดเก็บใน หน่วยความจำของคอมพิวเตอร์ เนื้อหาของตำแหน่งหน่วยความจำเหล่านี้ ณ จุดใดจุดหนึ่งในการทำงานของโปรแกรม เรียกว่าสถานะ ของ โปรแกรม [ 5 ] [ 6 ] [ 7 ]

เครื่องจักรสถานะจำกัด

เอาต์พุตของวงจรลำดับหรือโปรแกรมคอมพิวเตอร์ ณ เวลาใด ๆ จะถูกกำหนดโดยสมบูรณ์จากอินพุตปัจจุบันและสถานะปัจจุบัน เนื่องจากแต่ละ องค์ประกอบหน่วยความจำ ไบนารี มีสถานะที่เป็นไปได้เพียงสองสถานะ คือ 0 หรือ 1...