�к���Ժѵԡ�ä�͡�����ͧ���������˹�ҷ��Ǻ�����÷ӧҹ�ͧ�������������ӧҹ
�����ҧ�ջ���Է���Ҿ
�ʴ���������ѹ�������ҧ�к���Ժѵԡ�� �������� ���������ء����м����
ǧ�����ش���¶֧�������� ������ǹ����ͧ������ٻ�����ͧ����ͧ ǧ�Ѵ�͡��
���к���Ժѵԡ�� ���¤������ �к���Ժѵԡ������ǹ�ͧ�ش��������������
���Դ��͡Ѻ�������ͧ�µç �Ѵ�͡���ա��������ͧ�ͧ���������ء�� ���¤������
���������ء���ҧ�Դ��͡Ѻ�к���Ժѵԡ�� ��������÷ӧҹ�ͧ���������ҹ��
��������ҧ�ջ���Է���Ҿ ��÷ӧҹ�ͧ���������ء�� �蹡�������ŧ���
��ʤ� ���繡�÷ӧҹ�ͧ�к���Ժѵԡ�÷����� ǧ�͡�ش�������� ���¤�����Ҽ����Դ���
�Ѻ���������ء�����ͷӧҹ��ҧ�ͧ������ͧ
�к���Ժѵԡ������ö�������ͧ����������ѡɳС����ҹ ����Ẻ "�ҹ�����"
(single-tasking) ���Ẻ "���§ҹ" (multi-tasking)
�к�Ẻ�ҹ��������к�����������ռ������§˹�觤���ҹ��㹡��������Ф���
���������ռ����˹�觤��������ö�����������§˹����������ҹ��
�ѡɳй��ᵡ��ҧ�ҡ�к�Ẻ���§ҹ ����������ռ�����ҡ����˹�觤�������Ъ��
��м���餹˹������ö��ҹ��������ҡ����˹���������������ǡѹ
���ä�����������ؤ�á����к���Ժѵԡ��Ẻ�ҹ����� ���������������ͧ�դ�������ö
�٧�ҡ��� �к�Ẻ���§ҹ���繷������ҡ��� �����������к���Ժѵԡ�����������ҧ����Ẻ
���§ҹ������ (�� Windows 95 ���� MacOS ��觨С���Ƕ֧���������´���)
��Ҩ��觵���������ͧ�ҹ �к���Ժѵԡ�û�Сͺ������ǹ��Сͺ�˭��ͧ��ǹ
������ǹ�Ǻ��� (control function) �����ǹ��ԡ�� (service function) ��ǹ�á
����ǹ������º�������㨢ͧ�������������ͧ�ҡ����ǹ���Ѵ��ô��š�÷ӧҹ�������ͧ
����ͧ ˹�ҷ����ѡ�ͧ��ǹ�����Сͺ���� ��èѴ�ӴѺ����ѧ�ͧ�����Ӥѭ㹡����ҹ
�ͧ����� (Scheduling and job management) ��èѴ��á������¢����������ҧ
��ǹ��ҧ�ͧ���������� (Input/Output and data management) ��С�ô����к� (System monitoring)
��ǹ��ú�ԡ�âͧ�к���Ժѵԡ������ǹ��������������ҹ�ͧ���������ҡ��� ���к�
��Ժѵԡ�èл�Сͺ�����������������͵�ҧ������¡��� utilities ��觷�˹�ҷ���ҧ�ѹ��
��ÿ�������蹴�ʤ� ��äѴ�͡�������� ���͡���ʴ��ӴѺ����ҧ���蹴�ʤ��繵�
�͡�ҡ����ѧ�պ�ԡ������������ͧ (compiling)����繺�ԡ�÷���Ӥѭ�ҡ ���ͧ�ҡ
�������ҧ��Ҩ��¹��鹴����������������д�ɰ��������������µ�͡����¹
�ѧ�������ͨ������������ҹ���к���Ժѵԡ�á���˹�ҷ�������һ�д�ɰ�����ҹ�� ������¡�ѹ���
���Ҫ���٧ (�� BASIC, FORTRAN, PASCAL, C, ��������) �������ҷ������ͧ����ö
������ �Ѻ����繺�ԡ�÷������ҡ
˹�ҷ���ҧ�ͧ�к���Ժѵԡ���ʴ�����ٻ���仹��
��÷ӧҹ�ͧ�к���Ժѵԡ��
��èѴ������/�͡ (Input/Output [I/O] Manager)��㹡�äǺ�����ШѴ��á���������¢����������ҧ��ǹ��ҧ�ͧ����ͧ������������÷ӧҹ�������� (Program Execution)��ǹ����������㨢ͧ�к���Ժѵԡ�� ��Сͺ�����ͧ��ǹ�˭������Scheduling program ��˹�ҷ���ͺ���¡�÷ӧҹ�ͧ CPU��èѴ������������ (File management)��˹�ҷ��Ѵ������ (�����дѺ����ͧ����§������§��ǡѹ�ͧ��觷��᷹����
��С�û� ����觢���������������
Job management program ��˹�ҷ��Ǻ�����÷ӧҹ�ͧ�����
��е�Ǩ�ͺ�����Դ��Ҵ�ͧ�����
"0" �Ѻ "1" ��ҹ��) �����˹�������¡��� "���������" ���� "���" (files)
��ͨҡ��鹡����Ǩ�������ͧ���������蹴�ʤ� ��������촴�ʤ���������ö
���͡���� (���¡��� "��Ŵ" [load]) ����͵�ͧ���
˹�ҷ���ա��С��˹�觡��͡�����ҧ���礷���� �����������ʴ���¡�âͧ����ҧ�
�˹����红�����˹���˹�� (����Ҩ���蹴�ʤ� ���촴�ʤ� �红�����
�蹫մշ��ѹ�֡�� ���) �������駺ѹ�֡�����ŵ�ҧ�ͧ���������������� "���" ����ͧ ('Booting')˹�ҷ���Ӥѭ�ա���ҧ˹�觡��͡�ô֧�����ǹ�����繢ͧ�к���Ժѵԡ��������˹���
�����Ӣͧ����ͧ�����������Դ����ͧ��ҹ ��á�з��蹹�����¡�ѹ��ҡ�� "���"
����ͧ ����¡��������ѧ�����������������������ͧ�˭���ӧҹ������ʹ�ح�ҡ��
������Դ�����ͧ�ҧ������ͧ�������ӧҹ��ͧ�������价������ͧ�֧�зӧҹ��
�ѡ����������������¡��á�е���������ͧ�ӧҹ��� "���"��èѴ���˹��¤����� (Memory management)��˹�ҷ��Ѵ���˹��¤����Ӣͧ����ͧ�����������ͧ�ӧҹ�����ҧ�ջ���Է���Ҿ�٧�ش
�� (1) ��ͧ�ѹ���������������������ͷ��˹��¤����Ӣͧ�к���Ժѵԡ���ͧ
��� (2) �Ѵ���������������˹��¤�����㹻���ҳ�����§�� (�Ԥ������¡���
overlay �Ѩ�غѹ����������դ������繵�ͧ�� ��������ͧ���������˹��¤������ҡ��)[��Ѻ�˹���������] [�˹�ҵ���] - การเข้าถึงระบบ (System access)การติดต่อระบบ ในกรณีที่เป็นระบบสาธารณะ หรือเป็นระบบที่ใช้งานร่วมกันระบบปฏิบัติการจะควบคุมการติดต่อเข้ากับระบบ คอมพิวเตอร์โดยส่วนรวม และทรัพยากรแต่ละชิ้น ฟังก์ชั่นการติดต่อจะต้องสนับสนุนการป้องกันทรัพยากร และข้อมูลจากผู้ที่ไม่มีสิทธิในการใช้งาน และจะต้องสามารถแก้ปัญหาการแย่งชิงการใช้อุปกรณ์ได้ด้วย ดังนั้นระบบที่มีการแบ่งปัน ( Share) การเข้าถึงข้อมูลและระบบแบบสาธารณะ (public) OS จะป้องกัน (protect) ทรัพยากรจากคนหรืองานที่ไม่ได้รับอนุญาต ตัวอย่างเช่นการป้องกันการเข้าใช้งานเครื่อง Mainframe จำเป็นต้องต้องมีการขออนุญาตเข้าใช้ กำหนดสิทธิ์การใช้งาน กำหนดการอนุญาตใช้ฮาร์ดแวร์ จะเห็นว่า OS ทำงานมากขึ้นสำหรับคอมพิวเตอร์ขนาดใหญ่อย่าง Mainframe ถ้าเป็นเครื่อง PC เราจะขออนุญาตตัวเองในการเข้าใช้งาน
จากที่ได้กล่าวมาแล้วว่า ระบบปฏิบัติการถูกสร้างขึ้นมาด้วยวัตถุประสงค์หลักคือ อำนวยความสะดวกแก่ผู้ใช้เครื่องคอมพิวเตอร์ ในลักษณะที่ผู้ใช้ไม่จำเป็นต้องทราบกลไกการทำงานหรือฮาร์ดแวร์ของระบบ จึงสามารถแบ่ง หน้าที่หลักของระบบปฏิบัติการได้ดังนี้
2.1 ติดต่อกับผู้ใช้ (user interface) ผู้ใช้สามารถติดต่อหรือควบคุมการทำงานของเครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการได้ โดยระบบปฏิบัติการจะเครื่องหมายพร้อมต์ (prompt) ออกทางจอภาพเพื่อรอรับคำสั่งจากผู้ใช้โดยตรง ตัวระบบปฏิบัติการจึงเป็นตัวกลางที่ทำหน้าที่เชื่อมโยงระหว่างผู้ใช้กับฮาร์ดแวร์ของเครื่อง นอกจากนี้ผู้ใช้อาจเขียนโปรแกรมเพื่อใช้งานกรณีนี้ผู้ใช้ก็สามารถติดต่อกับระบบปฏิบัติการได้โดยผ่านทาง System Call
2.2 ควบคุมการทำงานของโปรแกรม และอุปกรณ์รับ/แสดงผลข้อมูล (input/output device) ตลอดจนการให้ความสะดวกแก่ผู้ใช้ในการใช้งานอุปกรณ์ต่างๆ ได้ง่าย เช่น การเข้าถึงข้อมูลในแฟ้มหรือติดต่อกับอุปกรณ์รับ/แสดงผลข้อมูล จึงทำให้ผู้พัฒนาโปรแกรมไม่จำเป็นต้องเขียนโปรแกรมเพื่อควบคุมตัวขับดิสก์เพราะระบบปฏิบัติการจัดบริการให้มีคำสั่งสำหรับติดต่อกับอุปกรณ์เหล่านี้ได้อย่างง่ายๆเนื่องจากผู้ใช้เครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการ อาจไม่มีความจำเป็นต้องมีความรู้ความเข้าใจถึงหลักการทำงานภายในของเครื่อง
ดังนั้น ระบบปฏิบัติการจึงมีหน้าที่ควบคุมการทำงานของโปรแกรม การทำงานของอุปกรณ์ต่างๆ เพื่อให้การทำงานของระบบเป็นไปอย่างถูกต้องและสอดคล้องกัน ระบบปฏิบัติการจึงมีส่วนประกอบของหน้าที่ต่างๆ ที่ควบคุมอุปกรณ์แต่ละชนิดที่มีหน้าที่แตกต่างกันไป โดยผู้ใช้อาจเรียกใช้ผ่านทาง System Call หรือเขียนโปรแกรมขึ้นมาควบคุมอุปกรณ์เหล่านั้นได้เอง
2.3 จัดสรรให้ใช้ทรัพยากรระบบร่วมกัน (shared resources) ซึ่งทรัพยากรหลักที่ต้องมีการจัดสรร ได้แก่ หน่วยประมวลผลกลาง หน่วยความจำหลัก อุปกรณ์รับ/แสดงผลข้อมูลและแฟ้มข้อมูล เช่น การจัดลำดับให้บริการใช้เครื่องพิมพ์การสับหลีกงานหลายงานในหน่วยความจำหลักและการจัดสรรหน่วยความจำหลักให้กับโปรแกรมทั้งหลาย ทรัพยากร คือสิ่งที่ซึ่งถูกใช้ไปเพื่อให้โปรแกรมดำเนินไป ซึ่งเหตุที่ต้องมีการจัดสรรทรัพยากรก็เพราะ
2.3.1 ทรัพยากรของระบบมีขีดจำกัด เช่น ซีพียูในระบบมีอยู่เพียงตัวเดียว แต่ทำงานในระบบมัลติโปรแกรมมิ่งมีการทำงานหลายโปรแกรม จึงจะต้องมีการจัดสรรซีพียูให้ทุกโปรแกรมอย่างเหมาะสม
2.3.2 ทรัพยากรมีอยู่หลายประเภท แต่ละโปรเซสหรือโปรแกรมมีความต้องการใช้ทรัพยากรเพียง อย่างเดียว หรือหลายอย่างพร้อมกัน ระบบปฏิบัติการจึงต้องจัดเตรียมทรัพยากรต่างๆ ตามความต้องการของโปรแกรม
ดังนั้นหน้าที่อันสำคัญประการหนึ่งของระบบปฏิบัติการก็คือ การจัดสรรทรัพยากรของระบบให้เกิดประโยชน์สูงสุด โดยคำนึงถึงความยุติธรรมต่อผู้ใช้แต่ละคน และให้เกิดประสิทธิภาพเป็นหลักสำคัญ ถ้าระบบปฏิบัติการจัดสรรทรัพยากรได้อย่างมีประสิทธิภาพ ระบบก็สามารถรันโปรแกรมได้อย่างรวดเร็วและได้งานเพิ่มขึ้น ทรัพยากรหลักที่ระบบปฏิบัติการจัดสรรได้แก่ โปรเซสเซอร์ (ซีพียู), หน่วยความจำ, อุปกรณ์นำข้อมูลเข้า/ออก และข้อมูล เป็นต้น
ระบบปฏิบัติการอาจเป็นได้ทั้ง Hardware Software หรือ Firmware หรือผสมผสานกันก็ได้ โดยมี เป้าหมายเดียวกันคือสามารถช่วยให้ผู้ใช้คอมพิวเตอร์สามารถใช้คอมพิวเตอร์ได้ดังที่ได้กล่าวมาแล้ว
1. Hardware OS เป็น OS ที่อยู่ในรูปของอุปกรณ์ ถูกสร้างขึ้นเพื่อควบคุมการทำงานของเครื่องคอมพิวเตอร์และเป็นส่วนหนึ่งของฮาร์ดแวร์มีความเร็วในการทำงานสูง แต่ราคาแพงและแก้ไขยาก ไม่นิยมในการแก้ไขส่วนมากจะเป็นการเปลี่ยนอุปกรณ์มากกว่าการแก้ไข
2. Software OS เป็น OS ที่เป็นโปรแกรมที่เขียนขึ้นเพื่อควบคุมการทำงานของเครื่องคอมพิวเตอร์ เช่นเดียวกัน มีความเร็วช้ากว่า Hardware OS แต่เป็นที่นิยมมากที่สุดเพราะง่ายแก่การแก้ไข และราคาถูก
3. Firmware OS เป็น OS ที่เป็นส่วนของโปรแกรมที่เก็บไว้เป็นส่วนหนึ่งของเครื่องคอมพิวเตอร์ เขียนขึ้นโดยใช้คำสั่งไมโคร หลายๆ คำสั่งของคำสั่งไมโครรวมกันเรียกว่าไมโครโปรแกรม มีความเร็วสูงกว่า Software OS แต่ช้ากว่า Hardware OS