อ่าน 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 ) ซึ่งใช้ในการออกแบบทั้งวงจรดิจิทัลลำดับและโปรแกรมคอมพิวเตอร์
ตัวอย่าง
ตัวอย่างของอุปกรณ์ในชีวิตประจำวันที่มีสถานะคือโทรทัศน์ในการเปลี่ยนช่องโทรทัศน์ ผู้ใช้มักจะกดปุ่มเปลี่ยนช่องขึ้นหรือลงบนรีโมทคอนโทรล ซึ่งจะส่งข้อความรหัสไปยังโทรทัศน์ เพื่อคำนวณช่องใหม่ที่ผู้ใช้ต้องการ จูนเนอร์ดิจิทัลในโทรทัศน์จะต้องเก็บหมายเลขช่องปัจจุบันไว้ จากนั้นจะเพิ่มหรือลบหนึ่งจากหมายเลขนี้เพื่อให้ได้หมายเลขช่องใหม่ และปรับโทรทัศน์ให้รับช่องนั้น หมายเลขใหม่นี้จะถูกเก็บไว้เป็นหมายเลขช่องปัจจุบันในทำนองเดียวกัน โทรทัศน์ยังเก็บหมายเลขที่ควบคุมระดับเสียงที่ออกมาจากลำโพง การกดปุ่มเพิ่มหรือลดระดับเสียงจะเพิ่มหรือลดหมายเลขนี้เพื่อตั้งระดับเสียงใหม่ ทั้ง หมายเลข ช่องปัจจุบันและ ระดับ เสียงปัจจุบันเป็นส่วนหนึ่งของสถานะของโทรทัศน์ ข้อมูลเหล่านี้ถูกเก็บไว้ในหน่วยความจำแบบไม่ลบเลือนซึ่งจะรักษาข้อมูลไว้เมื่อปิดโทรทัศน์ ดังนั้นเมื่อเปิดโทรทัศน์อีกครั้ง โทรทัศน์จะกลับไปยังสถานีและระดับเสียงก่อนหน้า
ยกตัวอย่างเช่น สถานะของคอมพิวเตอร์ส่วนบุคคลคือ เนื้อหาที่จัดเก็บอยู่ในหน่วยความจำทั้งหมด เมื่อคอมพิวเตอร์ เช่น แล็ปท็อป เข้าสู่โหมดจำศีล เพื่อประหยัดพลังงานโดยการปิดการทำงานของโปรเซสเซอร์ สถานะของโปรเซสเซอร์จะถูกบันทึกไว้ใน ฮาร์ดดิสก์ของคอมพิวเตอร์เพื่อให้สามารถกู้คืนได้เมื่อคอมพิวเตอร์ออกจากโหมดจำศีล และโปรเซสเซอร์สามารถทำงานต่อจากจุดที่หยุดไปได้
ดูเพิ่มเติม
- ข้อมูล (การคำนวณ)
- ตัวแปร (ในภาษาโปรแกรมระดับสูง) - ภาชนะที่ใช้เก็บสถานะของวัตถุ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รัฐ (วิทยาการคอมพิวเตอร์)
ใน เทคโนโลยีสารสนเทศ และ วิทยาศาสตร์คอมพิวเตอร์ ระบบจะถูกอธิบายว่าเป็น ระบบที่มีสถานะ หากได้รับการออกแบบให้จดจำเหตุการณ์ก่อนหน้าหรือการโต้ตอบของผู้ใช้ [ 1 ]...
สถานะวงจรตรรกะดิจิทัล
วงจร ตรรกะดิจิทัล สามารถแบ่งออกได้เป็นสองประเภท: ตรรกะเชิงผสม ซึ่ง สัญญาณ เอาต์พุต ขึ้นอยู่กับสัญญาณอินพุตปัจจุบันเท่านั้น และ ตรรกะเชิงลำดับ ซึ่งเอาต์พุตเป็นฟังก์ชันของทั้งอินพุตปัจจุบันและประวัติอินพุตในอดีต [ 3 ] ในตรรกะเชิงลำดับ...
สถานะของโปรแกรม
ในทำนองเดียวกัน โปรแกรมคอมพิวเตอร์จะเก็บข้อมูลไว้ใน ตัวแปร ซึ่งแทนตำแหน่งจัดเก็บใน หน่วยความจำของคอมพิวเตอร์ เนื้อหาของตำแหน่งหน่วยความจำเหล่านี้ ณ จุดใดจุดหนึ่งในการทำงานของโปรแกรม เรียกว่าสถานะ ของ โปรแกรม [ 5 ] [ 6 ] [ 7 ]
เครื่องจักรสถานะจำกัด
เอาต์พุตของวงจรลำดับหรือโปรแกรมคอมพิวเตอร์ ณ เวลาใด ๆ จะถูกกำหนดโดยสมบูรณ์จากอินพุตปัจจุบันและสถานะปัจจุบัน เนื่องจากแต่ละ องค์ประกอบหน่วยความจำ ไบนารี มีสถานะที่เป็นไปได้เพียงสองสถานะ คือ 0 หรือ 1...