Introduction to Server Services
เนื้อหา Server OS? Why client server ? Models Architecture
Server OS ระบบปฏิบัติในปัจจุบัน ไม่ว่าจะเป็น ระบบปฏิบัติการ Windows หรือ Unix ก็ตาม จะ แบ่งเป็น 2 กลุ่มดังนี้ Client OS หมายถึง ระบบปฏิบัติการสำหรับใช้ งานบนเครื่องคอมพิวเตอร์ส่วนบุคคล Server OS หมายถึง ระบบปฏิบัติการสำหรับใช้ งานบนเครื่องแม่ข่ายที่ให้บริการต่างๆ ในระบบ เครือข่ายอินเทอร์เน็ต เช่น Web Server , Database Server
Client/Server Server จะหมายถึง โปรแกรมที่ทำ หน้าที่ให้บริการ Client จะหมายถึงโปรแกรมที่ทำหน้าที่ ใช้บริการ โดยในความหมายแล้วส่วนใหญ่จะ เรียกติดปากว่า Server/Client จะ หมายถึงเครื่องคอมพิวเตอร์ที่ทำหน้าที่ เป็นเครื่องให้บริการและเครื่องที่ใช้ บริการ
Client/Server a client, a server, and network Request Result Client Client machine Server machine
โปรแกรมถูกดำเนินการที่ไหน แอพพลิเคชั่นส่วนใหญ่จะถูกประมวลผลที่ ฝั่ง Client (Client Side) Client จะเรียกใช้บริการผ่าน Application Services จากเครื่องให้บริการ ผ่านระบบเครือข่าย เช่น Database Services Server จะเป็นส่วนของบริการที่ ให้บริการกับ Client และการเรียกใช้จะมี การกำหนดรูปแบบของการให้บริการ In client-server computing major focus is on SOFTWARE
Data Requests & Results Physical Data Management Application Tasks User Interface Presentation Logic Application Logic Data Requests & Results Physical Data Management
Client (dumb)- Server Model Presentation Logic Application Logic DBMS Client Server Network Keystroke Displays
True Client-Server Model Presentation Logic Client Server Network Keystroke Processed Results Application Logic DBMS
Distributed Client-Server Model Network Processed Queries Processed Results Application Logic DBMS Presentation Logic
RPC Look and Feel like Local Calls results= bar(arguments) calling procedure results= bar(arguments) called procedure results= bar(arguments) arguments results results arguments calling procedure (client) client stub network transport server stub network transport arguments results called procedure (client) request message reply message reply message request message Network Local Procedure Call Remote Procedure Call
Flow Control in a Sychronous RPC Client Machine Server Machine Service Daemon Listening Client Program RPC Call Invoke Service with Request Service Call Client Waiting Network Service Executes return() answer return ( ) Request Completed reply May be the same machine
Multithreaded Server Server Process Client Process Client Process Threads Client Process User Mode Kernel Mode Message Passing Facility
Client/Server Models รูปแบบของ Client/Server จะถูกกำหนดโดย Application ว่า Application ถูก ประมวลผลที่ใด Fat clients Application จะถูกรันบนเครื่อง Client Client จะต้องทราบว่า Data ถูกจัดรูปแบบอย่างไร และสามารถเข้าถึงข้อมูลได้จากที่ใด Client หลายเครื่องสามารถเข้าถึง Application เดียวกันได้ Fat servers Application ถูกประมวลผลที่ Server เครื่อง Client ไม่จำเป็นต้องมีความซับซ้อนมาก เครื่อง Server จะต้องมีประสิทธิภาพตามรูปแบบของ Server ที่ให้บริการ Application Client Server
Middleware Software โปรแกรมที่ทำหน้าที่เป็นตัวกลางระหว่าง Client/Server Server/Server การแลกเปลี่ยนข้อมูลผ่าน middleware ทำผ่าน ระบบเครือข่าย Client จะทำการร้องขอบริการผ่าน Middleware
Single Tier Architecture ทุกอย่างประมวลผลที่ Client
Two Tier Architecture Client เป็นตัวร้องขอบริการ Server ทำหน้าที่ให้บริการ
Three Tier Architecture Client เป็นตัวร้องขอบริการ มีการแยกการทำงานของ Server เป็น 2 ส่วน
Three Tier Architecture Client เป็นตัวร้องขอบริการ มีการแยกการทำงานของ Server เป็นหลายส่วนหรือแบ่งการทำงานของ Server เพื่อรองรับการให้บริการจำนวนมาก
Servers and Client Building Blocks Middleware Web Browser GUI DSM OS Web server Groupware DMBS Etc. Service-Specific; DSM NOS (securit, peer-to-peer, directory, distributed files); Transport stack (TCP/IP) NOS=Network operating system
Categories of Servers File Server Data Server Compute Server Database Server Communication Server DNS Server DHCP Server Web Server Proxy Server Video Server Domain Controller Server Etc.
File Server ให้บริการสำหรับการจัดเก็บข้อมูลของผู้ใช้ใน องค์กร ให้บริการสำหรับการจัดเก็บข้อมูลของผู้ใช้ใน องค์กร ใช้บริการผ่านระบบเครือข่าย ระบบต้องการระบบเครือข่ายที่เสถียร และ Hard Disk ที่มีความเร็วสูง (ไม่ทำให้เกิดคอขวดของ I/O)
Compute Server ทำการประมวลผลโปรแกรมขนาดใหญ่ Compute Servers จะต้องประกอบด้วย หน่วยประมวลกลางที่ประสิทธิภาพสูง หน่วยความจำจำนวนมาก ไม่ต้องการ Disk มาก เพราะใช้แค่ หน่วย ประมวลผลกับหน่วยความจำ ถ้ามีการแยกระหว่าง Data Server กับ Compute Server แล้ว สามารถเพิ่มประสิทธิภาพของ Compute Server ได้ง่าย
Cluster as Compute Server
Cluster as Compute Server
Data Server ใช้ในการจัดเก็บและจัดการกับข้อมูล การตรวจสอบข้อมูล (Data Validation) การประมวลผลเหมืองข้อมูล (Data Mining) การประมวลผลคลังข้อมูล (Data Wharehouse) ความต้องการของ Data Server คือ หน่วยประมวลผลที่รวดเร็วและ หน่วยความจำขนาดใหญ่ Data Server Compute
Cluster as High Availablity Data Server Compute
Database Server จัดเก็บข้อมูลที่สัมพันธ์กันไว้ด้วยกัน บางระบบมีรูปแบบการจัดการไฟล์แยกจาก ระบบปฏิบัติการ ความต้องการของระบบขึ้นอยู่กับขนาดของ ฐานข้อมูลและจำนวนของการเข้า ใช้ฐานข้อมูลพร้อมๆ กัน และการ ดำเนินการในฐานข้อมูล เช่น Update , Insert
Database Server
Communication Server ประมวลผลการติดต่อสื่อสารระหว่างภาคพื้นและ ดาวเทียม ประมวลผลการรับและส่งข้อความจำนวนมาก
DNS Server ทำหน้าที่ให้บริการระบบชื่อในเครือข่ายอินเทอร์เน็ต เป็นระบบที่สำคัญมาก เนื่องจากถ้า Root Name Server จะทำให้ระบบอินเทอร์เน็ตหยุดทำงาน
DHCP Server ทำหน้าที่แจกจ่ายหมายเลข IP Address ให้กับองค์กร
Web Server ทำหน้าที่ให้บริการ Web Application ต่างๆ
Proxy Server ทำหน้าที่ให้บริการจัดเก็บข้อมูลแคช
Video Server ทำหน้าที่ให้บริการวีดีโอผ่านระบบเครือข่าย
Domain Controller Server ทำหน้าที่ควบคุมการทำงาน กำหนดสิทธิ์ให้กับ Client
The Client/Server Infrastructure Middleware Server Service Specific Objects SQL/IDAPI TxRPC Mail ORB GUI/OOUI DSM Groupware SNMP CMIP DME TP monitor NOS Directory Security Distributed file DBMS RPC Messaging Peer-to-peer DSM Transport Stack DSM NetBIOS TCP/IP IPX/SPX SNA Operating System Operating System
Server Scalability PC Server Asymmetric Multi- processing Superserver symmetric Multi- Multiservers