1. นิยามและความแตกต่าง : Device driver มีหน้าที่ควบคุม I/O device ส่วน Middleware ทำหน้าที่เป็น filesystem ดูแลการสื่อสารระหว่างโปรเซส
  2. โครงสร้างของ Device Driver : DD มี API เตรียมไว้ให้สำหรับการอ่านเขียน device ต่างๆอยู่แล้ว โดยเมื่อ DD ทำงานเสร็จก็จะแจ้งกลับไปที่โปรแกรมด้วย interrupt ซึ่งตัว DD นั้นทำมาจาก task context และ interrupt handler ส่วนของ task context นั้นเป็นตัวจัดสรร api ให้และคืนผลของ I/O ส่วน interrupt handler นั้นจัดการโดย kernel และจะส่งสัญญาณแจ้งไปยัง task context และสามารถแยกวิธีการประยุกต์ใช้งานของ task context ได้ออกเป็นดังนี้
    1. shared subroutine

      วิธีนี้ถูกเลือกใช้งานมากที่สุด โดย application ที่ทำงานอยู่ ไม่ว่าจะเป็น application ใดก็สามารถเข้าถึง i/o ได้ผ่านทางนี้ร่วมกัน

    2. task ใช้ฟังกชั่น mailbox ในการสื่อสารระหว่าง task และ DD
    3. system call โดยตรงไปยัง kernel เพราะมีการฝัง DD ไว้ข้างใน kernel แล้ว
  3. Middleware : middleware แต่ละตัวจะมีองค์ประกอบที่แตกต่างกัน เนื่องจาก middleware ในระบบ ES มีความหลากหลายมาก ตั้งแต่ชุดการสื่อสาร ไปจนถึง ระบบจักรกลเสมือน