9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)
Upcoming SlideShare
Loading in...5
×
 

9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

on

  • 634 views

 

Statistics

Views

Total Views
634
Views on SlideShare
632
Embed Views
2

Actions

Likes
0
Downloads
11
Comments
0

1 Embed 2

http://jkrissapat.com.th.gs 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17) Presentation Transcript

  • 1. โครงสร้า งระบบรับ เข้า และส่ง ออก I/O Systems Structure
  • 2. I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performanceวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 2 ั
  • 3. Learning Objectives เพื่อศึกษาถึงแนวคิดด้านการจัดการอุปกรณ์รับเข้าและส่งออก เพื่อเข้าใจถึงหน้าที่ของระบบปฏิบัติการในการจัดการเกี่ยวกับ ระบบรับเข้าและส่งออกวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 3 ั
  • 4. I/O Hardware อุปกรณ์นำาเข้า (input device) คือ อุปกรณ์ที่ทำาให้คอมพิวเตอร์ สามารถสัมผัสและรับรู้สิ่งต่างๆ จากโลกภายนอกได้ ตัวอย่างเช่น เครื่องอ่านบัตร คียบอร์ด เมาส์ ์ อุปกรณ์ส่งออก (output device) คือ อุปกรณ์ที่ทำาให้คอมพิวเตอร์ ควบคุมหรือส่งผลออกมาสู่โลกภายนอกได้ ตัวอย่างเช่น เครื่องเจาะ บัตร จอภาพ เครื่องพิมพ์ Common concepts  Port  Bus (daisy chain or shared direct access)  Controller (host adapter) มี I/O instructions สำาหรับควบคุมอุปกรณ์ อุปกรณ์เหล่านันจะมีเลขที่อยู่ (addresses) ที่ถูกใช้โดย ้  Direct I/O instructions  Memory-mapped I/Oวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 4 ั
  • 5. A Typical PC Bus Structureวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 5 ั
  • 6. Device I/O Port Locations on PCs (partial)วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 6 ั
  • 7. คุณ สมบัต ิข องพอร์ต พอร์ตเอาท์พุต (output port) คือต้องสามารถดึงกระแสเข้า และ จ่ายกระแส ออกได้ และต้องมีเอ้าท์อินพีแดนซ์ (out impedance) ตำ่า พอร์ตอินพุต (input port) คือ ต้องมีอิมพีแดนซ์ (impedance) สูง จะตรวจจับแรงดัน สัญญาณที่เข้ามาว่าเป็น 1 หรือ 0 มีเรจิสเตอร์ 4 ตัว  เรจิสเตอร์สถานะ (status register)  เรจิสเตอร์ควบคุม (control register)  เรจิสเตอร์ข้อมูลเข้า (data-in register)  เรจิสเตอร์ข้อมูลออก (data-out register) เรจิสเตอร์สถานะบรรจุบิตแสดงการอ่านโดยโฮสต์ (host)วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 7 ั
  • 8. ตัว ขับ อุป กรณ์ Device Driver หากบรรจุโปรแกรมควบคุมอุปกรณ์ I/O ทั้งหมดเข้าไว้ใน OS จะ ทำาให้ OS มีขนาดเทอะทะ ไม่ยดหยุน และมีค่าใช้จ่ายสูงในการ ื ่ upgrade OS แต่ละครั้ง จึงต้องแยกโปรแกรมควบคุมอุปกรณ์ออกมาเป็นส่วนหนึ่งต่าง หาก เรียกว่า ตัวขับอุปกรณ์ (device driver) ลักษณะเช่นนี้ OS ไม่จำาเป็นต้องรู้จักลักษณะการทำางานของ อุปกรณ์ต่าง ๆ ปล่อยให้เป็นหน้าที่ของตัวขับอุปกรณ์ชนิดนั้นๆ OS รู้เพียงแต่การติดต่อและควบคุมอุปกรณ์ผ่านทางตัวขับ อุปกรณ์เท่านั้นวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 8 ั
  • 9. อุป กรณ์เ สมือ น Virtual Device คือการนำาเอาอุปกรณ์ชนิดหนึ่งมาจำาลองการทำางานเป็นอุปกรณ์ อีกชนิดหนึ่ง เพื่อก่อให้เกิดความคล่องตัวในการทำางานของระบบ ตัวอย่างของการทำาอุปกรณ์เสมือนก็คือ การทำาแรมดิสก์ (Ram disk) การติดต่อควบคุมแรมดิสก์นี้ ทำาได้โดยผ่านโปรแกรมที่ทำาหน้าที่ จำาลองหน่วยความจำาเป็นดิสก์ เรียกว่า ตัวขับอุปกรณ์เสมือน (virtual device driver) การทำา SPOOL (Simultaneous peripheral operation on- line) ซึ่งเป็นการใช้ใช้ดิสก์แทนเครื่องพิมพ์ โดยมีโปรเซสหนึ่งของ OS ชื่อ SPOOLER ทำาหน้าที่จัดการ เรื่องการทำา SPOOL ของระบบวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 9 ั
  • 10. การสำา รวจความต้อ งการ (polling) ทุกๆ ช่วงเวลาหนึง (Quantum time) ซีพียูจะหยุดงานที่ทำาอยู่ ่ ชั่วคราว และเวียนไปตรวจเช็คที่แต่ละแชนแนลเพื่อดูวา มีอปกรณ์ตัว ่ ุ ใดบ้างต้องการส่งข้อมูลมาให้ซีพียูจากอุปกรณ์แรกไปถึงอุปกรณ์ สุดท้าย เช่น พวกคำาสั่ง JNB TF1 , $ แบบนีโปรแกรมจะทำาอะไรอย่างอืนไม่ได้เลย จะต้องรอจนกว่า ้ ่ เงือนไขจะเป็นจริง จึงทำาให้เสียเวลาไปโดยใช่เหตุ ่ Determines state of device  command-ready  busy  Error Busy-wait cycle to wait for I/O from deviceวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 10 ั
  • 11. มอดูล ของการรับ ส่ง ข้อ มูล Data Transfer Module I/O module Functionality  การควบคุมและการจับเวลา  การสื่อสารระหว่างโปรเซส  การสื่อสารระหว่างอุปกรณ์  การจัดการบัฟเฟอร์  การตรวจสอบข้อผิดพลาด มอดูลการรับเข้าและส่งออกจะต้องสื่อสารกับโปรเซสเซอร์และ สื่อสารกับภายนอก เกี่ยวข้องกับ  การถอดรหัสคำาสั่ง (command decoding),  ข้อมูล (data),  การรายงานสถานะ (status reporting)  การรับรู้ทอยู่ (address recognition) ี่วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 11 ั
  • 12. อัตราการส่งผ่านอุปกรณ์ของ Sun Enterprise 6000 ที่มา (IEEE Computer Society, 1996, p.65).วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 12 ั
  • 13. โครงสร้า งของมอดูล การรับ เข้า และส่ง ออก I/O Module Structure ทำาหน้าที่อำานวยความสะดวก ให้โปรเซสเซอร์สามารถควบคุม การทำางานของอุปกรณ์รับเข้าส่งออกต่างๆได้ง่าย I/O Module ทำางานหนักด้วยตัวเอง โดยจะเชื่อมต่อกับ โปรเซสเซอร์เรียกว่า ช่องสื่อสารการรับเข้าส่งออก (I/O channels) หรือ ไอโอโปรเซสเซอร์ (I/O processor) I/O Module ที่ทำางานน้อย และต้องอาศัยการควบคุมจาก โปรเซสเซอร์โดยตรงเรียกว่า หน่วยควบคุมการรับเข้าส่งออก (I/O controller) หรือหน่วยควบคุมอุปกรณ์ (device controller)วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 13 ั
  • 14. การควบคุม การรับ เข้า ส่ง ออก มีอยู่ 3 วิธี  การควบคุมการรับเข้าส่งออกด้วยโปรแกรม (Programmed I/O)  กระบวนการอินเทอร์รัพท์ (Interrupt-driven I/O)  การเข้าถึงหน่วยความจำาหลักโดยตรง (Direct memory access : DMA) Programmed I/O และ Interrupt-driven I/O ต้องใช้ processor คอยควบคุมและจัดการแลกเปลี่ยนข้อมูลระหว่าง หน่วยความจำาหลักกับ I/O ส่วนแบบ DMA นั้น I/O module จะแลกเปลี่ยนข้อมูลกันโดยตรง กับหน่วยความจำาหลักโดยที่ processor ไม่ต้องเกียวข้อง ่วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 14 ั
  • 15. Interrupts CPU จะถูก Interrupt request line โดย I/O device Interrupt handler (CPU) ได้รับ interrupts จะพิจารณาว่าต้องทำาตามคำาร้องขอนั้นทันที่หรือรอเวลาไว้ก่อน Interrupt vector to dispatch interrupt to correct handler  Based on priority  Some unmaskable Interrupt mechanism also used for exceptionsวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 15 ั
  • 16. Interrupt-Driven I/O Cycleวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 16 ั
  • 17. Intel Pentium Processor Event-Vector Tableวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 17 ั
  • 18. Direct Memory Access การเคลื่อนย้ายข้อมูลจำานวนมากไม่นิยมใช้ programmed I/O แต่ใช้ DMA แทน จำาเป็นต้องมี DMA controller การรับ-ส่งข้อมูลระหว่าง I/O กับหน่วยความจำาสามารถทำาได้ โดยตรงโดยไม่ต้องผ่าน CPUวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 18 ั
  • 19. Six Step Process to Perform DMA Transferวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 19 ั
  • 20. Application I/O Interface I/O system calls จะห่อหุ้มพฤติกรรมของอุปกรณ์ให้อยู่ในชั้น ทั่วไป ในชั้นของตัวขับอุปกรณ์ (Device driver Layer) ถูกซ่อนไว้ ระหว่างระบบย่อยนำาเข้าส่งออกกับตัวขับอุปกรณ์ ประเภทของอุปกรณ์แบ่งตามคุณลักษณะการรับส่งข้อมูล  Character-stream or block  Sequential or random-access  Sharable or dedicated  Speed of operation  read-write, read only, or write onlyวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 20 ั
  • 21. A Kernel I/O Structureวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 21 ั
  • 22. Characteristics of I/O Devicesวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 22 ั
  • 23. อุป กรณ์แ บบบล็อ กและแบบอัก ขระ Block and Character Devices Block devices ได้แก่ disk drives  Command ประกอบด้วย read, write, seek  Raw I/O หรือ file-system access  อาจใช้การเข้าถึงแฟ้มแบบ Memory-mapped Character devices ประกอบด้วย keyboards, mice, serial ports  Commands ประกอบด้วย get, put  Libraries layered on top allow line editingวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 23 ั
  • 24. Network Devices จะมีส่วนต่อประสานเป็นของตัวเองที่เพียงพอสำาหรับบล็อกและ อักขระ Unix และ Windows NT/9i/2000 ใช้ socket interface  แยก network protocol ออกจาก network operation  Includes select functionality เป็นวิธีการที่ใช้อย่างแพร่หลาย (pipes, FIFOs, streams, queues, mailboxes)วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 24 ั
  • 25. นาฬิก าและเวลา Clocks and Timers บอก เวลาปัจจุบัน, เวลาที่ผานไปแล้ว, การตั้งเวลา ่ อุปกรณ์บอกเวลาที่ใช้ผ่านไปแล้วและการตั้งเวลาเพื่อคำานวณ การส่งสัญญาณ เรียกว่า programmable interval timer ใช้เพื่อ ตั้งเวลา, กำาหนดช่วงเวลาของ interruptsวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 25 ั
  • 26. Blocking and Nonblocking I/O Blocking – กระบวนการจะถูกหยุดพักชั่วคราวจนกว่า I/O completed  ง่ายต่อการใช้และเข้าใจ  เพียงพอต่อความต้องการบางประการ Nonblocking - I/O จะถูกเรียกกลับมาเมื่อว่าง  งานทีมีการประมวลผลยังทำางานได้จนเสร็จสิ้น แล้วจึงเรียก ่ สัญญาณขัดจังหวะ เพื่อนำากระบวนการทังหมดที่มการเรียกระบบมา ้ ี ติดต่อเข้าด้วยกัน Asynchronous – กระบวนการก็รันไปในขณะที่ I/O ก็ executes ไป  ใช้งานยาก  I/O subsystem ส่งสัญญาณไปยังกระบวนการ เมือ I/O completed ่วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 26 ั
  • 27. Kernel I/O Subsystem การจัดตาราง I/O (Scheduling)  บาง I/O request มีการจัดลำาดับผ่านคิวของแต่ละอุปกรณ์  บาง OS มีการจัดการเรื่องความเป็นธรรม Buffering - เก็บข้อมูลในหน่วยความจำาในระหว่างการถ่ายโอน ข้อมูลระหว่างอุปกรณ์  เพื่อรับมือกับอุปกรณ์ทมีความเร็วต่างกันมาก ี่  เพื่อรับมือกับอุปกรณ์ทมีขนาดการถ่ายโอนข้อมูลต่างกัน ี่  เพื่อสนับสนุนการทำางานแบบการสำารองข้อมูลทีเหมือนกัน (copy ่ semantics)วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 27 ั
  • 28. Sun Enterprise 6000 Device-Transfer Ratesวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 28 ั
  • 29. Kernel I/O Subsystem Caching - หน่วยความจำาความเร็วสูงใช้เก็บสำาเนาข้อมูล  มักใช้ในการสำาเนา  ใช้เพิมประสิทธิภาพเป็นหลัก ่ Spooling - เก็บผลลัพธ์ของอุปกรณ์  ใช้ในกรณีทอุปกรณ์นั้นสามารถรองรับการทำางานได้เพียงครั้งละ ี่ หนึ่งงานในเวลาเดียวกัน  เช่น การพิมพ์ การสงวนอุปกรณ์ (Device reservation) – ทำาให้การเข้าถึง อุปกรณ์แบบ exclusive  System calls สำาหรับจัดสรรและคืนการจัดสรร  ระวังการเกิด deadlock สำาหรับการร้องขออุปกรณ์วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 29 ั
  • 30. การจัด การข้อ ผิด พลาด Error Handling OS สามารถปกป้องข้อผิดพลาดที่จะเกิดจากการอ่านดิสก์, อุปกรณ์ยงไม่พร้อมใช้งาน, การขัดข้องของการเขียน ั OS จะส่งคืน error number หรือ code เมื่อ I/O request เกิดล้ม เหลว System error logs จะบันทึกรายงานปัญหาที่เกิดขึ้นวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 30 ั
  • 31. Kernel Data Structures Kernel เก็บข้อมูลสถานะสำาหรับ I/O components, ประกอบ ด้วย open file tables, network connections, character device state โครงสร้างข้อมูลมีความซับซ้อนสูงเพื่อใช้แกะรอยบัฟเฟอร์ , ตำาแหน่งหน่วยความจำา และ “dirty” blocks การใช้ object-oriented methods บางชนิด และ message passing ในการใช้งาน I/Oวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 31 ั
  • 32. UNIX I/O Kernel Structureวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 32 ั
  • 33. I/O Requests to Hardware Operations การอ่านแฟ้มจากดิสก์สำาหรับกระบวนการ:  พิจารณาอุปกรณ์เก็บแฟ้ม  แปลงชื่อในการแทนอุปกรณ์  อ่านข้อมูลเชิงกายภาพจากดิสก์ไปยังบัฟเฟอร์  สร้างข้อมูลให้พร้อมใช้งานไปยังกระบวนการที่ร้องขอ  ส่งคืนการควบคุมไปยังกระบวนการวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 33 ั
  • 34. Life Cycle of An I/O Requestวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 34 ั
  • 35. STREAMS STREAM – คือช่องทางการสื่อสารแบบ full-duplex ระหว่าง a user-level process กับ a device A STREAM ประกอบด้วย: - STREAM head ส่วนต่อประสานกับกระบวนการผู้ใช้ - driver end ส่วนต่อประสานกับอุปกรณ์ - zero หรือ more STREAM modules ระหว่าง อุปกรณ์และ กระบวนการเหล่านั้น แต่ละมอดูลบรรจุด้วย a read queue และ a write queue ใช้ Message passing ในการสื่อสารระหว่างคิววิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 35 ั
  • 36. The STREAMS Structureวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 36 ั
  • 37. Performance I/O เป็นปัจจัยหลักในเรื่องประสิทธิภาพของระบบ  ความต้องการ CPU ในการ execute device driver, kernel I/O code  การสลับบริบท (Context switches) เมื่อมีการ interrupts  การทำาสำาเนาข้อมูล (Data copying)  ความคับคั่งของการจราจรเครือข่าย (Network traffic especially stressful)วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 37 ั
  • 38. Intercomputer Communicationsวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 38 ั
  • 39. การปรับ ปรุง ประสิท ธิภ าพ Improving Performance ลดจำานวนการสลับบริบท (Reduce number of context switches) ลดการทำาสำาเนาข้อมูล (Reduce data copying) ลด interrupts โดยใช้การถ่ายโอนครั้งละจำานวนมาก, ตัวควบคุม ที่ฉลาด (smart controllers), และ polling ใช้ DMA สร้างสมดุลประสิทธิภาพของ CPU, memory, bus, และ I/O เพื่อ ให้ได้ปริมาณงานสูงสุด (highest throughput)วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 39 ั
  • 40. Device-Functionality Progressionวิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 40 ั