Phân tích so sánh các hệ điều hành của họ Windows và Mac OS. Tóm tắt ngắn gọn về dự án. Hệ điều hành mới

Ngày xuất bản: 06/01/2006
Phiên bản văn bản: 1.0

1. Mô tả chung về hệ điều hành thời gian thực

Cơ sở của bất kỳ tổ hợp phần cứng và phần mềm nào, bao gồm cả những phần mềm hoạt động trong thời gian thực, là hệ điều hành (OS). Hệ điều hành là một tập hợp các chương trình cung cấp khả năng quản lý tài nguyên của tổ hợp phần cứng-phần mềm (hệ thống máy tính) và các quy trình sử dụng các tài nguyên này trong tính toán. Tài nguyên trong ngữ cảnh này là bất kỳ thành phần logic hoặc vật lý (và tổng thể) nào của hệ thống máy tính hoặc tổ hợp phần cứng và phần mềm cũng như các khả năng mà nó cung cấp.

Các tài nguyên chính là bộ xử lý (thời gian xử lý), RAM và các thiết bị ngoại vi.

Quản lý tài nguyên bao gồm việc thực hiện các nhiệm vụ sau: đơn giản hóa việc truy cập tài nguyên, phân phối chúng giữa các quy trình.

Việc giải quyết vấn đề đầu tiên cho phép bạn “ẩn” các tính năng phần cứng của hệ thống máy tính và từ đó cung cấp cho người dùng hoặc lập trình viên một máy ảo khả năng quản lý dễ dàng hơn đáng kể.

Do đó, HĐH hỗ trợ các giao diện sau: người dùng ( ngôn ngữ lệnhđể quản lý hoạt động của hệ thống và một bộ dịch vụ); phần mềm (một tập hợp các dịch vụ giúp người lập trình thoát khỏi các hoạt động mã hóa thông thường).

Chức năng phân phối tài nguyên là một trong những nhiệm vụ quan trọng nhất được hệ điều hành giải quyết, nhưng nó không có trong tất cả các hệ điều hành mà chỉ có ở những hệ điều hành đảm bảo thực thi đồng thời một số chương trình (quy trình).

Một quy trình là một chuỗi các hành động được quy định bởi một chương trình hoặc phần hoàn chỉnh về mặt logic của nó, cũng như dữ liệu được sử dụng trong tính toán. Một quy trình là đơn vị công việc tối thiểu mà các nguồn lực được phân bổ.

Hiện nay có rất nhiều hệ điều hành được phân loại theo các tiêu chí sau:

    số lượng người dùng được hệ thống phục vụ đồng thời;

    số lượng tiến trình có thể chạy đồng thời dưới sự kiểm soát của hệ điều hành;

    loại người dùng truy cập vào hệ thống;

    loại phần cứng và phần mềm phức tạp.

Theo dấu hiệu đầu tiên, hệ điều hành một người dùng và nhiều người dùng được phân biệt. Tính năng thứ hai chia hệ điều hành thành đơn tác vụ và đa tác vụ.

Theo tính năng thứ ba, hệ điều hành được chia thành:

    hệ thống xử lý hàng loạt. Trong trường hợp này, một gói được hình thành từ các chương trình sẽ được thực thi và đưa ra hệ thống để xử lý. Trong trường hợp này, người dùng không tương tác trực tiếp với HĐH;

    hệ thống chia sẻ thời gian, cung cấp quyền truy cập tương tác đồng thời vào hệ thống máy tính của một số người dùng thông qua thiết bị đầu cuối. Trong trường hợp này, tài nguyên hệ thống được phân bổ “lần lượt” cho từng người dùng, theo quy định dịch vụ này hoặc quy định dịch vụ khác;

    hệ thống thời gian thực, sẽ cung cấp thời gian phản hồi được đảm bảo cho các sự kiện bên ngoài (xem bên dưới để biết thêm chi tiết).

Tính năng thứ tư chia HĐH thành bộ xử lý đơn và đa bộ xử lý, mạng và phân tán. Đối với hệ điều hành đa người dùng và đa tác vụ, kỷ luật bảo trì là một chỉ số quan trọng. Theo đó, có sự phân biệt giữa chế độ ưu tiên và chế độ phối hợp của công việc đa nhiệm. Trong tổ chức ưu tiên, chỉ hệ điều hành chịu trách nhiệm phân bổ thời gian của bộ xử lý cho các tác vụ (ví dụ: đối với mỗi tác vụ, bộ xử lý được phân bổ lần lượt và trong một khoảng thời gian cố định nghiêm ngặt, nhưng cũng có thể cung cấp dịch vụ ưu tiên). Trong trường hợp tổ chức phù hợp, mỗi tác vụ, sau khi nhận được quyền kiểm soát, sẽ tự xác định thời điểm "giao" bộ xử lý cho một tác vụ khác.

Nói chung, sự phối hợp hiệu quả và đáng tin cậy hơn sự ưu tiên, nhưng yếu tố quyết định khi triển khai các chương trình là một chương trình nhất định không nên chỉ sử dụng thời gian của bộ xử lý.

Hiện tại, có một số lượng lớn các loại HĐH, nhưng sau đây chỉ xem xét HĐH RT.

Đầu tiên chúng ta cần định nghĩa một hệ thống thời gian thực.

Hệ thống thời gian thực(SRV) là một hệ thống, hoạt động chính xác của nó không chỉ phụ thuộc vào tính đúng đắn về mặt logic của các phép tính mà còn phụ thuộc vào thời gian thực hiện các phép tính này.

Đối với các sự kiện xảy ra trong một hệ thống như vậy, thời điểm xảy ra các sự kiện này và tính đúng đắn về mặt logic của chúng là rất quan trọng.

Một hệ thống hoạt động trong thời gian thực nếu hiệu suất của nó phù hợp với tốc độ của các quá trình vật lý tại các đối tượng giám sát hoặc điều khiển (nghĩa là các quá trình liên quan trực tiếp đến các chức năng được thực hiện bởi một hệ thống thời gian thực cụ thể). Hệ thống điều khiển phải thu thập dữ liệu, xử lý theo thuật toán xác định và đưa ra hành động kiểm soát trong một khoảng thời gian để đảm bảo hoàn thành thành công các nhiệm vụ được giao.

1.1 Hệ thống thời gian thực là gì

Gần đây, chúng ta ngày càng phải đối mặt với những nhiệm vụ đòi hỏi phải quản lý các quy trình hoặc thiết bị phức tạp bằng máy tính. Hơn nữa, tất cả các sự kiện trong các quá trình này đều xảy ra khi chúng xảy ra. Một máy tính chỉ có thể thực hiện một số lượng hữu hạn các thao tác trong một thời gian hữu hạn, do đó câu hỏi đặt ra là: liệu máy tính có thời gian để tính toán tình huống ở tốc độ cần thiết và đưa ra các hành động kiểm soát cụ thể phù hợp tại một thời điểm nhất định hay không. Theo tôi những vấn đề loại này phát sinh từ việc sử dụng tốc độ rất cao trong sản xuất hiện đại. Rõ ràng là các tín hiệu trong tự nhiên lan truyền với tốc độ hữu hạn, tốc độ hoạt động cũng hữu hạn, do đó về cơ bản không thể mong đợi các hành động tức thời (do một sự kiện nào đó gây ra) từ máy tính. Rốt cuộc, cho dù hiện đại đến đâu (đọc - mạnh mẽ về hiệu suất, tức là. tốc độ cao xử lý các lệnh và thao tác), bất kể máy tính là gì, về mặt vật lý, nó cần ít nhất một phần giây để thực thi một nhóm lệnh nhỏ đơn giản và đôi khi thời gian này là quá nhiều. Do đó, thời gian phản ứng của hệ thống đối với một số sự kiện hoàn toàn lớn hơn 0. Các tác vụ thực tế cho phép có một số độ trễ trong hành động và nếu hệ thống có thời gian phản ứng ít hơn độ trễ chấp nhận được này thì có thể gọi nó là hệ thống thời gian thực. Vì về bản chất, các quá trình khác nhau xảy ra ở tốc độ khác nhau, nên cùng một hệ thống có thể phù hợp với khuôn khổ nhất định đối với một quy trình và không phù hợp với quy trình khác. Vì vậy, thật hợp lý khi nói về một hệ thống thời gian thực liên quan đến một nhiệm vụ cụ thể. Ví dụ, để vẽ biểu đồ sự phụ thuộc của nhiệt độ không khí trung bình trong một ngày vào ngày trong tuần, hầu hết mọi máy tính có hầu hết mọi phần mềm đều sẽ hoạt động như một hệ thống thời gian thực. Nếu chúng ta đang điều khiển quá trình hạ cánh của một chiếc máy bay, trong đó mili giây đóng vai trò quan trọng, thì việc lựa chọn cẩn thận phần cứng và phần mềm sẽ phù hợp hơn.

Ngoài nhiệm vụ được coi là phản hồi một sự kiện nhất định, còn có các lớp nhiệm vụ thời gian thực khác. Một trong những vấn đề thường gặp là nhiệm vụ giám sát hoặc kiểm soát liên tục một quy trình động, tức là. khi bạn cần liên tục trao đổi tín hiệu với thế giới bên ngoài. Máy tính là một hệ thống rời rạc, do đó cần phải thực hiện một số hành động trong những khoảng thời gian hữu hạn nhất định, giả sử rằng trong những khoảng thời gian ngắn này, thế giới bên ngoài không thay đổi. Nếu hệ thống của chúng ta có khả năng xử lý thông tin và tạo ra tín hiệu điều khiển ở tần số cần thiết thì có thể gọi nó là hệ thống thời gian thực. Không khó để hiểu rằng vấn đề này có thể dễ dàng giảm xuống vấn đề trước đó bằng cách sử dụng thời điểm bắt đầu khoảng thời gian tiếp theo làm một sự kiện. Thời gian phản ứng phải nhỏ hơn thời gian lấy mẫu của quá trình. Vì vậy, nhiệm vụ được mô tả trước đó là nhiệm vụ quan trọng nhất khi nói đến hệ thống thời gian thực. Cần lưu ý rằng việc vận hành hệ thống không đạt yêu cầu về độ trễ trong một số tác vụ có thể dẫn đến hậu quả nghiêm trọng, còn ở những tác vụ khác sẽ không có tình huống bất thường hoặc không mong muốn nào xảy ra. Ví dụ: nếu hệ thống đo nhiệt độ trong ví dụ được mô tả ở trên vô tình đến muộn trong một khoảng thời gian không thể chấp nhận được, thì điều này có nghĩa là chúng ta chỉ cần thay đổi lựa chọn điểm đọc nhiệt độ và chúng ta vẫn sẽ nhận được kết quả chính xác, nhưng nếu tự động Việc tiếp cận một máy bay chở khách vô tình bị trì hoãn một giây do có gió mạnh bất ngờ, máy bay có thể không hạ cánh được đường băng và hàng chục người sẽ thiệt mạng. Vì vậy, các hệ thống nên được chia thành hệ thống thời gian thực cứng và hệ thống thời gian thực mềm.

Hệ thống thời gian thực cứng là một hệ thống mà việc không thể đưa ra phản hồi cho bất kỳ sự kiện nào tại một thời điểm nhất định sẽ dẫn đến lỗi và dẫn đến không thể giải quyết được nhiệm vụ. Thời gian phản ứng trong các hệ thống thời gian thực cứng phải ở mức tối thiểu. Hầu hết các hệ thống thời gian thực cứng là hệ thống giám sát và điều khiển. RTS như vậy rất khó thực hiện vì chúng phải tuân theo các yêu cầu bảo mật đặc biệt.

Định nghĩa chính xác thời gian thực mềm không tồn tại, vì vậy chúng tôi có thể đưa vào đây tất cả các SRV không thuộc loại cứng. Do đó, một hệ thống thời gian thực mềm có thể không thể thực hiện mọi thứ trong một thời gian nhất định, do đó vấn đề nảy sinh là xác định các tiêu chí cho sự thành công (tính chuẩn mực) của chức năng của nó.

Ngoài ra, RTS có thể được chia thành các hệ thống chuyên biệt và phổ quát.

Chuyên SRV là một hệ thống trong đó các yêu cầu về thời gian cụ thể được xác định ban đầu. Một hệ thống như vậy phải được thiết kế đặc biệt để đáp ứng các yêu cầu này.

Phổ quát SRV phải có khả năng thực hiện các nhiệm vụ tạm thời tùy ý (được xác định trước) mà không cần sử dụng thiết bị đặc biệt. Việc phát triển các hệ thống như vậy là nhiệm vụ khó khăn nhất, mặc dù thông thường các yêu cầu đối với các hệ thống đó nhẹ hơn yêu cầu đối với các hệ thống chuyên dụng.

1.2 Yêu cầu cơ bản đối với CHXD

    khả năng thực hiện nhiều nhiệm vụ song song;

    khả năng dự đoán;

    thời gian phản hồi tối đa (không phải trung bình) cho một sự kiện là quan trọng;

    yêu cầu đặc biệt về vấn đề an toàn;

    Khả năng hoạt động không gặp sự cố trong thời gian dài.

1.3 Đặc điểm chung của CHXHCNVN

    hệ thống lớn và phức tạp;

    hệ thống phân phối;

    tương tác cứng nhắc với thiết bị;

    hoàn thành nhiệm vụ phụ thuộc vào thời gian;

    sự phức tạp của thử nghiệm.

RTS phải ứng phó với nhiều loại sự kiện bên trong và bên ngoài (định kỳ và không định kỳ). Cần lưu ý rằng việc một hệ thống có thuộc lớp SRV không liên quan gì đến hiệu suất của nó. Các yêu cầu ban đầu về thời gian phản hồi của hệ thống và các tham số thời gian khác được xác định bằng thông số kỹ thuật của hệ thống hoặc đơn giản bằng logic hoạt động của nó. Bằng trực giác, rõ ràng là tốc độ của các quy trình tại cơ sở giám sát và kiểm soát phải lớn hơn thì tốc độ của các quy trình tại cơ sở giám sát và kiểm soát càng lớn.

1.4 Cách sử dụng hệ điều hành

5 loại các hệ điều hành:

    Hệ điều hành cổ điển. Win NT, Linux và Unix.

    Hệ điều hành cổ điển có phần mở rộng RT (Win NT - RTX, RT Linux, RT Unix)

    Hệ điều hành RV riêng. Bất kỳ lập trình viên nào cũng có thể tạo RTOS của riêng mình bằng một số phương pháp hiện có tại thời điểm viết bài: tạo một hệ điều hành dựa trên nền tảng hiện có phù hợp cho mục đích này hoặc viết nó từ đầu. Nhiều cuốn sách đã được xuất bản về chủ đề này, cả ở dạng giấy và dạng điện tử, trong đó mô tả các nguyên tắc phát triển các hệ thống đó, các bước chính, các điều khoản, các điểm cơ bản, v.v. Một ví dụ về loại tài liệu này có thể là cuốn sách số 2 trong danh sách tài liệu tham khảo ở cuối phần tóm tắt.

    Hệ điều hành thương mại. Một ví dụ là các hệ thống như VxWorks, OS9, v.v. Cần lưu ý rằng các hệ thống như vậy rất tốn kém. Ví dụ: chi phí của gói hệ điều hành VxWorks hoàn chỉnh (Tornado 1.0) vào năm 2002 là khoảng 15.000 USD. Tuy nhiên, qua nhiều năm, một hệ thống như vậy đã trở nên rẻ hơn đáng kể - ngày nay giá của nó là khoảng 10.000 USD (Tornado phiên bản 2.0 trở lên - tổng chi phí phụ thuộc vào các thành phần được chọn).

Để biết thêm xem xét chi tiết Khả năng của RTOS được đưa ra những số liệu mang tính biểu thị, đưa ra ý tưởng về thứ tự thời gian phản hồi và hệ điều hành phù hợp. Bảng này được hình thành trên cơ sở dữ liệu thực nghiệm thu được trên cơ sở các hệ thống máy tính được xây dựng trên bộ xử lý Intel 80486DX. Không còn nghi ngờ gì nữa, bộ xử lý này ngày nay đã lỗi thời, nhưng có thể rút ra kết luận về mức độ phản ứng với các sự kiện bên ngoài của các hệ thống RT khác nhau.

Bảng cho thấy khung thời gian RTOS khá khắt khe. Trong số các hệ điều hành hiện đại, có một loại sản phẩm được thiết kế đặc biệt để xây dựng các hệ thống thời gian thực cứng - VxWorks, OS9, QNX, LynxOS, OSE và các sản phẩm khác. Các hệ thống này chứa bộ công cụ cần thiết và trong một số trường hợp, chúng là lựa chọn duy nhất - bạn phải sử dụng nó, bất kể chi phí là bao nhiêu. Tuy nhiên, thông thường các yêu cầu về thời gian thực (khả năng dự đoán hoàn toàn về thời gian phản hồi) trở nên ít nghiêm ngặt hơn, ví dụ: chỉ cần đạt được hiệu suất trung bình mong muốn.

Đôi khi chỉ cần kiểm soát chặt chẽ một trong các sự kiện là đủ, đồng thời cho phép phản ứng chậm trễ với những sự kiện khác. Trong những trường hợp như vậy, các tùy chọn lựa chọn sẽ mở rộng và có thể đạt được kết quả mong muốn bằng cách sử dụng các hệ điều hành phổ biến như LINUX, Windows NT, Windows CE, bổ sung cho chúng các tiện ích mở rộng thời gian thực (RTAI, RT LINUX, RTX).

1.5 Yêu cầu đối với HĐH khi thiết kế RTOS

1.5.1 Yêu cầu 1. HĐH phải đa luồng và có khả năng gián đoạn

Như đã nêu ở trên, RTOS phải có thể dự đoán được, nghĩa là thời gian tối đa để hoàn thành một hoạt động phải được biết trước và phải nhất quán với yêu cầu của ứng dụng.

Yêu cầu đầu tiên là hệ điều hành phải đa luồng theo nguyên tắc ưu tiên tuyệt đối (interruptible). Bộ lập lịch phải có khả năng làm gián đoạn bất kỳ luồng nào và cung cấp tài nguyên cho luồng cần nó nhất. Hệ điều hành (và phần cứng) cũng phải cung cấp các ngắt ở mức xử lý ngắt.

1.5.2 Yêu cầu 2: Phải có khái niệm về độ ưu tiên của luồng

Vấn đề là xác định nhiệm vụ nào yêu cầu tài nguyên. Trong tình huống lý tưởng, RTOS phân bổ tài nguyên cho luồng hoặc trình điều khiển với thời hạn gần nhất (cái gọi là HĐH điều khiển thời hạn).

Để thực hiện điều này, HĐH phải biết thời gian cần thiết để mỗi luồng đang chạy hoàn thành (vẫn chưa có HĐH nào được xây dựng theo nguyên tắc này vì nó quá phức tạp để triển khai), vì vậy các nhà phát triển HĐH có quan điểm khác: khái niệm về mức độ ưu tiên được giới thiệu các nhiệm vụ và hạn chế về thời gian được rút gọn thành các mức độ ưu tiên. Vì các quyết định đầu cơ có nhiều sai sót nên các chỉ số SRV bị giảm đi. Để thực hiện việc chuyển đổi các ràng buộc này một cách hiệu quả hơn, người thiết kế có thể sử dụng lý thuyết tiến độ hoặc mô hình mô phỏng, mặc dù điều này có thể không hữu ích. Hiện tại không có giải pháp nào khác nên khái niệm về mức độ ưu tiên của luồng là cần thiết.

1.5.3 Yêu cầu 3: HĐH phải cung cấp cơ chế đồng bộ hóa tác vụ có thể dự đoán được

Các tác vụ chia sẻ dữ liệu (tài nguyên) và phải liên lạc với nhau, do đó phải tồn tại các cơ chế chặn và liên lạc.

1.5.4 Yêu cầu 4: Phải có hệ thống kế thừa ưu tiên

Trên thực tế, chính cơ chế đồng bộ hóa này và việc các luồng khác nhau chia sẻ cùng một không gian bộ nhớ đã phân biệt các luồng với các tiến trình. Các tiến trình không chia sẻ cùng một không gian bộ nhớ. Ví dụ: các phiên bản UNIX cũ hơn không có đa luồng. UNIX cũ là một hệ điều hành đa nhiệm, trong đó các tác vụ là các tiến trình giao tiếp thông qua các luồng (ống) và bộ nhớ dùng chung. Cả hai cơ chế này đều sử dụng hệ thống tệp và hành vi của nó không thể đoán trước được.

Sự kết hợp giữa mức độ ưu tiên của luồng và chia sẻ tài nguyên giữa chúng dẫn đến một hiện tượng khác: vấn đề đảo ngược mức độ ưu tiên cổ điển. Điều này có thể được minh họa bằng một ví dụ trong đó có ít nhất ba luồng. Khi một luồng có mức độ ưu tiên thấp hơn đã chiếm một tài nguyên được chia sẻ với một luồng có mức độ ưu tiên cao hơn và một luồng có mức độ ưu tiên trung bình đang thực thi trước, thì luồng có mức độ ưu tiên cao nhất sẽ bị treo cho đến khi tài nguyên được giải phóng và luồng có mức độ ưu tiên giữa có thể hoàn thành việc xử lý của nó. công việc. Trong trường hợp này, thời gian cần thiết để hoàn thành luồng có mức độ ưu tiên cao nhất phụ thuộc vào mức độ ưu tiên thấp hơn - đây là sự đảo ngược mức độ ưu tiên. Rõ ràng là trong tình huống như vậy rất khó để duy trì thời hạn thực hiện.

Để loại bỏ những sự đảo ngược như vậy, RTOS phải cho phép kế thừa mức độ ưu tiên, nghĩa là tăng mức độ ưu tiên lên cấp độ của luồng đang gọi. Kế thừa có nghĩa là một luồng chặn tài nguyên sẽ kế thừa mức độ ưu tiên của luồng mà nó đang chặn (chỉ đúng nếu luồng mà nó đang chặn có mức độ ưu tiên cao hơn).

Đôi khi người ta lập luận rằng trong một hệ thống được thiết kế tốt thì vấn đề này sẽ không phát sinh. Trong trường hợp các hệ thống phức tạp, điều này không thể được đồng ý. Cách duy nhất để giải quyết vấn đề này là tăng mức độ ưu tiên của luồng theo cách thủ công trước khi tài nguyên bị khóa - điều này có thể xảy ra trong trường hợp hai luồng có mức độ ưu tiên khác nhau đang tranh giành cùng một tài nguyên. Nói chung là không có giải pháp.

1.5.5 Yêu cầu 5: Phải biết hành vi của hệ điều hành

Cuối cùng, những hạn chế về thời gian nên được xem xét. Nhà phát triển phải biết thời gian thực hiện các cuộc gọi hệ thống và thời gian hoạt động của hệ thống trong các trường hợp khác nhau, do đó nhà sản xuất RTOS phải cung cấp các đặc điểm sau:

Độ trễ gián đoạn (tức là thời gian từ thời điểm gián đoạn đến thời điểm tác vụ bắt đầu): nó phải có thể dự đoán được và nhất quán với yêu cầu của ứng dụng. Giá trị này phụ thuộc vào số lượng ngắt treo đồng thời;

thời gian thực hiện tối đa của mỗi lệnh gọi hệ thống (phải có thể dự đoán được và độc lập với số lượng đối tượng trong hệ thống);

thời gian che dấu gián đoạn tối đa của trình điều khiển và hệ điều hành.

mức độ gián đoạn hệ thống;

mức độ gián đoạn của trình điều khiển thiết bị, đặc điểm thời gian của chúng, v.v.

Khi đã biết tất cả các đặc điểm được chỉ định của HĐH, có thể tưởng tượng sự phát triển của RTOS dựa trên HĐH này, có tính đến khả năng của RTOS và phần cứng đã chọn.

2. Tổng quan về hệ điều hành thời gian thực

Ngày nay có hơn 100 RTOS thương mại. Có nhiều hệ thống và hệ thống phần mềm miễn phí (hoặc phần mềm chia sẻ) có trạng thái là các dự án nghiên cứu hoặc trường đại học. Đầu tiên chúng ta hãy xem xét Mô tả ngắn một số hệ thống thời gian thực, sau đó chúng ta sẽ tìm hiểu chi tiết hơn về Win NT RTX RTS, hệ thống hứa hẹn nhất.

2.1 QNX

Hệ điều hành QNX được phát triển bởi công ty QNX Software System Ltd của Canada (1981).

Hệ điều hành QNX là hệ điều hành lai 16/32-bit mà người dùng có thể cấu hình theo ý muốn. Nó thường được sử dụng để tạo ra các hệ thống hoạt động trong thời gian thực. Thời gian cần thiết để cài đặt hoàn chỉnh hệ thống, bao gồm cả các công cụ mạng, chỉ từ 10 - 15 phút, sau đó bạn có thể bắt đầu làm việc. Yêu cầu thấp về tài nguyên của hệ thống đã được thể hiện rõ ở chỗ hệ thống có môi trường phát triển cần và đủ dưới dạng trình biên dịch Watcom C/C++ (trình biên dịch chính cho QNX) chỉ có dung lượng 10 MB.

QNX là hệ điều hành thương mại đầu tiên được xây dựng trên nguyên tắc vi hạt nhân và nhắn tin. Hệ thống được triển khai như một tập hợp các quy trình độc lập (nhưng tương tác thông qua trao đổi tin nhắn) nhiều cấp độ khác nhau(người quản lý và lái xe), mỗi người thực hiện loại nhất định dịch vụ.

Những ý tưởng này cho phép chúng tôi đạt được một số lợi thế quan trọng:

    khả năng dự đoán, nghĩa là khả năng ứng dụng của nó vào các vấn đề khó khăn trong thời gian thực. Không có phiên bản UNIX nào có thể đạt được chất lượng này vì mã kernel quá lớn. Bất kỳ cuộc gọi hệ thống nào từ trình xử lý ngắt trong UNIX đều có thể dẫn đến độ trễ không thể đoán trước (như trong Windows NT);

    khả năng mở rộng và hiệu quả đạt được bằng cách sử dụng tối ưu các tài nguyên và nghĩa là khả năng ứng dụng của nó đối với các hệ thống nhúng. Thư mục dev chỉ chứa các file cần thiết cho nhiệm vụ được giao, tương ứng với các driver cần thiết. Trình điều khiển và trình quản lý có thể được khởi chạy và xóa (ngoại trừ hệ thống tệp) một cách linh hoạt, chỉ từ dòng lệnh. Cũng có thể chỉ mua những mô-đun thực sự cần thiết để cung cấp các chức năng cần thiết;

    đồng thời có khả năng mở rộng và độ tin cậy, vì trình điều khiển bằng văn bản không cần phải được biên dịch vào kernel, có nguy cơ gây mất ổn định hệ thống.

Hệ thống được xây dựng bằng công nghệ FLEET, được đặc trưng như sau. QNX là RTOS dựa trên vi nhân (kích thước khoảng 10 KB). Hệ thống sử dụng việc truyền thông điệp làm phương tiện tương tác chính giữa các tiến trình. Nhờ đó, trong môi trường 32 bit, các quy trình có mã 32 và 16 bit có thể tương tác và tin nhắn được truyền giữa bất kỳ quy trình nào, bất kể các quy trình đó nằm trên cùng một máy tính hay trên các nút mạng khác nhau.

Người dùng làm việc trên một trong các nút mạng có thể có quyền truy cập vào bất kỳ tài nguyên nào của các nút khác, bao gồm cổng, hệ thống tệp và tác vụ. Người dùng không cần phải đi sâu vào giao thức mạng, nhân tiện, giao thức này không phải là bí mật, ngay từ cấu trúc của nó. Nó chứa các gói cũng được sử dụng để truyền tin nhắn. Quản trị viên mạng nhận ra các gói này và chuyển tiếp chúng đến vi nhân, từ đó chuyển tiếp chúng đến bus tin nhắn cục bộ. QNX không chỉ nhận dạng các gói tin từ các quy trình QNX. Bạn cũng có thể dễ dàng liên hệ với quản trị viên mạng của mình để truyền các giao thức gói như TCP/IP, 8MB, v.v. Bạn có thể liên hệ với nhiều quản trị viên mạng thông qua một cáp duy nhất.

Hệ điều hành QNX hợp nhất toàn bộ mạng PC thành một bộ tài nguyên duy nhất với khả năng truy cập chúng một cách minh bạch tuyệt đối. Các nút có thể được thêm và xóa khỏi mạng mà không ảnh hưởng đến tính toàn vẹn của hệ thống. Mạng của QNX linh hoạt đến mức nó có thể kết nối bất kỳ bộ máy tính không đồng nhất nào tương thích với Intel được kết nối qua Arcnet, Ethernet, Token Ring hoặc cổng nối tiếp cũng có thể được kết nối với modem. Ngoài ra, một máy tính có thể tham gia đồng thời vào nhiều mạng và nếu một trong số chúng bị quá tải hoặc bị lỗi, QNX sẽ tự động sử dụng các mạng có sẵn khác mà không làm mất thông tin.

QNX có một số hạn chế do hệ thống tập trung vào thị trường thời gian thực được nhúng:

    không hỗ trợ SMP;

    mục bị thiếu bộ nhớ ảo vào đĩa;

    hỗ trợ luồng không hiệu quả và không chuẩn;

    thực hiện chưa đầy đủ việc hiển thị các tập tin trong bộ nhớ;

    không hỗ trợ ổ cắm miền UNIX;

    các biện pháp bảo mật yếu trong giao thức mạng của chính nó.

Bất chấp những nhược điểm cố hữu, nhiều chương trình người dùng đã được phát triển cho QNX, chẳng hạn như cơ sở dữ liệu, thường có hiệu suất vượt trội so với các chương trình chạy hệ điều hành khác.

Trong ngành công nghiệp Nga, QNX được tìm thấy khá thường xuyên. Điều này là do có sẵn đủ số lượng phần mềm QNX (trình điều khiển, v.v.) cho các thiết bị khác nhau có mặt trên thị trường Nga.

2.2 VxWorks/Cơn lốc xoáy

Hệ điều hành thời gian thực VxWorks và môi trường công cụ Tornado của Wind River Systems được thiết kế để phát triển phần mềm cho các máy tính nhúng hoạt động trong hệ thống thời gian thực cứng. Hệ điều hành VxWorks là một hệ thống phát triển phần mềm ứng dụng đa công cụ. Quá trình phát triển được thực hiện trên một máy tính công cụ (máy chủ) trong môi trường Tornado để thực hiện tiếp theo trên máy mục tiêu (đích) chạy VxWorks.

VxWorks hỗ trợ các kiến ​​trúc đích:

    Motorola 680x0 và CPU32, PowerPC;

    Intel 386/486/Pentium, Intel 960;

    Dự phòng, Mips R3000/4000;

    AMD 29K, Motorola 88110;

  • Nền tảng công cụ được hỗ trợ cho Tornado (máy chủ):

    Sun SPARCstation (SunOS và Solaris);

    HP 9000/400.700 (HP-UX);

    IBM RS6000 (AIX);

    Đồ họa silicon (IRIX);

    Tháng Mười Hai Alpha (OSF/1);

  • Giao diện máy chủ-đích được hỗ trợ:

    Ethernet mục tiêu máy chủ;

    bộ mô phỏng trong mạch ICE (Bộ mô phỏng trong mạch);

    xe buýt chéo (bảng nối đa năng).

Hệ điều hành VxWorks được xây dựng như một hệ điều hành nên cứng thời gian thực, sử dụng công nghệ vi nhân, tức là ở cấp độ hạt nhân không bị gián đoạn thấp hơn, chỉ các chức năng cơ bản về lập lịch tác vụ và quản lý liên lạc/đồng bộ hóa của chúng được thực hiện. Tất cả các chức năng hệ điều hành cấp cao hơn khác (quản lý bộ nhớ, quản lý I/O, kết nối mạng, v.v.) đều dựa trên các chức năng đơn giản mức độ thấp hơn, giúp đảm bảo hiệu suất và khả năng dự đoán của kernel, cũng như dễ dàng xây dựng cấu hình hệ điều hành cần thiết.

Nhân gió đa nhiệm sử dụng thuật toán lập lịch tác vụ có tính đến mức độ ưu tiên và được kích hoạt bởi các ngắt. Là phương tiện chính để đồng bộ hóa nhiệm vụ và truy cập loại trừ lẫn nhau vào tài nguyên được chia sẻ Lõi gió sử dụng ngữ nghĩa. Có một số loại ẩn dụ nhằm vào các tác vụ ứng dụng khác nhau: nhị phân, số nguyên, loại trừ lẫn nhau và POSIX.

Tất cả các bộ phận phụ thuộc vào phần cứng của VxWorks đều nằm ở mô-đun riêng lẻđể nhà phát triển hệ thống nhúng có thể tự mình chuyển VxWorks sang máy mục tiêu tùy chỉnh của mình. Bộ mô-đun cấu hình và khởi tạo này được gọi là BSP (Gói hỗ trợ bo mạch) và được cung cấp cho các máy tính tiêu chuẩn (bộ xử lý VME, PC hoặc Sparcstation) trong mã nguồn. Nhà phát triển máy tùy chỉnh có thể lấy BSP có kiến ​​trúc gần nhất với máy tính tiêu chuẩn làm tham chiếu và chuyển VxWorks sang máy của mình bằng cách phát triển BSP của riêng mình bằng cách sử dụng BSP Porting Kit.

2.2.1 Các công cụ mạng cơ bản của VxWorks: UNIX-networking, SNMP và STREAMS.

VxWorks là hệ điều hành thời gian thực đầu tiên triển khai giao thức TCP/IP với các yêu cầu về thời gian thực. Kể từ đó, VxWorks hỗ trợ tất cả các công cụ mạng tiêu chuẩn cho UNIX: TCP/UDP/ICMP/IP/ARP, Sockets, SLIP/CSLIP/PPP, telnet/rlogin/rpc/rsh, ftp/tftp/bootp, NFS (máy khách và máy chủ) ).

Wind River Systems đã công bố (1994) chương trình WindNet, theo đó các nhà sản xuất hàng đầu phần mềm trong lĩnh vực truyền thông đã tích hợp các sản phẩm phần mềm của họ với VxWorks.

Ngày nay đây là các giao thức mạng X.25, ISDN, ATM, SS7, Frame Relay và OSI; Các công cụ CASE để phát triển hệ thống phân tán dựa trên các tiêu chuẩn ROOM (Mô hình hướng đối tượng thời gian thực) và CORBA (Kiến trúc môi giới yêu cầu đối tượng chung); quản lý mạng bằng công nghệ MBD (Quản lý theo ủy quyền) và CMIP/GDMO (Giao thức thông tin quản lý chung/Hướng dẫn định nghĩa đối tượng được quản lý).

2.2.2 Giám sát và gỡ lỗi thời gian thực: WindView.

Trình gỡ lỗi thông thường, cho phép bạn kiểm tra trạng thái của chương trình và dữ liệu tại các điểm dừng, là công cụ gỡ lỗi tĩnh. Cơ hội nghiên cứu động lực thực hiện chương trình và thay đổi dữ liệu được cung cấp bởi phương tiện đặc biệt gỡ lỗi theo thời gian thực để theo dõi các sự kiện mà người dùng quan tâm và tích lũy chúng vào bộ đệm để phân tích tiếp theo.

Có thể theo dõi các sự kiện hệ thống (chuyển đổi tác vụ, ghi vào hàng đợi tin nhắn, thiết lập semaphore, v.v.) bằng cách sử dụng bộ phân tích động WindView, hiển thị các sự kiện được tích lũy trong bộ đệm trên sơ đồ thời gian.

Gần đây, các bộ vi xử lý hiệu suất cao và cùng với chúng là các hệ điều hành thời gian thực đang ngày càng được sử dụng nhiều trong các ứng dụng được gọi là “nhúng sâu” (điện tử ô tô, thiết bị văn phòng và gia dụng, đo lường và các thiết bị y tế và vân vân.). Có hai yêu cầu chính đối với các hệ thống máy tính như vậy: kích thước nhỏ và chi phí thấp, do đó các hệ thống bộ vi xử lý nhúng sâu đặt ra hai vấn đề trong cách sử dụng RTOS nối tiếp: lượng bộ nhớ được sử dụng nhỏ và việc thiếu các giao diện “bổ sung” mà qua đó mục tiêu và máy công cụ có thể được kết nối ở giai đoạn phát triển phần mềm nhúng.

Đặc biệt đối với các hệ thống có bộ nhớ rất hạn chế, Wind River Systems đã phát triển nhân WindStream rút gọn, yêu cầu không quá 8 KB ROM và 2 KB RAM để hoạt động. Đồng thời, toàn bộ phạm vi công cụ VxWorks, bao gồm cả WindView, đều có thể áp dụng cho WindStream.

Chuỗi công cụ Tornado có kiến ​​trúc mở, cho phép các công ty công cụ phát triển phần mềm thời gian thực khác tích hợp các sản phẩm phần mềm của họ với Tornado. Người dùng có thể kết nối các công cụ phát triển chuyên dụng của riêng họ với Tornado, cũng như mở rộng khả năng của các công cụ Wind River Systems.

Cấu hình Tornado tiêu chuẩn bao gồm thư viện hệ thống và hạt nhân VxWorks, Bộ công cụ GNU C/C++, trình gỡ lỗi từ xa cấp ngôn ngữ nguồn CrossWind, shell WindSh, bộ cấu hình BSP WindConfig, v.v.

Có rất nhiều sản phẩm phần mềm được tích hợp với Tornado do các công ty khác sản xuất.

2.3 RTLinux

2.3.1 Những khó khăn chính khi triển khai hệ thống thời gian thực trên môi trường LINUX

Như đã đề cập ở trên, nhiệm vụ chính là phản ứng với một số sự kiện bên ngoài trong một khoảng thời gian nhất định. Sự kiện bên ngoài thông thường, theo quan điểm của một lập trình viên, nó trông giống như một sự gián đoạn phần cứng. Trong các hệ điều hành đa nhiệm hiện đại, kernel là kernel đầu tiên phản ứng với ngắt phần cứng. Sau đó, sự gián đoạn này bằng cách nào đó có thể tiếp cận tác vụ ứng dụng thông qua trình điều khiển thiết bị. Nhưng trong một hệ thống đa nhiệm, một số tác vụ phải chạy đồng thời và để phát ra ngắt, kernel phải đặt tiến trình hiện đang chạy vào trạng thái ngủ, đánh thức tiến trình mong muốn và chuyển ngắt tới nó. Để làm điều này, bạn cần phải chuyển đổi ngữ cảnh, việc này tốn rất nhiều thời gian, do đó ngắt sẽ được chuyển đến quy trình với độ trễ đáng kể. Ngoài ra, sau khi một tiến trình nhận được một ngắt, người ta không thể chắc chắn rằng việc xử lý thông tin sẽ được hoàn thành trong thời gian ngắn nhất có thể, bởi vì Nếu máy tính chỉ được trang bị một bộ xử lý và có nhiều tác vụ đang chạy trong hệ thống thì việc chuyển đổi tác vụ với một chuyển đổi ngữ cảnh khác có thể xảy ra bất cứ lúc nào. Kết quả là thời gian phản ứng có thể kéo dài một cách vô lý (trên một máy tính khá mạnh).

Linux là hệ điều hành tương thích POSIX và Unix hiện đại dành cho PC và máy trạm, tức là hệ điều hành mạng nhiều người dùng.

Hệ điều hành Linux hỗ trợ các tiêu chuẩn và giao thức hệ thống mở Mạng Internet. Tất cả các thành phần của hệ thống, bao gồm cả mã nguồn, đều được phân phối với giấy phép sao chép và cài đặt miễn phí cho số lượng người dùng không giới hạn.

Các tính năng đặc trưng của Linux với tư cách là một hệ điều hành:

    đa nhiệm (là điều bắt buộc);

    chế độ nhiều người chơi;

    chế độ xử lý được bảo vệ (chế độ được bảo vệ 386);

    bảo vệ bộ nhớ quá trình (lỗi chương trình không thể khiến hệ thống bị treo);

    chia trang theo bản ghi giữa các phiên bản của chương trình đang chạy. Điều này có nghĩa là các tiến trình là phiên bản của một chương trình có thể sử dụng cùng một bộ nhớ khi thực thi. Khi quá trình này cố gắng ghi vào bộ nhớ, trang 4K được ghi vào sẽ được sao chép vào không gian trống. Thuộc tính này tăng hiệu suất và tiết kiệm bộ nhớ;

    bộ nhớ ảo có tổ chức trang (nghĩa là không phải toàn bộ quá trình không hoạt động được chuyển từ bộ nhớ sang đĩa mà chỉ trang được yêu cầu); bộ nhớ ảo trong các phân vùng đĩa và/hoặc tệp hệ thống tệp riêng biệt; dung lượng bộ nhớ ảo lên tới 2 GB; thay đổi kích thước bộ nhớ ảo trong quá trình thực hiện chương trình;

    bộ nhớ chương trình chia sẻ và bộ đệm đĩa: toàn bộ bộ nhớ trống được sử dụng để trao đổi vùng đệm với đĩa;

    thư viện chia sẻ được tải động;

    kết xuất chương trình để phân tích sau khi chết: cho phép bạn phân tích bằng trình gỡ lỗi không chỉ chương trình đang chạy mà còn cả chương trình đã chấm dứt bất thường;

    Được chứng nhận POSIX.1, nguồn tương thích với các tiêu chuẩn System V và BSD;

    thông qua trình giả lập tương thích iBS2, khả năng tương thích với SCO, SVR3, SVR4 cho các chương trình có thể tải xuống;

    tính sẵn có của văn bản nguồn của tất cả các chương trình, bao gồm văn bản nhân, trình điều khiển, công cụ phát triển và ứng dụng. Những văn bản này được phân phối miễn phí. Hiện nay, một số công ty cung cấp một số chương trình thương mại cho Linux mà không có mã nguồn, nhưng mọi thứ miễn phí vẫn miễn phí;

    Quản lý công việc POSIX;

    mô phỏng bộ đồng xử lý nằm trong kernel nên ứng dụng không phải lo lắng về việc mô phỏng bộ đồng xử lý. Tất nhiên, nếu có sẵn bộ đồng xử lý thì nó sẽ được sử dụng;

    nhiều bảng điều khiển ảo: trên một màn hình có một số phiên làm việc độc lập đồng thời được chuyển từ bàn phím;

    hỗ trợ một số hệ thống tệp phổ biến (hệ thống tệp MINIX, Xenix, System V); có sẵn hệ thống tệp nâng cao của riêng mình với dung lượng lên tới 4 TB và có tên tệp lên tới 255 ký tự;

    truy cập minh bạch vào các phân vùng DOS (hoặc OS/2 FAT): phân vùng DOS trông giống như một phần của hệ thống tệp Linux; Hỗ trợ VFAT (WNT, Windows 95);

    truy cập (chỉ đọc) vào hệ thống tệp HPFS-2 OS/2 2.1;

    hỗ trợ cho mọi người định dạng chuẩnỔ ĐĨA CD;

    Hỗ trợ mạng TCP/IP, bao gồm ftp, telnet, NFS, v.v.

Sự phổ biến ngày càng tăng của Linux đang thúc đẩy các nhà phát triển xem xét kỹ hơn hệ điều hành này. Hiện tại, hệ điều hành này đã sẵn sàng hoạt động ổn định, tính mở của mã nguồn và kiến ​​trúc cùng với mức độ phổ biến ngày càng tăng của nó buộc các lập trình viên phải chuyển sự phát triển của mình sang nhiều nền tảng phần cứng: SGI, IBM, Intel, Motorola, v.v.

Đối với các tác vụ thời gian thực, cộng đồng nhà phát triển Linux tích cực sử dụng các tiện ích mở rộng đặc biệt - RTLinux, KURT và UTIME, giúp có được môi trường thời gian thực ổn định. RTLinux là một hệ thống thời gian thực cứng, trong khi KURT (KU Real Time Linux) là một hệ thống thời gian thực mềm. Tiện ích mở rộng UTIME của Linux, có trong KURT, cho phép bạn tăng tần số đồng hồ hệ thống, dẫn đến chuyển đổi ngữ cảnh tác vụ nhanh hơn.

RTLinux là một hệ điều hành trong đó một hạt nhân thời gian thực nhỏ cùng tồn tại với hạt nhân Linux giống Posix. Mục tiêu chính là cung cấp các dịch vụ phức tạp và hành vi hệ thống được tối ưu hóa trong các tình huống tiêu chuẩn cho hệ thống chia sẻ thời gian, đồng thời thực hiện các tác vụ thời gian thực. Trước đây, hệ điều hành thời gian thực còn rất thô sơ - những chương trình đơn giản cung cấp cho người dùng nhiều hơn một thư viện các chức năng cơ bản. Nhưng ngày nay người dùng yêu cầu truy cập vào TCP/IP, Hiển thị đồ họa và các hệ thống cửa sổ, cơ sở dữ liệu và các dịch vụ khác không nguyên thủy cũng không đơn giản. Một giải pháp là thêm các dịch vụ phi thời gian thực vào nhân thời gian thực cơ bản, đây là những gì đã được thực hiện trong VXworks và hơi khác một chút trong vi nhân QNX. Khả năng thứ hai là sửa đổi kernel tiêu chuẩn và làm cho nó hoàn toàn có thể bị gián đoạn.

2.3.2 Tổ chức RTLinux

RTLinux được tổ chức theo cách thứ ba, trong đó hạt nhân thời gian thực đơn giản chạy hạt nhân thông thường như một trong những tác vụ thời gian thực có mức ưu tiên thấp nhất, sử dụng máy ảo để làm cho hạt nhân tiêu chuẩn hoàn toàn có thể bị gián đoạn.

Trong RTLinux, tất cả các ngắt được phục vụ bởi nhân thời gian thực và sau đó được chuyển sang nhân chuẩn, nhưng chỉ khi không cần chạy một trong các tác vụ thời gian thực. Để giảm thiểu số lượng thay đổi đối với kernel tiêu chuẩn, cơ chế này được triển khai bằng cách sử dụng mô phỏng ICH (Phần cứng điều khiển ngắt). Nhân thời gian thực của Linux và các tác vụ của người dùng có thể giao tiếp thông qua các hàng đợi không chặn và các phân đoạn bộ nhớ dùng chung.

Từ quan điểm của lập trình viên, hàng đợi trông giống như các thiết bị nối tiếp UNIX tiêu chuẩn có thể được truy cập bằng cách sử dụng các lệnh gọi hệ thống đọc/ghi/mở/ioctl POSIX. Bộ nhớ dùng chung được truy cập thông qua lệnh gọi hệ thống mmap.

RTLinux sử dụng Linux để khởi động, truy cập hầu hết các thiết bị, mạng, hệ thống tập tin, sự quản lý quy trình Linux và tải các mô-đun hạt nhân, giúp dễ dàng sửa đổi hệ thống thời gian thực.

Một chương trình thời gian thực bao gồm hai phần: một tác vụ, là mô-đun hạt nhân và một quy trình UNIX/Linux thông thường đảm nhiệm việc xử lý dữ liệu, hiển thị và truy cập mạng cũng như bất kỳ chức năng nào khác không yêu cầu thời gian nghiêm ngặt như vậy.

Trên thực tế, hóa ra ý tưởng RTLinux đã rất thành công. Trong trường hợp xấu nhất, độ trễ ngắt trên PC 486/33Mhz hóa ra lại nhỏ hơn 30 µs, gần với giới hạn phần cứng. Đối với các nhiệm vụ được áp dụng, sự cộng sinh của các hệ thống thời gian thực và những hệ thống được tối ưu hóa cho “trường hợp chung” hóa ra lại rất thành công. Cấu hình RTLinux được sử dụng phổ biến nhất là các tác vụ thời gian thực nguyên thủy với bộ nhớ được phân bổ tĩnh mà không có bảo vệ bộ nhớ, một bộ lập lịch đơn giản với các ưu tiên cố định mà không bảo vệ khỏi các kế hoạch chưa thực hiện, vô hiệu hóa ngắt phần cứng, bộ nhớ dùng chung là cơ chế duy nhất để đồng bộ hóa các tác vụ thời gian thực và bộ giới hạn hoạt động trên hàng đợi FIFO gắn liền với các quy trình Linux thông thường.

Nhân Linux cho phép tải và dỡ tải động các mô-đun hạt nhân. Bằng cách biểu diễn các phần riêng lẻ của nhân thời gian thực dưới dạng mô-đun, thật dễ dàng để thay đổi nhân thời gian thực. Bộ lập lịch thay thế và mô-đun semaphore đã được viết sẵn. Trong khi hệ thống đang chạy, bạn có thể tải một mô-đun với các tác vụ thời gian thực, sau đó dỡ bỏ lịch trình tiêu chuẩn và tải, ví dụ như bộ lập lịch EDF. Bạn có thể thử kết hợp các mô-đun khác nhau cho đến khi tìm thấy mô-đun tối ưu.

Cái này Biến thể Linux cho phép bạn thực hiện các tác vụ thời gian thực, điều này đạt được bằng cách chèn nhân thời gian thực giữa nhân Linux tiêu chuẩn và các ngắt phần cứng, đồng thời loại bỏ lý do chính khiến Linux không phù hợp với các tác vụ thời gian thực - độ trễ gián đoạn lớn.

Theo quan điểm của RTLinux, Linux là một trong những tác vụ thời gian thực có mức ưu tiên thấp nhất và có thể bị gián đoạn khi cần thiết. Cấu trúc này áp đặt một số hạn chế đối với các tác vụ thời gian thực. Họ không thể dễ dàng sử dụng trình điều khiển khác nhau Linux, không có quyền truy cập vào mạng, v.v., nhưng có thể trao đổi dữ liệu với các tác vụ Linux tiêu chuẩn.

Hàng đợi FIFO đơn giản được triển khai để trao đổi dữ liệu giữa các quy trình thời gian thực và quy trình Linux. Một ứng dụng thông thường bao gồm hai phần - tác vụ thời gian thực vận hành trực tiếp phần cứng và thông thường, tác vụ Linux thực hiện các hoạt động khác, chẳng hạn như lưu dữ liệu vào đĩa, gửi dữ liệu qua mạng, tương tác với người dùng (GUI). ), vân vân. .

Khoảng thời gian ngắn nhất cho các tác vụ thời gian thực được gọi định kỳ trong RTLinux trên Pentium 120 là ít hơn 150 µs. Các nhiệm vụ bị gián đoạn có thể có thời gian ngắn hơn nhiều.

Hạt nhân thời gian thực không bảo vệ khỏi tình trạng quá tải. Nếu một trong các tác vụ thời gian thực sử dụng hoàn toàn bộ xử lý, nền tảng Linux, có mức ưu tiên thấp nhất, sẽ không nhận được quyền điều khiển và hệ thống sẽ bị treo. Các tác vụ thời gian thực chạy trong không gian địa chỉ kernel với các đặc quyền kernel và có thể được triển khai, chẳng hạn như sử dụng các mô-đun Linux.

Cần lưu ý rằng LynuxWorks đã bắt đầu vận chuyển (17/05/2002) Hệ điều hành nhúng BlueCat Linux cho Bộ công cụ phát triển phần mềm kiến ​​trúc trao đổi Internet Intel (Intel IXA SDK) 2.0, được thiết kế cho dòng bộ xử lý mạng Intel IXP1200. Hệ điều hành BlueCat Linux được phân phối miễn phí với Intel IXA SDK 2.0.

VxWorks từ lâu đã trở thành tiêu chuẩn thực tế cho đại đa số các hệ thống sử dụng hệ điều hành nhúng. Bộ nhớ flash của hệ thống máy tính IXP1200 chứa trình tải hạt nhân VxWorks. Đối với các nhà phát triển, điều này giúp đơn giản hóa công việc viết chương trình mới. Ngoài ra, khả năng vận hành bộ xử lý mạng trong HĐH Linux (có tiện ích mở rộng thời gian thực) đã được triển khai. Hỗ trợ phần mềm được cung cấp bởi một số nhà sản xuất hệ điều hành Linux (ví dụ: LynuxWorks, v.v.).

2.4 Giám sát và điều khiển thời gian thực bằng OS9

2.4.1 Giới thiệu

Để kiểm soát một hoặc nhiều cài đặt từ xa từ một trung tâm duy nhất và kiểm tra trạng thái của chúng, CS (Pháp) đã phát triển một hệ thống giám sát. Nó có thể được sử dụng để kiểm soát các cơ sở năng lượng, hệ thống điều hòa không khí, hệ thống an ninh, nhà máy xử lý, mạng lưới, băng tải công nghiệp và đã được triển khai ở nhiều cơ sở dân sự và quân sự.

Hệ thống cung cấp phần cứng và giải phap băng phân mêm mọi khía cạnh của việc kiểm soát. Nhiều khả năng Các giao diện cung cấp khả năng thu thập dữ liệu từ các cảm biến ngoài trời, thiết bị đầu cuối, thiết bị I/O có thể lập trình và hệ thống máy chủ.

Hệ thống điều khiển có thể được chia thành hai cấp độ:

    Cấp 1 để thu thập và xử lý dữ liệu cục bộ;

    Cấp độ 2 để thu thập và phân tích dữ liệu từ các đối tượng ở xa.

Hình.1. Khái niệm chung về hệ thống

Các tác vụ ở cấp độ 1 được thực hiện bởi đơn vị GESCAP (ví dụ: máy trạm trên bộ xử lý Motorola 68010 có RAM 1 MB) và ở cấp độ 2 - bởi đơn vị GESVA (ví dụ: máy trạm trên bộ xử lý Motorola 68030 có 4 MB ĐẬP). Các đơn vị GESVA và GESCAP sử dụng cùng một hệ điều hành (OS-9) và phần mềm ứng dụng. Chỉ có thiết bị đầu cuối video và chức năng là khác nhau. Tính đồng nhất này làm cho hệ thống dễ cài đặt, sử dụng và bảo trì hơn.

Vì giao diện người dùng của GESVA và GESCAP trực quan nên công việc cấu hình rất đơn giản và không yêu cầu bất kỳ kiến ​​thức máy tính đặc biệt nào. Người dùng xử lý các menu bật lên và những hộp thoại, cung cấp quyền truy cập vào các tính năng tiêu chuẩn sau.

Cấu hình khối I/O analog hoặc kỹ thuật số (cảnh báo, tin nhắn, mức độ ưu tiên, v.v.):

    các phép toán logic (AND, OR...) trên dữ liệu đầu vào;

    thiết lập sự tương ứng của các đầu nối với từng thiết bị đầu vào/đầu ra;

    sắp xếp lại các thiết bị vào/ra;

    tương tác đồ họa với các yếu tố hoạt hình.

Chức năng hiển thị trạng thái:

    trạng thái của khối I/O, thiết bị, kết nối, báo động, nhật ký thời gian thực.

Tính năng đồ họa:

    tự động định vị cảnh báo bằng hình ảnh;

    điều hướng qua hình ảnh của nguồn dữ liệu;

    hiển thị các đường cong trong thời gian thực;

    hiển thị video các đường cong trong thời gian thực.

Chức năng giao tiếp:

    Giao thức truyền thông JBUS/MODBUS (RS-232/RS-422);

    liên lạc với hệ thống hỗ trợ bản địa hóa và loại bỏ lỗi (GESDOC).

Chức năng in ấn:

    bản in cấu trúc hệ thống;

    In danh sách các cảnh báo và sự kiện.

Chức năng cho các mục đích khác nhau:

    tích hợp các tác vụ mới với phần mềm mà không yêu cầu bất kỳ thay đổi nào ở cấp mã nguồn.

2.4.2 Hệ thống ứng dụng này phát triển như thế nào?

Các yêu cầu phần mềm chính là:

    thành phần giống nhau của các chương trình ứng dụng và một giao diện người dùng duy nhất trên các bo mạch và loại màn hình khác nhau;

    môi trường nhiều cửa sổ nhanh, tiên tiến, tiêu tốn ít bộ nhớ nhất có thể;

    một hệ điều hành thời gian thực flash ROM, đa tác vụ với yêu cầu bộ nhớ thấp.

Kết quả là hệ điều hành OS9 đã được chọn đáp ứng tốt nhất các yêu cầu đã nêu.

Gói WINOTOOLS được chọn làm môi trường phát triển nhiều cửa sổ. Sử dụng tiện ích WINOTOOLS, bạn có thể phát triển tất cả các phần tử mà không cần lập trình giao diện người dùng(cửa sổ, công cụ nhập dữ liệu đồ họa, nút bấm, thông báo cảnh báo, v.v.).

Do yêu cầu bộ nhớ khiêm tốn và thời gian phản hồi nhanh, WINOTOOLS, kết hợp với các đặc điểm của OS9, là môi trường lý tưởng để phát triển nhiều ứng dụng thời gian thực chạy ở chế độ đồ họa.

WINOTOOLS cung cấp các tiện ích sau:

PAINT là trình soạn thảo đồ họa hướng đối tượng để phát triển giao diện người dùng, bảng điều khiển và sơ đồ. PAINT được thiết kế để có thể tùy chỉnh và tích hợp vào chương trình ứng dụng của người dùng. Tất cả các tệp dữ liệu đồ họa được tạo bằng PAINT có thể được sửa đổi hoàn toàn mà không cần truy cập mã nguồn (các tệp ở định dạng GIF được nhập).

SCRIPT là ngôn ngữ cho phép bạn mô phỏng tất cả các hộp thoại giao diện người dùng trước khi viết một dòng mã nguồn. Tiện ích này cho phép bạn nhanh chóng kiểm tra tính chính xác của giao diện người dùng.

CƠ SỞ DỮ LIỆU - một thư viện gồm các hàm C cung cấp khả năng quản lý cơ sở dữ liệu (sự tương ứng giữa dữ liệu và các tệp chỉ mục cơ sở dữ liệu).

THƯ VIỆN INPUT/OUTPUT - một thư viện gồm các hàm C cung cấp giao diện giữa giao diện người dùng và các thiết bị đầu vào/đầu ra.

2.5 Windows NT

2.5.1 Khả năng sử dụng Windows NT làm hệ điều hành thời gian thực

Gần đây, các tiện ích mở rộng thời gian thực cho Windows NT đã trở nên phổ biến. Điều này một mặt là do sự mở rộng các lĩnh vực ứng dụng điều khiển máy tính, mặt khác là do mức độ phổ biến tương đối thấp và chi phí cao của các hệ điều hành thời gian thực chuyên dụng. Nhưng ngay cả khi điều này không phải như vậy và các hệ thống khác cũng không ít được biết đến, Win NT RTX vẫn sẽ là hệ thống phổ biến nhất. Không phải vô cớ mà tỷ lệ người dùng hệ điều hành Windows so với người dùng hệ thống Linux/Unix là 1000 trên 1. Điều khá hợp lý là một người, làm việc tại nhà trong một hệ thống, muốn xem cùng một hệ thống, điều đó có thể hiểu được. anh ta hệ thống tiện lợi và tại nơi làm việc. Giao diện Win32 là tiêu chuẩn và quen thuộc với nhiều lập trình viên và người dùng. Trong NT có một số lượng lớn các ứng dụng được tạo sẵn (bao gồm cả các ứng dụng liên lạc), cũng như các công cụ phát triển phổ biến. Thật không may, Windows NT "ở dạng thuần túy" không thể được phân loại là hệ điều hành thời gian thực. Lý do cho điều này được thảo luận trong các bài viết của Martin Timmerman và Jean-Christophe Monfret trên Tạp chí Real-Time Q21997.

Dưới đây là một số trong số họ:

    không đủ số lượng ưu tiên thời gian thực;

    thiếu kế thừa ưu tiên như một phương tiện chống lại sự đảo ngược ưu tiên;

    hệ thống xử lý ngắt không phù hợp với RTOS.

    Trong Windows NT, các ngắt được truy cập từ trình điều khiển hạt nhân và bản thân các ngắt được xử lý theo hai giai đoạn: đầu tiên, một Quy trình Dịch vụ Ngắt (ISR) rất ngắn được gọi, thực hiện quá trình xử lý quan trọng, quá trình xử lý ngắt chính xảy ra trong Thủ tục Trì hoãn Gọi (DPC). Tất cả các DPC đều được thực thi ở cùng mức độ ưu tiên trên cơ sở nhập trước xuất trước (FIFO).

Do đó, thời gian hoàn thành quá trình xử lý DPC của bạn trở nên không thể đoán trước được tùy thuộc vào sự hiện diện của các trình điều khiển khác trong hệ thống và hoạt động của chúng. Đối với các hệ thống có tính xác định chặt chẽ, cần phải biết chính xác thời gian tối đa kể từ thời điểm xảy ra ngắt cho đến khi bắt đầu quy trình xử lý và đảm bảo rằng thời gian đó không bị vượt quá.

2.5.2 RTX - tiện ích mở rộng thời gian thực cho Windows NT từ VenturCom

Một giải pháp khả thi là sử dụng hệ thống con thời gian thực kết hợp với Windows NT, chạy trên cùng một bộ xử lý (nếu chỉ có một bộ xử lý) hoặc trên (các) bộ xử lý chuyên dụng (nếu có một số). Cách tiếp cận này được VenturCom sử dụng trong sản phẩm RTX. Bản chất của phương pháp này là sử dụng HAL (Mức độ trừu tượng phần cứng) đã được sửa đổi. Microsoft không cho phép thay đổi kernel và mã nguồn HAL được cung cấp cho các đối tác của hãng, một trong số đó là VenturCom.

Sau khi cài đặt RTX, Máy trạm hoặc Máy chủ NT tiêu chuẩn sẽ biến thành hệ điều hành cứng thời gian thực. Tuy nhiên, bản thân NT không nghi ngờ điều này. Cả nhân NT lẫn hệ thống con thời gian chạy đều không bị thay đổi. Hệ thống con thời gian thực được hiển thị từ Windows NT dưới dạng trình điều khiển thiết bị khác.

Hệ điều hành Windows NT ban đầu được phát triển dưới dạng mục đích chung. Tuy nhiên, trên thị trường các hệ thống chuyên dụng hiện nay, để đảm bảo tính mở ở từng cấp độ hệ thống đang có xu hướng sử dụng hệ điều hành Microsoft Windows. Điều này là do những lý do sau:

    giao diện lập trình ứng dụng (API) Win32 hiện là tiêu chuẩn thực tế dành cho các lập trình viên;

    giao diện đồ họa người dùng (GUI) phổ biến đến mức giao diện GUI của các hệ điều hành khác ngày càng giống nó;

    một số lượng lớn trình điều khiển từ các nhà sản xuất độc lập đã được phát triển;

    Nhiều công cụ phát triển tích hợp (IDE) rất mạnh mẽ đã được phát triển.

2.5.3 Windows NT 4.0 dưới dạng RTOS. Yêu câu chung

Để được gọi là RTOS, hệ điều hành phải đáp ứng một số đặt tối thiểu những yêu cầu cần thiết nhưng chưa đủ. Tôi đã chỉ ra điều này ngay từ đầu công việc của mình, nhưng hãy lặp lại lần nữa:

    hệ điều hành phải hỗ trợ đa luồng (multi-threaded) và ưu tiên tác vụ theo mức độ ưu tiên (preemptable);

    phải có khái niệm về độ ưu tiên của thread (luồng);

    hệ điều hành phải hỗ trợ các cơ chế đồng bộ hóa việc thực thi các luồng (luồng) với các đặc tính có thể dự đoán được;

    phải có cơ chế kế thừa ưu tiên;

    Hành vi của hệ điều hành phải được biết và có thể dự đoán được (độ trễ ngắt bên trong, độ trễ chuyển đổi tác vụ, độ trễ của trình điều khiển, v.v.).

Windows NT rõ ràng đáp ứng được yêu cầu đầu tiên. Cái thứ hai cũng vậy, nhưng đối với chế độ thời gian thực, mức độ ưu tiên là không đủ. Hầu như không thể thiết kế một hệ thống thời gian thực tốt, chẳng hạn với lập lịch đơn điệu tốc độ, bởi vì số lượng có sẵn sẽ không có đủ mức độ ưu tiên thực thi luồng. Ngoài ra, NT không có cơ chế kế thừa ưu tiên.

Để xử lý các ngắt nhằm giảm thiểu thời gian dành cho các quy trình phục vụ ngắt (ISR), NT đã đưa ra khái niệm về các cuộc gọi thủ tục hoãn lại (DPC). Mặc dù mức độ ưu tiên của các lệnh gọi này cao hơn mức độ ưu tiên của luồng người dùng và hệ thống nhưng chúng đều ở cùng một mức. Điều này có nghĩa là tất cả các cuộc gọi DPC được xếp hàng trong hàng đợi FIFO và ngắt cấp cao sẽ chỉ được phục vụ khi tất cả các cuộc gọi DPC trước đó đã hoàn thành việc thực hiện. Kết quả là thời gian đáp ứng của hệ thống trở nên khó dự đoán, điều này mâu thuẫn với yêu cầu thứ năm.

Việc quản lý bộ nhớ của NT dựa trên bộ nhớ ảo. Điều này đòi hỏi phải bảo vệ bộ nhớ, dịch địa chỉ và hoán đổi. Đối với các ứng dụng RT, việc hoán đổi là không thể chấp nhận được. Các trang bộ nhớ có thể bị khóa trong bộ nhớ vật lý. Tuy nhiên, Jeffrey Richter lập luận trong cuốn sách của mình rằng nếu một tiến trình không hoạt động, NT có thể mở khóa các trang của tiến trình đó và ghi chúng từ bộ nhớ vật lý vào đĩa.

2.5.4 Tiện ích mở rộng thời gian thực cho Windows NT. Mở rộng chức năng

Tiện ích mở rộng thời gian thực thêm chức năng dành riêng cho thời gian thực cho Windows NT:

    Các quy trình thời gian thực xuất hiện, được điều khiển bởi bộ lập lịch riêng của chúng. Bộ lập lịch này đã hoạt động theo tất cả các quy tắc của bộ lập lịch thời gian thực và sử dụng thuật toán ưu tiên dựa trên mức độ ưu tiên. Ngoài ra, các quy trình thời gian thực được ưu tiên hơn các quy trình Win32 tiêu chuẩn, thay thế chúng. Các quy trình thời gian thực có mức độ tin cậy và chức năng cụ thể hoàn toàn khác so với các quy trình Windows NT tiêu chuẩn.

    Các quy trình thời gian thực và quy trình Win32 tiêu chuẩn có phương tiện giao tiếp với nhau.

    Các quy trình thời gian thực có giao diện lập trình RTAPI riêng, triển khai một bộ công cụ được phát triển đặc trưng cho giao diện chương trình (API) của hệ điều hành thời gian thực.

    Ứng dụng tương tự có thể sử dụng cả chức năng Win32 tiêu chuẩn và chức năng API thời gian thực (RTAPI) cụ thể, cho phép bạn tách biệt các phần quan trọng của mã ứng dụng Windows NT và kiểm soát thời gian cũng như độ tin cậy của việc thực thi chúng.

    Có thể theo dõi hiệu suất và thời gian phản hồi của hệ thống. Ứng dụng Windows NT tiêu chuẩn bị treo hoặc treo hệ thống không khiến các ứng dụng thời gian thực bị treo.

    Có thể làm việc với đồng hồ nhanh và bộ hẹn giờ có độ phân giải cao.

    Cho phép truy cập trực tiếp vào bộ nhớ và thiết bị vật lý

2.5.4.1 Hệ thống con thời gian thực RTSS

Hệ thống con thời gian thực RTSS cung cấp hầu hết các chức năng và quản lý tài nguyên của các tiện ích mở rộng thời gian thực. Từ quan điểm triển khai, RTSS trông giống như trình điều khiển Windows NT và chạy ở chế độ kernel. Điều này cho phép đủ một cách đơn giản sắp xếp sự tương tác giữa các tiến trình thời gian thực và các tiến trình Windows NT. RTSS cung cấp khả năng thực thi các chức năng RTAPI và chứa bộ lập lịch luồng thời gian thực với 128 mức ưu tiên cố định. RTSS cũng chứa một trình quản lý đối tượng cung cấp các cơ chế thống nhất để sử dụng tài nguyên hệ thống.

Quản lý đối tượng RTSS: Cung cấp khả năng quản lý đối tượng RTSS thống nhất (tạo, đóng, truy cập). Các đối tượng RTSS là: bộ định thời, bộ xử lý ngắt và ngoại lệ (khởi động, tắt máy, Màn hinh xanh), luồng, tiến trình, ngữ nghĩa, mutexes, bộ nhớ dùng chung, hộp thư, bảng điều khiển và tập tin I/O, các thanh ghi.

2.5.4.2 HAL thời gian thực

HAL là một thành phần phần mềm của cấp thấp khi trình điều khiển kernel tương tác với phần cứng. Đặc biệt, ở cấp độ HAL, quá trình xử lý ngắt bộ định thời ban đầu xảy ra. Một tính năng quan trọng của việc triển khai HAL thời gian thực là nó hoàn toàn tương thích với HAL tiêu chuẩn, hơn nữa, thời gian thực thi của mã HAL thời gian thực và mã HAL tiêu chuẩn là như nhau nếu không sử dụng hệ thống con thời gian thực .

2.5.4.3 Giao diện lập trình thời gian thực RTAPI

Giao diện phần mềm RTAPI thời gian thực là phần mở rộng của Win32 và trước hết chứa một tập hợp các chức năng cần thiết để quản lý thiết bị. RTAPI được triển khai dưới hai dạng - dưới dạng tập hợp con của hệ thống con thời gian thực (RTSS) và dưới dạng thư viện liên kết động (DLL) có thể được gọi từ các ứng dụng Win32. RTAPI chứa các nhóm sau chức năng:

    Quản lý quy trình và luồng: Cung cấp giao diện tương thích với Win32 để quản lý, tạo, sắp xếp lại, lập hồ sơ và chấm dứt các luồng thời gian thực.

    Giao tiếp giữa các quá trình: RTAPI sử dụng các ẩn dụ, mutex và bộ nhớ dùng chung để giao tiếp giữa các luồng thời gian thực và giữa các luồng thời gian thực cũng như giữa các quy trình thời gian thực và quy trình WIN32.

    Quản lý bộ nhớ: Cho phép khóa các ứng dụng vào bộ nhớ, ngăn không cho chúng bị hoán đổi sang tệp trang.

    Truy cập bộ nhớ vật lý: Ứng dụng người dùng có thể truy cập dữ liệu tại các địa chỉ bộ nhớ vật lý.

    Quản lý ngắt: Chứa các chức năng cho phép bạn gán và vô hiệu hóa các trình xử lý ngắt, bật và tắt các ngắt.

    Đồng hồ và bộ hẹn giờ: Chứa các chức năng quản lý đồng hồ và bộ hẹn giờ (tạo, xóa, hủy, khởi tạo bộ hẹn giờ, gán bộ xử lý ngắt)

Điều khiển I/O: RTAPI cung cấp hai cách để điều khiển các thiết bị I/O. Đầu tiên, các ứng dụng của người dùng có thể truy cập trực tiếp vào địa chỉ cổng I/O, cho phép các thiết bị được lập trình trực tiếp. Ngoài ra, một thiết bị bên ngoài có thể được điều khiển bởi các trình điều khiển đặc biệt (dễ phát triển), mà RTAPI cung cấp một giao diện đặc biệt.

3. RT OS được sử dụng trong các hệ thống CNC hiện đại

Hiện nay, nhiều hệ điều hành RT cho thấy các chỉ số hiệu suất tương tự nhau, vì vậy một trong những điều kiện quan trọng nhất cho sự thành công của một hệ điều hành (cùng với hiệu suất cao) là sự hiện diện của môi trường phát triển, giao diện đồ họa và hỗ trợ mạng; khả năng làm việc trên các thiết bị đa bộ xử lý. Trong số các hệ điều hành RT nổi tiếng nhất dành cho hệ thống CNC là:

  • RTMX (công ty RTMX-Uniflex);

    AMX (Công ty TNHH Sản phẩm Kadak);

    OS-9000 (Hệ thống vi sóng);

    Lynx OS (Hệ thống thời gian thực Lynx);

    VRTX (Hệ thống sẵn sàng);

    FlexOS (Đơn vị xe buýt hệ thống chuyên dụng của Novell);

    QNX (từ Hệ thống phần mềm lượng tử)

    Hệ điều hành RV do chúng tôi thiết kế.

3.1 Hệ điều hành RV do chúng tôi thiết kế

Bất chấp số lượng hệ điều hành thời gian thực dường như đã đủ, nhiều công ty lớn đang bắt đầu phát triển hệ điều hành RT của riêng họ. Các quy trình, chu trình công nghệ ngày càng phức tạp, chất lượng và yêu cầu đặt ra đối với hệ điều hành ngày càng cao hơn. Do đó, công ty có thể phải đối mặt với hai tình huống: hoặc trả tiền cho bên thứ ba để phát triển HĐH cho chính mình hoặc công ty tự phát triển HĐH RT cho hệ thống CNC của mình. Điều thứ hai đặc biệt quan trọng nếu mục tiêu là giữ bí mật các đặc điểm công nghệ trong sản xuất.

3.2 FlexOS

Hiện nay rất ít sử dụng. Hệ điều hành này đã từng là hiện đại và phổ biến, nhưng bây giờ nó đã khá lỗi thời. Siemens có hệ điều hành FlexOS riêng, ngôn ngữ riêng và bus trường riêng. Sau đó, Siemens tuyên bố cởi mở là nguyên tắc của mình. Tiêu chuẩn thực tế của Siemens trước đây và nói chung, phần mềm kiểm soát quy trình của các công ty khác nhau là hệ điều hành Windows NT, cho phép sử dụng tất cả các phần mềm tích lũy trong hệ thống văn phòng trong phần mềm.

3.3 QNX

Hệ điều hành này không chỉ dành cho máy tính cá nhân mà còn dành cho nhiều loại thiết bị thông minh công nghiệp và gia đình - các hệ thống điều khiển quy trình công nghệ, Máy CNC, hộp giải mã Internet, thiết bị phát lại video, máy chơi game. Hệ điều hành này khá đáng chú ý và độc đáo về nhiều mặt. Năm 1982, tại Canada, Quantum Software Systems, Limited - QSSL, do Messrs. Bell và Dan Dodge tạo ra, đã giới thiệu với thế giới hệ điều hành thời gian thực đa nhiệm, đa người dùng mới nhất "Quick UNIX", được cho là đã được ra đời. được phát triển, bắt đầu theo yêu cầu của Bộ Quốc phòng Hoa Kỳ. Nó là một hệ điều hành giống UNIX, hay đúng hơn là tương thích với tiêu chuẩn khả năng di động của ứng dụng POSIX, theo đó UNIX và bản sao Linux phổ biến của nó cũng được tạo ra.

3.4 Windows XP

Nghe có vẻ kỳ lạ nhưng thực tế là Windows XP được sử dụng làm giao diện vận hành đồ họa và một hệ điều hành thời gian thực đặc biệt được sử dụng để cung cấp các chức năng CNC một cách an toàn. Nếu xảy ra sự cố trên XP (ví dụ: với kết nối mạng), điều này sẽ không ảnh hưởng đến quá trình xử lý hoặc bản thân máy, bởi vì CNC hoạt động trong hệ điều hành riêng của nó.

3.5 Windows NT4

Người ta thường chấp nhận rằng đây là một hệ điều hành mạng đa nhiệm, đáng tin cậy và rất quan trọng là nó có giao diện Windows 95 đã trở nên quen thuộc với nhiều người. Nhiều công ty sử dụng nó khi phát triển hệ thống CNC của họ:

    Ví dụ, Walter Grinders trang bị cho các máy thuộc model Helitronic_Power hệ thống CNC mở riêng (loại HMC 500). Hệ thống CNC HMC 500 sử dụng bộ vi xử lý Pentium, hệ điều hành Windows NT và phần mềm Walter Window Mode. Phần mềm Walter Window Mode là sản phẩm độc quyền của Walter Grinders.

    Hệ thống WinPCNC là hệ thống CNC một máy tính được xây dựng trên nền tảng máy tính cá nhân mạnh mẽ với hệ điều hành Windows NT và tiện ích mở rộng thời gian thực RTX 4.1. Nó thuộc lớp PCNC (Điều khiển số máy tính cá nhân), tức là. đến loại được gọi là “hệ thống điều khiển cá nhân”, ngày nay được coi là loại hệ thống CNC thế hệ mới hứa hẹn nhất. Hệ thống sử dụng một bộ xử lý duy nhất để phục vụ tất cả các chức năng của nó, bao gồm cả các chức năng điện. Phần cứng được thể hiện bằng thiết bị máy tính cá nhân tiêu chuẩn và các mô-đun giao diện bổ sung để liên lạc với các bộ truyền động servo chuyển động chính và nguồn cấp dữ liệu, bộ truyền động điện tự động hóa và bảng vận hành. Tất cả những công cụ này hiện nay đều có sẵn trên thị trường máy tính, và do đó không cần phải tổ chức sản xuất hệ thống CNC đặc biệt.

Tất nhiên, tôi muốn có Windows NT làm hệ điều hành RT. Nhưng liệu Windows NT ngày nay, ngay cả với Tiện ích mở rộng thời gian thực, có thể xử lý được các tác vụ mà RT OS luôn giải quyết được không? Nhiều thử nghiệm đã chỉ ra rằng trên các nền tảng máy tính thông thường dựa trên bộ xử lý Pentium, thời gian phản hồi ngắt tối đa (từ khi xảy ra ngắt đến khi đi vào luồng xử lý, bao gồm cả khôi phục ngữ cảnh) là 25-80 μs, với điều kiện là hệ thống được thử nghiệm có cường độ hoạt động cao. đã tải: kiểm tra đĩa (chkdsk), ứng dụng GUI và trao đổi mạng chuyên sâu. Những con số này có thể so sánh với những con số được cung cấp bởi các hệ điều hành RT khác và vượt quá một số con số.
Xem xét những điều trên, bạn nên bắt đầu tìm kiếm một giải pháp Tiện ích mở rộng thời gian thực thành công cho Windows NT. Phải nói rằng Windows NT không phải là một hệ thống mở và rõ ràng rằng các dự án Tiện ích mở rộng thời gian thực từ các công ty bên thứ ba sẽ chỉ là những tiện ích bổ sung không làm thay đổi bản chất của HĐH.

Việc bổ sung nhân NT tiêu chuẩn bằng nhân thời gian thực là phương pháp làm nền tảng cho các dịch vụ của Radisys, Imagination và LP Elektronik. Có hai cách triển khai cơ bản khác nhau:

    đặt hạt nhân thời gian thực bên trong quy trình dịch vụ ngắt Windows NT hoặc trong trình điều khiển thiết bị;

    đặt kernel thời gian thực bên ngoài không gian địa chỉ Windows NT.

Do đó, tôi muốn lưu ý rằng, mặc dù các phương pháp triển khai tiện ích mở rộng thời gian thực khác nhau nhưng bản chất của chúng là giống nhau - hoạt động đồng thời của hai hệ điều hành trên một bộ xử lý: Windows NT và thời gian thực, cộng với khả năng tương tác giữa quy trình thời gian thực và quy trình Windows NT.

3.6 Windows CE 2.0 - hệ thống CNC mở

GE Fanuc Automation đã chuẩn bị cho việc ra mắt hệ thống CNC dòng Is - hệ thống CNC mở đầu tiên trên thế giới được tích hợp sẵn hệ điều hành Windows CE 2.0. Bộ truyện bao gồm ba mẫu: mod. Dòng 160 Is, mod. Series 180 Is và mod.Series 210. Series Is Hệ thống CNC có thể được sử dụng để điều khiển nhiều loại máy cắt kim loại khác nhau, từ máy tiện 2 trục đến trung tâm gia công 5 trục, máy cắt laser, máy đột dập, v.v.

Như bạn đã biết, hệ điều hành Windows CE 2.0 được thiết kế cho máy tính bỏ túi và do đó có kích thước rất nhỏ. Đồng thời, khả năng của nó khá đủ để thực hiện các chức năng mà các hệ thống CNC mở hiện đại cần có. Nhờ kích thước nhỏ của Windows CE 2.0, hệ thống CNC dòng Is đã có thể loại bỏ nhu cầu về ổ cứng. Bộ nhớ flash có dung lượng 45 MB dùng để lưu trữ hệ điều hành và các chương trình điều khiển. Việc không có đĩa cứng trong các hệ thống CNC dòng IS khiến chúng có khả năng chống chịu ứng suất cơ học cực cao, rất khó loại bỏ trong quá trình vận chuyển và vận hành trong điều kiện sản xuất thực tế.

3.7 Hạt nhân

Hệ điều hành Nucleus, được thiết kế cho các ứng dụng nhúng, được phát triển bởi Accelerated Technology Inc. (ATI, Mỹ), được thành lập năm 1990 bởi hai lập trình viên. Họ đặt cho mình một mục tiêu rất cụ thể: tạo ra một hệ điều hành thời gian thực rất nhỏ gọn cho các hệ thống nhúng, không phụ thuộc vào loại bộ xử lý, hoàn toàn mở (có nghĩa là phân phối kèm theo mã nguồn), được ghi chép đầy đủ và ở mức giá phải chăng.
Ví dụ: nếu so sánh Nucleus với RT OS QNX nổi tiếng như vậy, thì có thể dễ dàng nhận thấy một số điểm khác biệt của chúng.

Nucleus là một hệ thống chéo, trong khi QNX vừa là môi trường phát triển vừa là môi trường thời gian chạy. Hệ thống chéo đề cập đến một công nghệ phát triển trong đó phần mềm được tạo ra trên một nền tảng phần mềm và phần cứng và được thực thi trên nền tảng khác. Sự kết hợp giữa môi trường phát triển và thời gian chạy của QNX rất hữu ích trong trường hợp người dùng đang làm việc trên kiến ​​trúc tương thích với PC IBM.

Nucleus cho phép bạn phát triển phần mềm cho nhiều bộ xử lý, trong khi QNX chỉ cho phép bạn phát triển phần mềm cho các thiết bị tương thích với PC IBM.

Không giống như QNX, Nucleus đi kèm với mã nguồn. Điều này đặc biệt quan trọng đối với quân đội, vì sự sẵn có của mã nguồn hoàn chỉnh giúp việc chứng nhận ứng dụng được tạo ra trở nên dễ dàng hơn.

Khi mua Nucleus, người mua chỉ thanh toán một lần: ATI không tính thêm phí cho việc sao chép phần mềm của mình. Giá của hệ điều hành này cùng với các công cụ cần thiết là 10-30 nghìn đô la, khi mua QNX, người dùng phải trả tiền cho hệ thống hoàn chỉnh (khoảng 2500 đô la cho hệ điều hành và trình biên dịch Watcom C), còn khi sao chép phần mềm, hãy mua với giá ít nhất QSSL từ giấy phép mô-đun của công ty cho bộ trình điều khiển được yêu cầu (từ 50 đến 1000 đô la).

QNX 4.x tuân thủ tiêu chuẩn POSIX 1003. Nucleus không tuân thủ tiêu chuẩn này, nhưng nó có một bộ lệnh gọi hệ thống khá mạnh mẽ.

3.8OSE 5.0

Sharp Microelectronics và Enea Embedded Technology đang hợp tác để tối ưu hóa các thành phần Hệ thống trên chip BlueStreak đặc biệt để sử dụng trong các thiết bị di động đầu cuối.

Trong dự án đầu tiên, Enea lưu trữ phiên bản 5.0 của hệ điều hành thời gian thực OSE (RTOS) trên bộ vi điều khiển LH7A400 32 bit. Hệ thống trên chip này, dựa trên lõi ARM922TT 200 megahertz, đã bao gồm nhiều mô-đun ngoại vi như Thiết bị USB, Giao diện thẻ đa phương tiện, bộ điều khiển DMA bên ngoài, giao diện nối tiếp và song song bao gồm hỗ trợ hồng ngoại, cũng như bộ điều khiển khả trình với giao diện LCD trực tiếp cho tất cả các loại màn hình phổ biến (STN, Color STN, TFT và Sharps Advanced-TFT). Nó hỗ trợ độ phân giải lên tới 1024x768 pixel, với tối đa 64.000 màu và 15 bán sắc. Do đó, BlueStreak SoC LH7A400 được thiết kế để sử dụng làm bộ xử lý trong các thiết bị di động cao cấp.

3.9 OS-9

OS-9 thuộc lớp UNIX của các hệ điều hành thời gian thực tương tự và cung cấp nhiều yếu tố quen thuộc của môi trường UNIX để sử dụng. Tuy nhiên, thiết kế mô-đun ban đầu, hướng đối tượng của hệ thống giờ đây vẫn mới như khi nó được tạo ra lần đầu tiên. OS-9 là một hệ thống thời gian thực hiệu suất cao, có cấu hình cực kỳ cao. Tính mô-đun của hệ thống có nghĩa là nó có thể được mở rộng quy mô để đáp ứng nhu cầu của cả hệ thống nhúng nhỏ và ứng dụng mạng lớn. Tất cả các thành phần chức năng của OS-9, bao gồm cả kernel, đều được phân cấp quản lý tập tin, hệ thống đầu vào/đầu ra và các công cụ phát triển được triển khai dưới dạng các mô-đun độc lập. Bằng cách kết hợp các mô-đun này, nhà phát triển có thể tạo ra các hệ thống với nhiều cấu hình khác nhau - từ các lõi định hướng ROM độc lập thu nhỏ đến các hệ thống phát triển nhiều người dùng quy mô đầy đủ. Theo quy định, các chương trình được phát triển với cấu hình đầy đủ tính năng. Khi mã chương trình thời gian thực đã được gỡ lỗi, các mô-đun phát triển và I/O sẽ được tách ra và mã kết quả sẵn sàng chạy dưới sự kiểm soát hạt nhân trên hệ thống đích.

3.10 VxWorks/Cơn lốc xoáy

Hệ điều hành VxWorks là một hệ thống phát triển phần mềm ứng dụng đa công cụ, nghĩa là quá trình phát triển được thực hiện trên máy tính công cụ (máy chủ) trong môi trường Tornado để thực thi tiếp theo trên máy mục tiêu chạy VxWorks.

VxWorks hỗ trợ các kiến ​​trúc đích (mục tiêu): Motorola 680x0 và CPU32, Intel 386/486/Pentium/.., Intel 960, SPARC, Mips R3000/4000, ARM, Motorola 88110, HP PA-RISC, Hitachi SH7600, PowerPC, DEC Alpha , Siemens C16x.

Nền tảng công cụ được hỗ trợ cho Tornado (máy chủ): Sun SPARCstation (SunOS và Solaris), HP 9000/400.700 (HP-UX), IBM RS6000 (AIX), Silicon Graphics (IRIX), DEC Alpha (OSF/1), PC ( Windows 95 và NT).

Các giao diện máy chủ-đích được hỗ trợ: Ethernet, RS-232, ICE (Trình mô phỏng trong mạch), bus chéo (bảng nối đa năng), trình mô phỏng ROM, giao diện BDM (Chế độ gỡ lỗi nền).

Chuỗi công cụ Tornado có kiến ​​trúc mở, cho phép các công ty công cụ phát triển phần mềm thời gian thực khác tích hợp các sản phẩm phần mềm của họ với Tornado. Người dùng cũng có thể kết nối các công cụ phát triển chuyên dụng của riêng họ với Tornado, cũng như mở rộng khả năng của các công cụ Wind River Systems.

Cấu hình Tornado tiêu chuẩn bao gồm thư viện hệ thống và hạt nhân VxWorks, Bộ công cụ GNU C/C++, trình gỡ lỗi từ xa cấp ngôn ngữ nguồn CrossWind, shell WindSh, bộ cấu hình BSP WindConfig, v.v.

3.12 RTX

VenturCom đã phát triển hệ thống con thời gian thực RTX (Tiện ích mở rộng thời gian thực) cho Windows NT với sự ủng hộ và hỗ trợ của Hỗ trợ của Microsoft. Microsoft đã cấp phép mã nguồn cho một thành phần của Windows NT được gọi là Mức độ trừu tượng phần cứng (HAL), về cơ bản xác định các đặc tính xử lý ngắt của HĐH. RTX bổ sung các lệnh gọi bổ sung vào giao diện lập trình ứng dụng (RTAPI, API thời gian thực) đồng thời tải HAL đã sửa đổi<изолирует>ngắt phần cứng từ nhân Windows NT. RTX cung cấp cho hệ thống đồng hồ thời gian thực với độ mở rộng 1ms và giảm thời gian phản hồi. RTX cung cấp cho các quy trình quyền truy cập vào địa chỉ vật lý của bộ nhớ và cổng I/O cũng như các phương pháp đặc biệt để làm việc với bộ nhớ phân trang giúp loại bỏ độ trễ vốn có trong Windows NT. Cố gắng khởi động lại hoặc tắt máy nặng như<голубой экран>. Ngoài ra, các giao diện được cung cấp để thay thế các chức năng WIN32 chịu trách nhiệm lên lịch và đồng bộ hóa các tác vụ, nhắn tin giữa các tác vụ, làm việc với các ngắt phần cứng, v.v. Điều thú vị nhất là việc này không yêu cầu thay đổi Windows NT và điều này sẽ không ảnh hưởng đến hiệu suất của các chương trình hiện có.

Đối với các nhà phát triển nhúng, VenturCom cung cấp phiên bản Windows NT yêu cầu ít hơn 10 MB ROM và 8 MB RAM. Việc phân trang các trang bộ nhớ ảo bị cấm, và như một trình điều khiển bổ sung Trình điều khiển Null-Display và Null-Input được cung cấp, cho phép hệ thống hoạt động mà không cần màn hình và bàn phím.

3.13 Chim ưng

Dưới cái tên mã đẹp đẽ này chúng ta có thể dễ dàng nhận ra hệ điều hành iRMX quen thuộc với nhiều người. Sau khi Intel chuyển giao quyền đối với RTOS này cho RadiSys, RadiSys đã làm việc không mệt mỏi để tích hợp sản phẩm thu được với nền tảng Windows NT. Công ty đã chọn con đường tiêu chuẩn để cấp phép mã nguồn cấp HAL từ Microsoft, với sự sửa đổi tiếp theo của họ để đáp ứng các yêu cầu nghiêm ngặt về thời gian thực.

Như trong trường hợp trước, các chức năng mới được tối ưu hóa cho hoạt động thời gian thực được thêm vào các chức năng WIN32 tiêu chuẩn. Bản thân nhân thời gian thực dựa trên iRMX cùng tồn tại với nhân Windows NT và chịu trách nhiệm thực thi các quy trình quan trọng về hiệu năng. Windows NT, cùng với tất cả các ứng dụng tiêu chuẩn, trong trường hợp này là quy trình có mức ưu tiên thấp nhất, chỉ nhận được quyền kiểm soát nếu tất cả các tác vụ thời gian thực ở trạng thái không hoạt động. Hệ thống con thời gian thực có thể tiếp tục hoạt động ngay cả khi Windows NT bị treo hoàn toàn.

4. Tổng quan về CNC

Dưới đây là bảng tương ứng - trong đó các máy CNC hiện đại, hệ điều hành nào được sử dụng.

Hệ thống CNChệ điều hành
Siemens GmbH
840D/ 810DThời gian thực Windows/UNIX
840 DiMS Win NT/ XP + RTX
802DDOS thời gian thực
802 S/CHệ điều hành do chúng tôi thiết kế riêng
GE Fanuc
0T-D, 1018T, 3000C, 6M, 7,SYS P - Model EQNX 6.2Windows NT
160i-MBWindows 2000 (có thể lập trình ISO-DIN)
Dòng 210 LàWindows CE 2.0
Dòng 180 LàWindows CE 2.0
Dòng 160 LàWindows CE 2.0
Hệ thống Balt SPb
NC201Hệ điều hành do chúng tôi phát triển (không có thông tin)
NC110
NC210Hệ điều hành do chính mình phát triển (chưa có thông tin)
M.S.H.
MSH PC-104MS Win NT/ XP + RTX
MSH TURBO-UMS Win NT/ XP + RTX
MSH TURBO-MMS Win NT/ XP + RTX
MSH TURBO-120MMS Win NT/ XP + RTX
FMS
FMS-3000 - N.Novgorod
FMS-3100 - N.NovgorodPhần mềm hệ thống được triển khai trên cơ sở hạt nhân thời gian thực cứng sử dụng thư viện RT-Kernel,
Heidenhain (Đức)
TNC 145TNC 151TNC 155TNC 355TNC 4110TNC 426TNC 530Các hệ điều hành sau được sử dụng: QNX 6.2DOSWindowsUnixLinux
Gildemeister
Eltra PilotEltra-phi công GD-4AWindows NT4
MAHO (Đức)
MAHO 332MAHO 432MS DOS, MS Windows 3.x
NCT
NCT 2000Linux RT hoặc Windows RT
Số
CNC 600CNC 645CNC 646Windows NT4
WinPCNCHệ thống CNC một máy tính được xây dựng trên nền tảng máy tính cá nhân với hệ điều hành Windows NT và phần mở rộng thời gian thực RTX 4.1 từ VentureCom
KRT4-00 - Đường viềnPhần đầu cuối MS Win NT/ XP + RTX

5. Kết Luận

Vậy bạn nên chọn hệ điều hành nào? Nếu chúng ta xem xét kiến ​​trúc CNC bộ xử lý kép, thì tốt hơn là nên cài đặt một hệ điều hành đáng tin cậy với giao diện thuận tiện (Windows NT) trên mô-đun PC thực hiện tác vụ đầu cuối và cài đặt hệ điều hành RT trên mô-đun NC để giải quyết các vấn đề hình học. và các vấn đề logic, ví dụ như QNX, được cấu trúc tốt và có một bộ cơ chế thời gian thực cụ thể được phát triển, nhỏ gọn và có thể dự đoán được.
Sức mạnh tính toán của máy tính cá nhân hiện đại không ngừng phát triển và ngày nay người ta có thể xây dựng một hệ thống CNC một bộ xử lý. Để thực hiện nó, cần kết hợp hai tác vụ PC và NC dưới sự điều khiển của một hệ điều hành duy nhất.

Không thể nói rõ ràng hệ điều hành nào mà các nhà cung cấp CNC sử dụng khi tạo ra chúng. Những thứ kia. Không thể chọn ra bất kỳ hệ thống cụ thể nào từ những hệ thống khác. Việc lựa chọn hệ điều hành phụ thuộc vào các nhiệm vụ mà nó phải giải quyết và sự an toàn tài chính của người dùng cuối. Ngay cả trong cùng một công ty, bạn cũng có thể tìm thấy một số lượng lớn các SRV khác nhau.

Để đạt được các mục tiêu sản xuất khác nhau, việc sử dụng hệ thống khác nhau, đáp ứng tốt nhất những yêu cầu nhất định. Hơn nữa, đôi khi chúng ta không chỉ nói về đặc điểm của hệ thống mà còn về chi phí tiền tệ.

Một lần nữa, các tiện ích mở rộng cho Win NT cần được đặc biệt coi là hệ thống linh hoạt và hợp lý nhất, ngày càng được các nhà phát triển hàng đầu và người dùng cao cấp ưa chuộng.

6. Văn học sử dụng

  • Timmerman M., Monfret J-C., "Windows NT là hệ điều hành thời gian thực?", Tạp chí thời gian thực 2/97, 6-13
  • Sorokin S.A. Hệ thống thời gian thực. STA. 1997, số 2, tr. 22-29
  • Shalunov S. Hurd OS - Phát triển FSF dựa trên vi nhân. Các hệ thống mở. 1997. Số 3
  • Volodin S.V., Makarov A.N., Utrikhin Yu.D., Faradzhaev V.A. Thiết kế toàn hệ thống các hệ thống điều khiển tự động thời gian thực. M. 1984
  • Vị trí của hệ thống hiển thị thông tin trong hệ thống điều khiển tự động thời gian thực.
  • Tiện ích mở rộng thời gian thực của Windows NT: Tổng quan, Tạp chí thời gian thực, 97Q2, Dr. ir. Martin Timmerman, Giám đốc điều hành, Jean-Christophe Monfret, Giám đốc dự án, Tư vấn thời gian thực.
  • Sosonkin V.L., Martinov G.M. Phân tích trình độ thế giới hiện nay của các giải pháp kiến ​​trúc trong lĩnh vực CNC
  • Martinov G.M., Sosonkin V.L. Vấn đề thời gian thực

Giới thiệu

Máy tính là một hệ thống máy tính bao gồm phần cứng và phần mềm. Hoạt động của nó đòi hỏi phần mềm cơ bản - một hệ điều hành. Không có hệ điều hành, máy tính không thể hoạt động được.

Hệ điều hành là tập hợp các chương trình tổ chức và điều khiển hoạt động của máy tính.

Mục tiêu của công việc: tiến hành phân tích so sánh các hệ điều hành thuộc họ Windows và Mac OS.

Nhiệm vụ:

  • Xác định một hệ điều hành;
  • Xem xét các chức năng của hệ điều hành;
  • Tiến hành phân tích so sánh các hệ điều hành.

1. Các định nghĩa và khái niệm cơ bản

1.1. hệ điều hành

Hệ điều hành là một tập hợp các chương trình hệ thống được kết nối với nhau, được tải khi máy tính bật và được lưu trữ vĩnh viễn trong bộ nhớ của máy tính. Họ tiến hành đối thoại với người dùng, quản lý máy tính, tài nguyên của nó (RAM, dung lượng ổ đĩa, v.v.) và khởi chạy các chương trình (ứng dụng) khác để thực thi. Hệ điều hành cung cấp cho người dùng và các chương trình ứng dụng một cách thuận tiện để giao tiếp (giao diện) với các thiết bị máy tính.

Lý do chính cho sự cần thiết của hệ điều hành là các hoạt động cơ bản để vận hành thiết bị máy tính và quản lý tài nguyên máy tính là các hoạt động ở mức độ rất thấp, do đó các hành động được người dùng và chương trình ứng dụng yêu cầu bao gồm hàng trăm hoặc hàng nghìn hoạt động như vậy. các thao tác cơ bản.

Ví dụ, ổ đĩa từ chỉ “hiểu” những thao tác cơ bản như bật/tắt động cơ truyền động, lắp đặt các đầu đọc trên một trụ cụ thể, chọn đầu đọc cụ thể, đọc thông tin từ rãnh đĩa vào máy tính, v.v. Và thậm chí để thực hiện một hành động đơn giản như sao chép một tệp từ đĩa mềm này sang đĩa mềm khác (tệp là một tập hợp thông tin được đặt tên trên đĩa hoặc phương tiện máy khác), cần phải thực hiện hàng nghìn thao tác để chạy các lệnh ổ đĩa, kiểm tra việc thực thi, tìm kiếm và xử lý thông tin trong các bảng đặt tệp trên đĩa, v.v.

Hệ điều hành ẩn tất cả những chi tiết phức tạp và không cần thiết này với người dùng và cung cấp cho người dùng một giao diện thuận tiện để làm việc. Nó cũng thực hiện nhiều hành động phụ trợ khác nhau, chẳng hạn như sao chép hoặc in tập tin. Hệ điều hành tải tất cả các chương trình vào RAM, chuyển quyền điều khiển cho chúng khi bắt đầu công việc, thực hiện nhiều hành động khác nhau theo yêu cầu của chương trình thực thi và giải phóng RAM bị chiếm dụng bởi các chương trình khi chúng hoàn thành.

Hệ điều hành có thể được chia thành các nhóm (phân loại) theo các tiêu chí sau:
1. Theo số lượng người dùng: hệ điều hành một người dùng (chỉ phục vụ một người dùng); nhiều người dùng (hoạt động với nhiều người dùng)
2. Theo số lượng tiến trình: một tác vụ (chỉ xử lý một tác vụ - không còn được sử dụng); đa nhiệm (định vị đồng thời một số tác vụ trong RAM, được bộ xử lý xử lý luân phiên)

Theo loại công nghệ máy tính: bộ xử lý đơn, bộ đa xử lý (các tác vụ có thể được thực hiện trên các bộ xử lý khác nhau; máy chủ thường là bộ đa xử lý), mạng (cung cấp chia sẻ tài nguyên cho tất cả các tác vụ được thực hiện trên mạng).

Dựa vào loại giao diện (phương thức tương tác với người dùng), hệ điều hành được chia thành 2 lớp: OS có giao diện dòng lệnh và OS có giao diện đồ họa.

Có một số loại hệ điều hành: Windows, Mac OS.

1.2. Tính năng hệ điều hành

Chức năng của hệ điều hành bao gồm:

  • thực hiện đối thoại với người dùng;
  • quản lý đầu vào/đầu ra và dữ liệu;
  • lập kế hoạch và tổ chức quá trình xử lý chương trình;
  • phân phối tài nguyên (RAM và bộ đệm, bộ xử lý, thiết bị bên ngoài);
  • khởi chạy các chương trình để thực thi;
  • tất cả các loại hoạt động bảo trì phụ trợ;
  • truyền thông tin giữa các thiết bị nội bộ khác nhau;
  • hỗ trợ phần mềm cho hoạt động của các thiết bị ngoại vi (màn hình, bàn phím, ổ đĩa, máy in, v.v.).

2. Phân tích so sánh các hệ điều hành

2.1. Windows XP

Lịch sử của Windows (do Microsoft phát triển) bắt đầu từ năm 1986. Nó trở nên phổ biến vào năm 1990, khi Windows 3.0 được phát hành. Sự phổ biến của phiên bản Windows mới là do một số lý do. GUI cho phép bạn làm việc với các đối tượng trên máy tính không sử dụng lệnh mà sử dụng các hành động trực quan và dễ hiểu trên các biểu tượng đại diện cho các đối tượng này. Khả năng làm việc đồng thời với nhiều chương trình đã làm tăng đáng kể sự thuận tiện và hiệu quả trong công việc. Ngoài ra, sự thuận tiện và dễ dàng khi viết chương trình cho Windows đã dẫn đến sự xuất hiện ngày càng đa dạng của các chương trình chạy dưới Kiểm soát cửa sổ. Cuối cùng, công việc với nhiều loại thiết bị máy tính được tổ chức tốt hơn, điều này cũng quyết định mức độ phổ biến của hệ thống. Các phiên bản tiếp theo của Windows nhằm mục đích cải thiện độ tin cậy, cũng như hỗ trợ đa phương tiện (phiên bản 3.1) và hoạt động trong mạng máy tính (phiên bản 3.11).

Năm 1995, hệ thống Windows 95 xuất hiện, trở thành một giai đoạn mới trong lịch sử Windows: giao diện thay đổi đáng kể, tốc độ chương trình tăng lên và hệ thống bao gồm Trình duyệt Internet Nhà thám hiểm.

Tiếp nối sự phát triển của Windows 95 là hệ điều hành xuất hiện vào năm 1998 (Windows 98). Trong khi giao diện vẫn được giữ nguyên, cấu trúc bên trong đã được thiết kế lại đáng kể. Người ta chú ý nhiều đến việc làm việc với Internet, cũng như hỗ trợ các giao thức truyền thông tin hiện đại - những tiêu chuẩn đảm bảo việc trao đổi thông tin giữa các thiết bị khác nhau. Bên cạnh đó, Tính năng Windows 98 là khả năng làm việc với nhiều màn hình.

Giai đoạn tiếp theo trong quá trình phát triển của Windows là sự xuất hiện của Windows 2000 và Windows ME (Millennium Edition). Hệ thống Windows 2000 được phát triển trên nền tảng Windows NT và kế thừa từ nó độ tin cậy cao và tính bảo mật thông tin khỏi sự can thiệp từ bên ngoài. Hệ điều hành Windows ME trở thành hệ điều hành kế thừa cho Windows 98 nhưng có nhiều tính năng mới. Trước hết, đây là công việc được cải tiến với đa phương tiện, khả năng ghi lại không chỉ âm thanh mà còn cả thông tin video, phương tiện khôi phục thông tin mạnh mẽ sau khi thất bại, v.v.

Hệ điều hành Microsoft Windows XP (từ tiếng Anh eXPerience - trải nghiệm), hay Microsoft Codename Whistler, là một hệ điều hành thuộc họ Windows, được tạo ra trên nền tảng công nghệ NT.

Hiện nay, Windows XP dành cho máy tính để bàn và máy trạm có sẵn ba phiên bản: Home Edition dành cho máy tính cá nhân gia đình, Professional Edition dành cho máy tính văn phòng và cuối cùng là Microsoft Windows XP 64bit Edition - đây là phiên bản Windows XP Professional dành cho máy tính cá nhân được xây dựng trên nền tảng này. dựa trên bộ xử lý Intel Itanium 64 bit với tần số xung nhịp hơn 1 GHz.

Khi so sánh Windows XP với các phiên bản trước của Microsoft Windows, bạn có thể dễ dàng nhận ra nhiều điểm khác biệt đáng kể trong hệ điều hành mới. Mặc dù thực tế là hệ điều hành này được phát triển trên nền tảng NT và thoạt nhìn, các đặc điểm của nó giống với Microsoft Windows 2000 về nhiều mặt, nhưng trên thực tế, Windows XP thuộc về một thế hệ hệ điều hành khác về cơ bản của họ Windows. . Giờ đây, người dùng Windows không bị ràng buộc với bất kỳ giao diện tiêu chuẩn nào được cài đặt trên hệ thống theo mặc định: bạn có thể dễ dàng thay đổi giao diện của cửa sổ bằng cách tải xuống bất kỳ chủ đề nào trong số hàng trăm “Chủ đề” được thiết kế đặc biệt từ Internet. Menu chính truyền thống, cung cấp quyền truy cập vào các chương trình được cài đặt trên máy tính, tài liệu được lưu trữ trên đĩa và cài đặt hệ điều hành, cũng đã trải qua một số thay đổi đáng kể. Bây giờ, khi bạn nhấn nút Bắt đầu, một menu động sẽ xuất hiện chỉ chứa các biểu tượng cho năm chương trình mà bạn sử dụng thường xuyên nhất. Nhờ đó, bạn có thể bắt đầu với các ứng dụng bạn cần nhanh hơn nhiều. Các nút Đăng xuất và Tắt máy tính cũng nằm ở đây, cho phép bạn kết thúc phiên Windows hiện tại và tắt máy tính.

Trong môi trường Microsoft Windows, người dùng thường phải làm việc đồng thời với nhiều tài liệu hoặc một bộ chương trình khác nhau. Đồng thời, các ứng dụng không hoạt động sẽ được thu nhỏ xuống Thanh tác vụ, khiến thanh tác vụ này sớm muộn trở nên quá tải với các biểu tượng và việc chuyển đổi giữa các tác vụ trở nên khó khăn. Để giảm bớt thanh tác vụ và giải phóng thêm không gian làm việc để hiển thị biểu tượng của các ứng dụng đang chạy, Windows XP sử dụng cái gọi là thuật toán nhóm tác vụ, theo đó các chương trình tương tự chạy trên máy tính cùng lúc sẽ được kết hợp thành một nhóm trực quan hợp lý.

Windows có vấn đề bảo mật nghiêm trọng liên quan đến việc hack hệ thống từ xa. Việc đối phó với vấn đề này được giúp đỡ một phần bằng cách cài đặt các bản vá do các nhà phát triển phát hành thường xuyên. Sau đó, các sản phẩm của Microsoft hầu như trở nên an toàn nhưng nếu không cập nhật, hệ điều hành có thể lại bị tin tặc tấn công.

2.2. hệ điều hành Mac

Đi đến kiến trúc mới, đã làm thay đổi đáng kể cộng đồng Mac và trên thực tế, đã chia sự hiểu biết về máy tính của họ thành hai thời đại - “trước khi chuyển đổi sang Intel” và “sau khi chuyển đổi sang Intel”.

Mac OS đầu tiên xuất hiện vào năm 1984, sớm hơn nhiều so với Windows. Nó được thiết kế dành riêng cho máy tính Macintosh (Mac). Những máy tính này có kiến ​​trúc khép kín, tức là bản thân các máy tính chỉ được lắp ráp bởi Apple.

Điểm mạnh của Mac OS là hầu như không có virus cho Macintosh. Và vấn đề không chỉ là Mac OS không phổ biến lắm so với Windows mà còn là các loại virus truyền thống đơn giản là không hoạt động trong môi trường UNIX. Tất nhiên, về mặt lý thuyết, có những mẫu vi-rút có thể hoạt động với một số ứng dụng dành cho Mac OS, nhưng số lượng của chúng đơn giản là không đáng kể so với phần mềm độc hại được viết cho Windows. Ngay cả việc hack máy tính chạy Mac OS từ xa cũng khó hơn nhiều so với hack máy chạy Windows và có thể chỉ cần các chương trình chống vi-rút để ngăn tệp bị nhiễm gửi đến máy chạy Windows, vì nó sẽ không gây ra bất kỳ hậu quả gì cho bạn. làm hại .

Giao diện hệ thống cũng có sự khác biệt đáng kể so với Windows. Ví dụ: nếu trong Windows, mỗi chương trình thường tương ứng với một cửa sổ có các tab và thanh công cụ mở trong đó, thì trong Mac OS, các cửa sổ và bảng điều khiển "nổi" sẽ được sử dụng, không gắn với một cửa sổ chung mà nằm trên màn hình nền.

Đặc điểm chính của giao diện Mac OS là sự tối giản. Điều này có nghĩa là khi khởi chạy ứng dụng, người dùng sẽ được cung cấp các thành phần chính, giao diện cơ bản và điều khiển và chỉ khi cần, người dùng mới có thể tùy chỉnh môi trường làm việc theo ý thích của mình. Trong trường hợp này, người dùng sẽ không gặp khó khăn trong việc làm chủ giao diện hệ điều hành.

Một tính năng đặc biệt khác của giao diện là bảng điều khiển dock. Đây là bảng điều khiển ở cuối màn hình, nơi bạn có thể tìm thấy các biểu tượng cho các tệp và ứng dụng mà bạn cần truy cập nhanh cũng như các ứng dụng đang chạy. Bảng điều khiển có thể được chỉnh sửa, thay đổi kích thước, loại bỏ và thêm các biểu tượng ứng dụng. Bạn cũng có thể lưu ý các thành phần giao diện như Bảng điều khiển và Expose. Bảng điều khiển là một bảng điều khiển để làm việc với các “widget”, các ứng dụng đồ họa đơn giản nhất, theo quy luật, thực hiện các chức năng thông tin. Expose – một chức năng hiển thị trên màn hình dưới dạng hình thu nhỏ của tất cả các cửa sổ đang mở hoặc chỉ các cửa sổ của chương trình đang hoạt động.

Mac OS, không giống như Windows, đi kèm với bộ công cụ cần thiết để vận hành đầy đủ ngay từ đầu. Và mặc dù danh sách các chương trình dành cho Mac OS không ấn tượng bằng Windows nhưng vẫn có tất cả các ứng dụng cơ bản cần thiết cho công việc và giải trí.

2.3. Ưu điểm và nhược điểm của hệ điều hành
Ưu nhược điểm của hệ điều hành Windows và Mac OS

Thuận lợi

sai sót

các cửa sổ 1. Nhiều lựa chọn phần mềm
2. Tương thích hoàn toàn với mọi thiết bị
3. Hỗ trợ kỹ thuật
4. Phổ biến rộng rãi
5. Dễ dàng thiết lập
1. Bảo mật kém
2. Yêu cầu hệ thống hơi cao
3. Nhiều hạn chế (hệ thống kiểm soát nội dung số, xuất hiện lần đầu trong Windows Vista, Microsoft luôn cố gắng áp đặt quan điểm của mình về những gì tốt nhất cho người dùng)
hệ điều hành Mac 1. Dễ dàng thiết lập
2. Không yêu cầu người dùng phải biết chi tiết kỹ thuật
3. Tính trực quan khi sử dụng
4. Tổ chức các cửa sổ một cách thuận tiện - tất cả các cửa sổ đều hiển thị và không cần phải chuyển đổi giữa chúng.
5. Đã cài đặt bộ cơ bản QUA
6. An ninh tốt
1. Giá máy tính sử dụng Mac OS X cao
2. Kiến trúc máy tính khép kín – không có khả năng nâng cấp thiết bị

Phần kết luận

Trong 10 năm qua, máy tính đã tràn ngập các căn hộ, văn phòng và doanh nghiệp. “Hộp thông minh” đang tự tin bước vào cuộc sống của chúng ta, nhiều người không còn tưởng tượng trước đây mình sẽ xoay xở thế nào nếu không có nó .

Một lượng lớn người dùng thích sử dụng máy tính để giải trí. Trong trường hợp này, Windows phù hợp với những người cần một trung tâm đa phương tiện (âm nhạc, rạp chiếu phim, Internet, trò chơi). Và đối với những người cần một chiếc máy tính không đắt tiền và không quá khó sử dụng cho công việc thì Mac OS X là lựa chọn tốt nhất cho những người muốn làm việc trên máy tính mà không cần tìm hiểu sâu về các tính năng của hệ thống.

Với sự trợ giúp của các khái niệm trừu tượng đơn giản và rõ ràng, các chi tiết vật lý về hoạt động của máy tính sẽ được ẩn khỏi lập trình viên.

Thực hiện phân phối có trật tự và có kiểm soát thời gian xử lý, bộ nhớ, v.v. giữa các chương trình

Đảm bảo an toàn cho dữ liệu của mỗi người dùng và cách ly các ứng dụng đang chạy của họ với nhau

Một chương trình liên tục chạy trên máy tính (hoặc một phần của nó - kernel), tương tác với tất cả các chương trình ứng dụng

Hệ điều hành đa xử lý

Một cách ngày càng phổ biến để tăng sức mạnh của máy tính là kết hợp nhiều bộ xử lý trung tâm trong một hệ thống. Tùy thuộc vào kiểu kết nối của bộ xử lý và phân chia công việc, các hệ thống như vậy được gọi là máy tính song song, hệ thống đa máy tính hoặc hệ thống đa bộ xử lý. Chúng yêu cầu các hệ điều hành đặc biệt, nhưng thường các hệ điều hành như vậy là các biến thể của hệ điều hành máy chủ có khả năng giao tiếp đặc biệt.

Hệ điều hành cho máy tính cá nhân

Danh mục tiếp theo là PC OS. Công việc của họ là cung cấp giao diện thân thiện với người dùng cho một người dùng. Những hệ thống như vậy được sử dụng rộng rãi để làm việc với văn bản, bảng tính và truy cập Internet. Ví dụ nổi bật nhất là Windows 98, Windows 2000, Windows XP, Windows Vista, hệ điều hành máy tính Macintosh và Linux. Những hệ điều hành này rất nổi tiếng và nhiều người không biết về sự tồn tại của các loại hệ điều hành khác ngoài hệ điều hành họ sử dụng.


Hệ điều hành thời gian thực

Một loại hệ điều hành khác là hệ thống thời gian thực. Thông số chính của các hệ thống như vậy là thời gian. Ví dụ, trong hệ thống điều khiển sản xuất, máy tính thời gian thực thu thập dữ liệu quy trình công nghiệp và sử dụng nó để điều khiển máy móc trong nhà máy. Thông thường các quy trình như vậy phải đáp ứng yêu cầu nghiêm ngặt về thời gian. Vì vậy, nếu ô tô di chuyển dọc theo băng chuyền thì mỗi hành động phải được thực hiện vào một thời điểm được xác định nghiêm ngặt. Nếu một số hành động phải xảy ra tại một thời điểm cụ thể (hoặc trong một khoảng thời gian nhất định), thì chúng ta đang xử lý một hệ thống thời gian thực cứng. Có một loại khác: một hệ thống thời gian thực linh hoạt trong đó có thể chấp nhận được việc thỉnh thoảng bị trễ thời hạn hoàn thành một thao tác. Hệ thống đa phương tiện âm thanh kỹ thuật số thuộc loại này. Hệ thống VxWorks và QNX là những hệ điều hành thời gian thực nổi tiếng.

Hệ điều hành nhúng

Tiếp tục chuyển từ hệ thống lớn sang hệ thống nhỏ hơn, chúng tôi chuyển sang máy tính cầm tay và hệ thống nhúng. Máy tính bỏ túi (PDA) hoặc PDA (Trợ lý kỹ thuật số cá nhân) là một máy tính nhỏ đặt vừa trong túi và thực hiện một bộ chức năng nhỏ (điện thoại sổ tay và sổ ghi chú). Các hệ thống nhúng điều khiển hoạt động của thiết bị chạy trên các máy thường không được coi là máy tính, chẳng hạn như tivi, lò vi sóng và máy tính. điện thoại di động. Chúng thường có những đặc điểm giống như hệ thống thời gian thực, nhưng có những hạn chế đặc biệt về kích thước, bộ nhớ và nguồn điện khiến chúng trở nên khác biệt. Ví dụ về các hệ điều hành như vậy là PalmOS và Windows CE (Điện tử tiêu dùng).

Hệ điều hành cho thẻ thông minh

Các hệ điều hành nhỏ nhất chạy trên thẻ thông minh, là những thiết bị có kích thước bằng thẻ tín dụng chứa bộ xử lý trung tâm. Những hệ điều hành như vậy phải chịu những hạn chế cực kỳ nghiêm ngặt về sức mạnh bộ xử lý và bộ nhớ. Một số trong số chúng chỉ có thể xử lý một giao dịch, chẳng hạn như thanh toán điện tử, nhưng các hệ điều hành khác trên cùng thẻ thông minh sẽ thực hiện hàm phức tạp. Chúng thường là các hệ thống độc quyền. Một số thẻ thông minh dựa trên Java. Điều này có nghĩa là ROM thẻ thông minh có chứa một trình thông dịch máy ảo Java (JVM, Máy ảo Java). Các ứng dụng Java (chương trình nhỏ) được tải vào thẻ và được trình thông dịch JVM thực thi. Một số thẻ này có thể quản lý nhiều ứng dụng Java cùng lúc, dẫn đến thực hiện đa nhiệm và cần phải lập lịch trình. Do hai hoặc nhiều chương trình hoạt động đồng thời nên cần có sự quản lý và bảo vệ tài nguyên. Theo đó, tất cả các tác vụ này thường được thực hiện bởi một hệ điều hành cực kỳ thô sơ nằm trên thẻ thông minh.

Vật liệu được sử dụng:

Hoàn thành bởi Borisova Albina 10a

Kukushkin Dmitry, TM-247

Nghiên cứu sự phát triển của hệ điều hành

Tải xuống:

Xem trước:

Cơ sở giáo dục ngân sách nhà nước về giáo dục trung cấp nghề "Trường Cao đẳng Chế tạo Dụng cụ Arzamas được đặt theo tên của P.I. Plandin"

NGHIÊN CỨU

Hoàn thành:

Kukushkin D, sinh viên

Nhóm TM-247

Nghiên cứu sự phát triển của hệ điều hành

Cố vấn khoa học:

Cô giáo Rakova L.V.

Arzamas,

2014

LỜI GIỚI THIỆU………………………………..3

CHƯƠNG I. Khái niệm hệ điều hành……………………….. 4

CHƯƠNG II. Sự phát triển của hệ điều hành………………………..5

§2.1.Giai đoạn đầu tiên……………………………….5

§2.2.Giai đoạn thứ hai………………………………..5

§2.3.Giai đoạn thứ ba………………………………..6

§2.4.Giai đoạn thứ tư………………………….7

CHƯƠNG III. Yêu cầu hệ thống đối với các hệ điều hành thông dụng...8

CHƯƠNG IV. Phân tích các hệ điều hành hiện đại.................................................................10

Kết luận của Chương IV…………………………………….12

KẾT LUẬN………………………………..14

DANH MỤC NGUỒN SỬ DỤNG……………………….15

GIỚI THIỆU

Lịch sử của bất kỳ ngành khoa học hoặc công nghệ nào cho phép chúng ta không chỉ thỏa mãn sự tò mò tự nhiên mà còn hiểu rõ hơn về bản chất của những thành tựu chính của ngành này, hiểu các xu hướng hiện có và đánh giá chính xác triển vọng của một số lĩnh vực phát triển nhất định. Trong gần nửa thế kỷ tồn tại, các hệ điều hành đã trải qua một chặng đường khó khăn với nhiều sự kiện quan trọng. Những tiến bộ trong việc cải tiến hệ điều hành đã có tác động rất lớn đến sự phát triển của hệ điều hành. cơ sở nguyên tố và phần cứng máy tính, do đó nhiều giai đoạn phát triển hệ điều hành có liên quan chặt chẽ đến sự xuất hiện của các loại nền tảng phần cứng mới, chẳng hạn như máy tính mini hoặc máy tính cá nhân. Hệ điều hành đã trải qua một quá trình phát triển nghiêm trọng do vai trò mới của máy tính trong mạng cục bộ và toàn cầu. Yếu tố quan trọng nhất trong sự phát triển của HĐH là Internet. Khi Mạng này có được các tính năng của một phương tiện truyền thông đại chúng phổ quát, hệ điều hành sẽ trở nên đơn giản và thuận tiện hơn khi sử dụng, bao gồm các phương tiện hỗ trợ thông tin đa phương tiện được phát triển và được trang bị các biện pháp bảo mật đáng tin cậy.

Sự liên quan của nghiên cứunguyên nhân là do nhu cầu cải tiến hệ điều hành để cải thiện chất lượng làm việc của người dùng với máy tính, làm cho nó đơn giản hơn và giải phóng anh ta khỏi trách nhiệm phân phối và quản lý tài nguyên.

Đối tượng nghiên cứu- Hệ điều hành.

Đề tài nghiên cứu– những công nghệ, công trình khoa học hiệu quả của các nhà khoa học và lập trình viên được người dùng sử dụng khi làm việc trên hệ điều hành.

Mục đích của công việc nghiên cứu nàylà một mô tả và phân tích về sự phát triển của hệ điều hành.

Mục tiêu đạt được thông qua các nhiệm vụ sau:

Hãy xem xét khía cạnh lịch sử của sự xuất hiện của các hệ điều hành;

Xác định và xem xét các giai đoạn phát triển của hệ điều hành.

Chương đầu tiên bao gồm thông tin chung về hệ điều hành.

Chương thứ hai xem xét các giai đoạn phát triển của hệ điều hành.

Chương thứ ba thảo luận về các yêu cầu hệ thống của các hệ điều hành phổ biến.

Chương thứ tư cung cấp một phân tích về các hệ điều hành phổ biến.

Tác phẩm bao gồm bốn chương, phần giới thiệu, phần kết luận và danh sách các nguồn tài liệu được sử dụng.

CHƯƠNG 1. Khái niệm hệ điều hành

Hệ điều hành, OS (tiếng Anh) hệ điều hành) - phức cơ bản chương trình máy tính một loại máy phát giữa phần cứng máy tính và các chương trình khác. Hệ điều hành nhận các tín hiệu lệnh do các chương trình khác gửi đến và “dịch” chúng sang ngôn ngữ mà máy có thể hiểu được. HĐH quản lý tất cả các thiết bị được kết nối với máy tính, cung cấp quyền truy cập cho chúng vào các chương trình khác.

Hệ điều hành cho phép bạn loại bỏ các chi tiết triển khai phần cứng, cung cấp cho các nhà phát triển phần mềm bộ chức năng cần thiết tối thiểu. Từ góc nhìn của người dân bình thường, người dùng thông thường phần cứng máy tính, hệ điều hành cũng bao gồm các chương trình giao diện người dùng. Các chức năng chính (HĐH đơn giản):

  • Tải ứng dụng vào RAM và thực thi chúng;
  • Truy cập được tiêu chuẩn hóa vào các thiết bị ngoại vi (thiết bị đầu vào/đầu ra);
  • Quản lý RAM (phân phối giữa các tiến trình, bộ nhớ ảo);
  • Kiểm soát quyền truy cập vào dữ liệu trên phương tiện không ổn định (chẳng hạn như Đĩa cứng, CD, v.v.), thường sử dụng hệ thống tệp;
  • Giao diện người dùng;
  • Hoạt động mạng, hỗ trợ ngăn xếp giao thức

Mỗi hệ điều hành bao gồm ít nhất 3 phần bắt buộc.

Đầu tiên là kernel, trình thông dịch lệnh, “người dịch” từ ngôn ngữ phần mềm sang ngôn ngữ phần cứng, ngôn ngữ mã máy.

Thứ hai - chương trình chuyên ngànhđể điều khiển các thiết bị khác nhau có trong máy tính. Những chương trình như vậy được gọi là trình điều khiển. Điều này cũng bao gồm cái gọi là “thư viện hệ thống” được sử dụng bởi chính hệ điều hành và các chương trình có trong đó.

Phần thứ ba là một lớp vỏ tiện lợi để người dùng giao tiếp - giao diện. Đây là một loại trình bao bọc đẹp mắt, trong đó chứa một hạt nhân nhàm chán và kém thú vị. Việc so sánh với bao bì cũng hợp lý vì đó là điều mọi người chú ý khi chọn HĐH, trong khi kernel, phần chính của HĐH, chỉ được nhớ đến sau này.

Các hệ điều hành phổ biến nhất hiện nay đều là hệ điều hành của Microsoft, Linux và Mac OS.

CHƯƠNG II. Sự phát triển của hệ điều hành

§2 .1 Thời kỳ đầu (1945 -1955)

Được biết, máy tính được phát minh bởi nhà toán học người Anh Charles Babage vào cuối thế kỷ XVIII. “Động cơ phân tích” của ông không bao giờ có thể thực sự hoạt động được, bởi vì công nghệ thời đó không đáp ứng được yêu cầu sản xuất các bộ phận cơ khí chính xác cần thiết cho công nghệ máy tính. Người ta cũng biết rằng chiếc máy tính này không có hệ điều hành.

Một số tiến bộ trong việc tạo ra máy tính kỹ thuật số xảy ra sau Thế chiến thứ hai. Vào giữa những năm 40, các thiết bị điện toán dạng ống đầu tiên đã được tạo ra. Vào thời điểm đó, cùng một nhóm người đã tham gia thiết kế, vận hành và lập trình máy tính. Nó giống một công việc nghiên cứu trong lĩnh vực công nghệ máy tính hơn là sử dụng máy tính như một công cụ để giải quyết mọi vấn đề. vấn đề thực tế từ các lĩnh vực ứng dụng khác. Việc lập trình được thực hiện độc quyền bằng ngôn ngữ máy. Không có cuộc nói chuyện nào về hệ điều hành, mọi nhiệm vụ tổ chức quá trình tính toán đều được mỗi lập trình viên từ bảng điều khiển giải quyết thủ công. Không có phần mềm hệ thống nào khác ngoài thư viện các chương trình toán học và tiện ích.

§ 2.4 Thời kỳ thứ tư (1980–nay)

Giai đoạn tiếp theo trong quá trình phát triển của hệ điều hành gắn liền với sự ra đời của các mạch tích hợp quy mô lớn (LSI). Trong những năm này, mức độ tích hợp đã tăng mạnh và giá thành của vi mạch giảm. Máy tính trở nên có sẵn cho cá nhân và kỷ nguyên của máy tính cá nhân bắt đầu. Từ quan điểm kiến ​​trúc, máy tính cá nhân không khác gì loại máy tính mini như PDP-11, nhưng giá của chúng khác nhau đáng kể. Nếu máy tính mini giúp một bộ phận của doanh nghiệp hoặc trường đại học có thể có máy tính riêng thì máy tính cá nhân đã làm được điều này cho một cá nhân.

Máy tính được sử dụng rộng rãi bởi những người không chuyên, điều này đòi hỏi phải phát triển phần mềm "thân thiện", chấm dứt đẳng cấp của các lập trình viên.

Thị trường hệ điều hành bị thống trị bởi hai hệ thống: MS-DOS và UNIX. Hệ điều hành MS-DOS một chương trình, một người dùng được sử dụng rộng rãi cho các máy tính được xây dựng trên bộ vi xử lý Intel 8088 và sau này là các bộ vi xử lý 80286, 80386 và 80486. Hệ điều hành UNIX đa chương trình, nhiều người dùng chiếm ưu thế trong số các máy tính "không phải Intel" , đặc biệt là những thiết bị được xây dựng trên bộ xử lý RISC hiệu suất cao.

Vào giữa những năm 80, mạng máy tính cá nhân chạy dưới mạng hoặc hệ điều hành phân tán bắt đầu phát triển nhanh chóng.

Trong các hệ điều hành được nối mạng, người dùng phải biết sự hiện diện của các máy tính khác và phải đăng nhập vào máy tính khác để sử dụng tài nguyên của nó, chủ yếu là các tệp. Mỗi máy trên mạng chạy hệ điều hành cục bộ riêng, khác với hệ điều hành của máy tính độc lập ở chỗ có quỹ bổ sung, cho phép máy tính hoạt động trên mạng. Hệ điều hành mạng không có sự khác biệt cơ bản so với hệ điều hành của máy tính có bộ xử lý đơn. Nó chắc chắn chứa hỗ trợ phần mềm dành cho các thiết bị giao diện mạng (trình điều khiển bộ điều hợp mạng), cũng như các công cụ để đăng nhập từ xa vào các máy tính khác trên mạng và các công cụ để truy cập tập tin đã xóa tuy nhiên, những bổ sung này không làm thay đổi đáng kể cấu trúc của hệ điều hành.

CHƯƠNG III. Yêu cầu hệ thống của các hệ điều hành thông dụng

Tôi sẽ không tập trung sự chú ý đặc biệt vào hệ điều hành Windows, vì hầu hết mọi người sử dụng máy tính đều có thể sử dụng Windows làm hệ điều hành máy tính để bàn của họ. Do đó, hãy chuyển ngay sang các yêu cầu hệ thống của sản phẩm này.

  1. Microsoft Windows XP

Để hoạt động nhanh và ổn định, máy tính của bạn phải có bộ xử lý Pentium-II, tần số bộ xử lý từ 500 MHz, miễn phí không gian đĩaít nhất 2 GB và theo đó là một đầu đọc đĩa.

  1. Microsoft Windows Vista

Nếu bạn đã chọn Vista, thì hệ thống máy tính của bạn không được yếu hơn các yêu cầu hệ thống sau: bộ xử lý có tần số xung nhịp ít nhất 800 MHz, RAM 512 MB, bộ nhớ video 32 MB, card đồ họa hỗ trợ DirectX 9, một đầu đọc DVD và ít nhất 15 GB dung lượng ổ cứng trống.

  1. Microsoft Windows 7

Để chạy hệ thống này, bạn cần bộ xử lý có tần số tối thiểu 1 GHz, RAM 1 GB trở lên, dung lượng ổ cứng trống hơn 16 GB, đầu đọc DVD và card đồ họa tương thích DirectX 9.

Vào ngày 7 tháng 9 năm 1991, sinh viên Phần Lan Linus Torvalds đã đăng lên mạng mã nguồn của thứ sau này sẽ phát triển thành hệ điều hành Linux (“Linux”). Sự khác biệt cơ bản nhất giữa Linux, Mac OS X và Windows là Linux là phần mềm miễn phí được phân phối theo giấy phép GPL. Không giống như các hệ thống thương mại nhưMicrosoft Windows hoặc hệ điều hành Mac , Linux không có trung tâm phát triển địa lý. Không có tổ chức nào sở hữu hệ thống này; Thậm chí không có một trung tâm điều phối nào. Các chương trình dành cho Linux là kết quả của hàng nghìn dự án. Một số dự án này được tập trung, một số tập trung vào các công ty. Nhiều dự án kết hợptin tặc từ khắp nơi trên thế giới chỉ biết nhau qua thư từ. Bất kỳ ai cũng có thể tạo dự án của riêng mình hoặc tham gia dự án hiện có và nếu thành công, kết quả của công việc sẽ được hàng triệu người dùng biết đến. Người dùng tham gia V. thử nghiệm phần mềm miễn phí , giao tiếp trực tiếp với các nhà phát triển, điều này cho phép bạn nhanh chóng tìm và sửa lỗi cũng như triển khai các tính năng mới.

Nếu bạn quyết định cài đặt Linux trên máy tính của mình thì bạn sẽ cần bộ xử lý 33 MHz, RAM 8 MB và dung lượng ổ đĩa 120 MB.

Cuối cùng trong danh sách các hệ điều hành phổ biến nhất là Mac OS. Điều quan trọng nhất là Mac OS X chỉ có thể được cài đặt trên máy tính Macintosh do hãng sản xuất. Quả táo. Ngoài ra, không giống như Linux mở, Mac OS X là phần mềm độc quyền, tức là. có lệnh cấm phân phối miễn phí, thực hiện các thay đổi, v.v. Mac OS đầu tiên xuất hiện vào năm 1984, sớm hơn nhiều so với sự xuất hiện của Windows. Công ty táo muốn Macintosh được giới thiệu như một chiếc máy tính "dành cho tất cả mọi người". Bản thân thuật ngữ "Mac OS" không thực sự tồn tại cho đến khi nó được sử dụng chính thức vào giữa những năm 1990. Thuật ngữ này kể từ đó đã được áp dụng cho tất cả các phiên bản của hệ điều hành Macintosh như một cách thuận tiện để phân biệt chúng trong bối cảnh các hệ điều hành khác. Mac OS chỉ có thể được cài đặt trên máy tính Macintosh do Apple sản xuất. Những chiếc máy tính này, không giống như những chiếc PC mà chúng ta quen thuộc, có kiến ​​trúc khép kín, tức là bản thân những chiếc máy tính này chỉ được lắp ráp bởi Apple.

CHƯƠNG 4. Phân tích các hệ điều hành hiện đại

Dữ liệu thực tế.

So sánh các hệ điều hành là một quá trình tốn nhiều công sức. Kết quả công việc được thể hiện trong bảng (Bảng số 1).

Tất cả các hệ điều hành (Windows XP, Windows Vista, Windows Seven, Linux, Mac OS) đều được đánh giá theo một số thông số:

  1. sự an toàn,
  1. giao diện,
  2. giá.

Bảng 1

Windows XP

Windows Vista

Windows 7

Linux

hệ điều hành Mac

Sự an toàn

Nếu không cài đặt bản cập nhật và

bản vá - thứ không có khả năng tự vệ nhất

Hệ thống truy cập Internet.

Mục tiêu ngon nhất cho

nhiều loại virus và những thứ khác

phần mềm độc hại.

Cải thiện an ninh

sử dụng các chương trình bổ sung, nhưng

còn lại mục tiêu chính cho phần mềm độc hại.

Giống như các phiên bản Windows trước, nó cần được cập nhật liên tục.

Linux an toàn hơn

hệ thống hơn Windows.

Ví dụ: Ubuntu, bởi -

theo mặc định, thậm chí không tạo

tài khoản quản trị viên, trong đó

là mục tiêu thiết yếu

cho phần mềm độc hại.

Bé nhỏ

Sự phổ biến của Linux

dẫn đến tin tặc

ít chú ý đến cô ấy hơn

chú ý hơn trên Windows.

Sự tách biệt rõ ràng giữa hệ thống và

tập tin tùy chỉnh cho

an toàn tối đa.

trong trường hợp này

quyền tập tin bị bỏ qua

người dùng.

Giao diện

Thiếu tính nhất quán về giao diện.

Không có quy tắc rõ ràng như họ nên làm

nhìn điều khiển

vô tư

ứng dụng - mọi thứ đều nằm trong tay bạn

các nhà phát triển ứng dụng.

Không có tác dụng bình thường

khi chuyển đổi giữa các cửa sổ

và cách gấp của chúng. Những thứ tồn tại -

Tôi muốn tắt nó sau 5 giờ

phút.

Công cụ tìm kiếm lỗi thời

các tập tin. Nó chỉ có thể được cải thiện

ứng dụng bên thứ ba,

ví dụ - Máy tính để bàn của Google

Tìm kiếm.

Giao diện quá tải Đã thay đổi

một số quy định

các thành phần trong Panel

sự quản lý.

Hiệu ứng trong suốt,

hoạt hình làm cho nó dễ dàng hơn

điều hướng công việc của bạn và

chuyển đổi giữa các chương trình.

Tìm kiếm nhanh các tập tin bằng cách

toàn bộ hệ thống.

Khả năng sử dụng

Dụng cụ

trong thanh bên trên

máy tính để bàn.

Một giao diện khá dễ chịu và không gây khó chịu.

Khả năng xem các cửa sổ ở dạng 3D, đẹp và tấm tiện lợi giúp việc sử dụng máy tính trở nên dễ dàng hơn.

Tìm kiếm rất nhanh giúp điều hướng tốt hơn thư viện tệp khổng lồ.

Khả năng sử dụng

Dụng cụ

trong thanh bên trên

máy tính để bàn.

Giao diện Gnome và KDE

tương tự như giao diện Mac

Hệ điều hành và Windows tương ứng.

Khả năng tích hợp

sử dụng một số

máy tính để bàn ảo.

Khả năng hòa nhập

tăng tốc đồ họa

có nhưng đòi hỏi

chia

điều chỉnh.

Giao diện rõ ràng, gọn gàng và

hợp lý. Tốt đến nỗi nó

cố gắng tạo lại nó trên người khác

hệ điều hành sử dụng chủ đề

thiết kế và các chương trình đặc biệt.

Hiệu ứng trong suốt và hoạt hình

rất hữu cơ và hữu ích

điều hướng hệ thống.

Sự sẵn có của máy tính để bàn ảo

kéo và thả

cửa sổ giữa các bảng.

Khả năng sử dụng các vật dụng.

Tìm kiếm tức thì đã có tại

gõ tìm kiếm các tập tin và nội dung của chúng bằng cách

trên toàn hệ thống và trên mạng cục bộ,

hỗ trợ các hoạt động logic và

các phép tính số học.

Hoạt động tuyệt vời cho không

bộ xử lý quá nhanh và

khối lượng hoạt động nhỏ

ký ức.

Yêu cầu vận hành nhiều hơn

dung lượng bộ nhớ và ổ đĩa.

Hệ thống cao

yêu cầu.

Yêu cầu hệ thống khá lớn làm phức tạp hoạt động của HĐH này trên các bộ xử lý cũ hơn.

Tốc độ hoạt động tuyệt vời.

Hoạt động tốt ngay cả trên các máy tính rất cũ do yêu cầu hệ thống thấp.

quỹ đầu tiên

được định hướng Windows và

Hệ điều hành Mac.

Năng suất cao vì

rằng phần mềm này rất

được tối ưu hóa tốt cho cụ thể

nền tảng.

Giá

2000-5000 chà.

2000-6000 chà.

3000-7000 chà.

3000-6000 chà.

Đã bao gồm trong giá của máy tính xách tay.

Kết luận Chương IV

  1. Microsoft Windows XP

Rất có thể bạn đã rất quen thuộc với hệ thống này. Nếu bạn hài lòng với mọi thứ thì không cần phải thay đổi thói quen của mình. Năm năm cập nhật đã làm cho Windows XP trở nên an toàn nhất có thể, nhưng vẫn kém hơn so với cả Vista và Vista về mặt này.Seven và Linux và Mac OS X. Yêu cầu tài nguyên thấp khiến hệ thống này trở nên phù hợp nhất với các trò chơi trên máy tính cho đến khi DirectX 10 thống trị thế giới. Nó không đòi hỏi khắt khe và đáp ứng mọi nhu cầu cơ bản của người dùng nhưng Microsoft đang dần đẩy nó ra khỏi thị trường, nhường chỗ cho những sản phẩm sau này của mình.

  1. Microsoft Windows Vista

Bạn sẽ phải có Windows Vista nếu bạn mua một máy tính mới. Giao diện Windows Vista sống động hơn XP, điều này sẽ cho phép bạn giao tiếp thoải mái hơn với hệ thống trong công việc hàng ngày. Windows Vista chứa một số tính năng mới Công cụ hữu ích và nó an toàn hơn khi sử dụng trực tuyến. Tuy nhiên, nó không đáng giá cho việc nâng cấp phần mềm và giảm hiệu suất.

Windows Vista, thẳng thắn mà nói, không phải là một thành công, thậm chí bây giờ nó còn bị coi là một hệ điều hành “kém cỏi”, mà là một loại sản phẩm phụ, quá trình chuyển đổi từ XP sang Seven.

  1. Windows 7

Vào thời điểm Windows 7 ra mắt, hệ điều hành phổ biến nhất là Windows XP. Tuy nhiên, đã hơn tám năm trôi qua kể từ khi nó được phát hành và trong thời gian này, nhiều thiết bị và công nghệ mới đã xuất hiện yêu cầu hệ điều hành hỗ trợ. Sau sự ra đời của Windows Seven và việc cập nhật thiết bị cho người dùng, hệ thống nàyđã trở thành sự thay thế tốt cho Windows XP, vượt qua Windows Vista. Windows Seven là một sản phẩm rất thành công được nhiều người dùng yêu thích nhưng nó lại đòi hỏi nhiều tài nguyên hệ thống trên máy tính của bạn.

  1. Linux

Nếu bạn cảm thấy mệt mỏi với việc lo lắng về sự an toàn của dữ liệu trên máy tính và phải đối mặt với vô số phần mềm độc hại, bạn có thể dễ dàng dùng thử Linux. Đột nhiên anh ấy sẽ đáp ứng yêu cầu của bạn. Chỉ cần tìm đĩa khởi động của bạn. Các tùy chọn tùy chỉnh phong phú nhất làm cho các bản phân phối Linux trở thành một lựa chọn lý tưởng cho người dùng... có kiến ​​thức về Linux (lập trình viên). Đối với người dùng bình thường chỉ muốn làm việc trên máy tính thì hệ thống vẫn chưa đủ thân thiện.

  1. Apple Mac OS X

Mac OS có thể được gọi là hệ điều hành tốt nhất, nhưng nó có một nhược điểm rất lớn - để trở thành chủ sở hữu đáng tự hào của nó, bạn sẽ phải mua một chiếc máy tính xách tay Apple, và đây không phải là một thú vui rẻ tiền. Nếu máy tính Apple nằm trong ngân sách của bạn thì Macintosh là một lựa chọn tuyệt vời. Bạn sẽ nhận được công cụ đắc lực với hệ điều hành thân thiện và hữu dụng nhất cho đến nay.

Vì vậy, ngày nay, hệ điều hành Windows XP vẫn là lựa chọn tốt nhất.

PHẦN KẾT LUẬN

Vì vậy, hệ điều hành thực hiện các chức năng quản lý tính toán trong máy tính, phân phối tài nguyên hệ thống máy tính giữa các quy trình tính toán khác nhau và hình thành môi trường phần mềm trong đó các ứng dụng của người dùng được thực thi. Môi trường này được gọi là môi trường hoạt động. Điều sau nên được hiểu theo nghĩa là khi chương trình được khởi chạy, nó sẽ liên hệ với hệ điều hành với các yêu cầu thích hợp để thực hiện một số hành động hoặc chức năng nhất định. Hệ điều hành thực hiện các chức năng này bằng cách khởi chạy các mô-đun phần mềm hệ thống đặc biệt là một phần của nó.

Hiện nay, khoảng 90% máy tính cá nhân sử dụng hệ điều hành Windows, hệ điều hành này có nhiều ưu điểm và đã đẩy các đối thủ ra khỏi phân khúc thị trường này. Một lớp hệ điều hành rộng hơn được nhắm mục tiêu để sử dụng trên các máy chủ. Lớp hệ điều hành này bao gồm: dòng Unix, sự phát triển của Microsoft, các sản phẩm mạng của Novell và IBM Corporation.

Tài nguyên máy tính bao gồm: bộ xử lý, bộ nhớ, ổ đĩa, mạng truyền thông, máy in và các thiết bị khác. Chức năng của hệ điều hành là phân phối hợp lý các tài nguyên này giữa các tiến trình để đảm bảo hiệu quả tối đa máy tính hoạt động.

DANH SÁCH NGUỒN SỬ DỤNG

1. Gordeev A.V. Hệ điều hành: Sách giáo khoa cho các trường đại học, tái bản lần thứ 2. – St. Petersburg: Peter, 2005.

2. Kiến thức cơ bản về khoa học máy tính: Sách giáo khoa. trợ cấp / A.N. Morozevich, N.N. Govyadinova, V.G. Levashenko và những người khác; Được biên tập bởi A.N. Morozevich. – tái bản lần thứ 2, tái bản. – Mn.: Kiến thức mới, 2003.

3. Evsyukov V.V. Tin học kinh tế: Proc. hướng dẫn sử dụng - Tula: Nhà xuất bản "Graf và K", 2003.

Tin học trong kinh tế: Proc. hướng dẫn sử dụng / Ed. giáo sư LÀ.

Odintsova, Giáo sư A.N. Romanova. – M.: Sách giáo khoa đại học, 2008.

Mục "Máy tính và công nghệ thông tin trong hệ thống kỹ thuật, kinh tế, khoa học và giáo dục"

MỘT SỐ PHƯƠNG PHÁP NGHIÊN CỨU HIỆN ĐẠI
CÁC HỆ ĐIỀU HÀNH

Savelyev A.N. (Trung tâm Công nghệ thông tin MSTU)

Nhu cầu nghiên cứu các hệ điều hành (HĐH) hiện đại là do tầm quan trọng của việc lựa chọn và ứng dụng chúng trong hệ thống máy tính cho bất kỳ mục đích nào. Hiện nay, có thể phân biệt một số hướng phát triển HĐH, bao gồm: HĐH máy tính để bàn (OS đa năng), HĐH mạng, HĐH nhúng, v.v. Tìm hiểu về từng loại HĐH bao gồm việc tiếp thu các kỹ năng liên quan trong các khía cạnh chính của việc sử dụng chúng, bao gồm cài đặt, cấu hình và nâng cấp trong suốt vòng đời của chúng.

Vòng đời của hệ điều hành máy tính để bàn ngày nay là khoảng 5 năm và chủ yếu được quyết định bởi sự thay đổi về thế hệ phần mềm ứng dụng (software) và tuổi thọ sử dụng của các loại máy tính tương ứng. Vòng đời của hệ điều hành mạng khó xác định hơn vì nó phụ thuộc vào nhiều yếu tố, bao gồm khả năng hệ điều hành thích ứng với nhu cầu hỗ trợ các dịch vụ mới và tuân thủ các tiêu chuẩn mới được áp dụng. Ví dụ: bạn có thể theo dõi sự phát triển của vòng đời của các hệ điều hành mạng chính của Novell:

Bảng 1.

hệ điều hành Bắt đầu Kết thúc Đề nghị thay thế Vòng đời
NetWare 3.11 1992 01.1999 NetWare3.2 (kể từ 02.1998) hơn 6 năm
NetWare 3.12 12.1993 05.2000 NetWare3.2 (kể từ 02.1998) 6 năm 2 tháng
NetWare 4.1 11.1994 05.2000 NetWare 5 (kể từ 09.1998) 5 năm 6 tháng
NetWare 4.11 08.1996 03.2001 NetWare 4.2 (01.1999) 4 năm 7 tháng

Lưu ý: Dữ liệu lấy từ nguồn Novell; Sự kết thúc của vòng đời đồng nghĩa với việc nhà sản xuất ngừng hỗ trợ chính thức hệ điều hành.
Vì vậy, chúng ta có thể kết luận rằng vòng đời của hệ điều hành mạng đang giảm dần. Nói về hệ điều hành nhúng, cần lưu ý rằng vòng đời của chúng chủ yếu được xác định bởi tuổi thọ sử dụng của thiết bị mà chúng điều khiển (đặc biệt, máy tính trên xe ô tô khách được hệ điều hành điều khiển trong suốt thời gian sử dụng của nó).

Trong điều kiện như vậy, việc nghiên cứu các hệ điều hành hiện đại là rất khó, vì khi quá trình đào tạo hoàn tất, một số trong số chúng đã ngừng hoạt động và một số đang bước vào giai đoạn vận hành cuối cùng. Điều này có nghĩa là việc tiếp thu các kỹ năng về hệ điều hành cụ thể không thể thành công nếu không nghiên cứu các nguyên tắc tổ chức và kiến ​​trúc của hệ điều hành. Kiến thức về các tiêu chuẩn công nghiệp làm cơ sở cho các hệ điều hành hiện đại cũng rất quan trọng. Đối với các kỹ sư phát triển trong tương lai, việc nghiên cứu các cơ chế bên trong của HĐH và đối với các loại người dùng khác nhau - nghiên cứu các đặc tính kinh tế và tiêu dùng của HĐH là rất hữu ích.

Một số lượng lớn hệ điều hành dành cho các ứng dụng khác nhau tồn tại và được sử dụng thành công trên thị trường, bao gồm dòng hệ điều hành Microsoft Windows, Novell NetWare, IBM OS/2, cũng như một số lượng lớn các loại hệ điều hành khác nhau. Họ UNIX. Tất cả chúng, ở mức độ này hay mức độ khác, đều liên quan đến một trong các hướng phát triển HĐH và do đó có thể được sử dụng làm cơ sở để xây dựng quy trình giáo dục.