กรณีศึกษา 
ระบบภาษาไทยระดับแก่น (Thai Kernel System : TKS)
ระบบภาษาไทยระดับแก่นหรือ TKS ถูกออกแบบและพัฒนาโดยทีมงานจากห้อง
ปฏิบัติการวิจัยไมโครคอมพิวเตอร์มหาวิทยาลัยเกษตรศาสตร์
ถึงแม้ว่า TKS จะไม่ประสบความสำเร็จมากในการขยายฐานผู้ใช้ ทั้งนี้เนื่องจาก
มีการเปลี่ยนแปลงเทคโนโลยีดังที่ได้กล่าวไปแล้ว แต่ระบบ TKS ถือว่าเป็น
ตัวอย่างที่ดีสำหรับการพัฒนาระบบภาษาไทยเพื่อเป็นพื้นฐาน สำหรับการสร้าง
แอพพลิเคชั่นภาษาไทยอื่นๆต่อไป
สถาปัตยกรรมของ TKS
ระบบ TKS ถูกออกแบบโดยมีจุดมุ่งหมายคือ
- 
มีลักษณะเป็นฟังก์ชันบริการที่ง่ายต่อการเรียกใช้ แต่ละฟังก์ชันบริการจะมี
 หมายเลขกำกับ การเรียกใช้จะเรียกในลักษณะฟังก์ชัน CALL จากโปรแกรม
 ประยุกต์
 
- 
 สนับสนุนการทำงานพื้นฐานที่เกี่ยวข้องกับภาษาไทยไว้ทั้งหมด เช่นฟังก์ชันเกี่ยว
 กับจอภาพ คีย์บอร์ด และเครื่องพิมพ์
 
- 
 มีความอ่อนตัวที่จะเปลี่ยนแปลงรูปแบบภายในให้ขึ้นกับอุปกรณ์ต่างๆได้ เช่น
 เครื่องพิมพ์ทุกชนิด การแสดงผลบนจอภาพได้ทุกโหมด (โหมดตัวอักษรหรือกราฟฟิก)
 รหัสการแทนค่าภาษาไทยทำได้ทุกรหัสและทุกระดับ
 
- 
 TKS สามารถเพิ่มฟังก์ชั่นได้ เช่นการจัดการจอภาพแบบหน้าต่าง
 
- 
 เป็นส่วนเดียวของระบบซอฟต์แวร์ที่ยอมให้ผผูกพันกับสิ่งแวดล้อมและฮาร์ดแวร์ 
 
TKS จะวางระดับโครงสร้างไว้เป็นชั้นๆ โดยจะมี Physical device drive ซึ่งจะ
ทำหน้าที่ควบคุมตัวฮาร์ดแวร์โดยตรง เป็นชั้นแรกสุด และชั้นถัดมาจะเป็นชั้นของ
ลอจิคอลดีไวซ์ไดรเวอร์ และถัดไปจะเป็นระดับของฟังก์ชั่นคอลและไลบราลี ระดับบนสุด
จึงจะเป็นระดับของแอพพลิเคชั่นหรือโปรแกรมประยุกต์
- 
ระดับฟิสิคัลดีไวซ์ไดรเวอร์ (PDD - Physical Device Driver) 
 ในระดับนี้จะมีการติดต่อกับอุปกรณ์ฮาร์ดแวร์โดยตรง เช่น จอภาพ คีย์บอร์ด เป็นต้น
 ในการติดต่อจะมีการกำหนดเป็นหมายเลขต่างๆเช่น
 
  - 
  entry #0-#3   มีหน้าที่เกี่ยวกับตรวจสอบและการติดตั้งระบบ
 
entry #16-#21 มีหน้าที่เกี่ยวกับการรับและส่งข้อมูลเป็นตัวอักษร (char) หรือเป็น
                คำ (word)
 entry #22-#25 มีหน้าที่เกี่ยวกับการรับและส่งข้อมูลเป็นกลุ่มตัวอักษร (stream)
 
 
ระดับลอจิคัลดีไวซ์ไดรเวอร์ (LDD-Logical Device Driver)
  ในระดับนี้จะทำการติดต่อกับอุปกรณ์ผ่านทางชื่อ เช่น STD_IN, STD_OUT, STD_ERR
  เป็นต้น การกำหนดในลักษณะนี้จะสามารถทำให้ทำการเปลี่ยนทิศทางข้อมูล (redirection)
  ได้ง่าย 
ระดับฟังก์ชันคอลและไลบราลี่ (FCLF-Function Call and Library Function)
  ในระดับนี้จะเกี่ยวข้องกับ I/O และระบบภาษาไทย โดยสามารถทำการติดต่อได้โดยผ่าน
  ทางการเรียกใช้งานฟังก์ชัน
ระดับโปรแกรมประยุกต์ 
  ในระดับนี้จะสามารถใช้การติดต่อจากระดับใดก็ได้ใน 3 ระดับข้างต้นทั้งนี้ขึ้นอยู่
  กับความเหมาะสมของความเร็วที่ต้องการติดต่อ และความง่ายในการใช้งาน
ตัวอย่างของการเรียกใช้ TKS
การเรียกผ่าน LDD
main()
{
    STRING string;
    string = & "ระบบผู้\^เชี่ยวชาญ\0";
    dprints (STD_OUT, string);
    exit();
}
การเรียกผ่านระบบ (function call)
#define READCHAR  5
main()
{
    Char ch;
    ch = Func_call (READCHAR, STD_AUX);
    exit;
}
การเรียกผ่าน PDD โดยตรง
#define ENTRY 17
main()
{
    TEXT test = {"_","_","_","_"};
    PDD_VDO(ENTRY, txt);
}
หมายเหตุ 
- 
dprints, Func_call เป็นฟังก์ชั่นใน FCLF
 
- 
PDD_VDO เป็นชื่อของการเรียกเข้าหาระบบในระดับ PDD
 
HTML developed by Kaiwal Development Team (kaiwal@geocities.com)
 
 
