Phần mềm hệ thống là gì?
Phần mềm hệ thống là một chương trình được thiết kế để vận hành phần cứng của máy tính và các ứng dụng, cũng như quản lý các tài nguyên máy tính như bộ nhớ, vi xử lý, và các thiết bị. Nó còn cung cấp một nền tảng để chạy phần mềm ứng dụng, và phần mềm hệ thống thường được tích hợp cùng hệ điều hành của máy tính.
Có nhiều loại phần mềm hệ thống khác nhau, bao gồm Windows, Linux, macOS, BSD… Mỗi loại phần mềm hệ thống có những đặc điểm độc đáo riêng.
Ví dụ, Windows XP được thiết kế cho các sản phẩm Microsoft, trong khi Ubuntu thì được thiết ké cho các ứng dụng GNU/Linux.
Phần mềm hệ thống đảm nhiệm nhiều tác vụ khác nhau, bao gồm điều khiển CPU, bộ nhớ, màn hình, chuột, bàn phím, các ổ đĩa, CD-ROM, máy in… Phần mềm hệ thống hoạt động trong mối quan hệ mật thiết với hệ điều hành, vốn là thứ vận hành máy tính. Toàn bộ máy tính có thể bị lỗi nếu phần mềm hệ thống không hoạt động đúng chức năng. Do đó tốc độ cao là một tính năng thiết yếu của phần mềm hệ thống.
Tính linh hoạt của phần mềm hệ thống được xác định bởi số lượng chương trình khác nhau mà nó có thể chạy được. Một ví dụ dễ hiểu là Microsoft Windows. Hàng trăm ứng dụng chạy trên Windows, từ các trò chơi, trình biên tập video, ghi âm, xử lý ảnh… Hầu hết các ứng dụng này đều miễn phí, nhưng một số có trả phí tùy thuộc phiên bản bạn tải về để sử dụng.
Khả năng kiểm soát của một phần mềm hệ thống được xác định bởi mức độ khó của việc thay đổi các thiết lập và cấu hình. Nhiều hệ thống hiện đại có giao diện người dùng khá thân thiện, cho phép người dùng dễ dàng thay đổi mọi thứ theo ý muốn. Tuy nhiên, nếu thiết kế hệ thống đòi hỏi những kỹ năng cao hơn, người mới có thể cần sự trợ giúp từ bên ngoài để làm được những thứ chưa rõ.
Mối quan hệ giữa phần mềm hệ thống với hệ thống được xác định bởi khả năng tiếp cận của nó.
Nếu phần mềm hệ thống nằm riêng biệt, đó là một hệ thống độc lập. Có nghĩa là nó không kết nối với hệ thống và không thể truy xuất bất kỳ tập tin nào lưu trữ trên hệ thống.
Ngược lại, một hệ thống phụ thuộc nằm ngay bên trong máy tính. Các hệ thống phụ thuộc đòi hỏi ít không gian hơn so với các hệ thống độc lập.
Phần mềm hệ thống là tối quan trọng nhằm đảm bảo hệ thống vận hành đúng ý muốn người dùng. Và một số loại phần mềm hệ thống phổ biến nhất chính là hệ điều hành, driver thiết bị, phần mềm trung gian, phần mềm tiện ích, và các trình biên dịch ngôn ngữ lập trình.
Hệ điều hành là loại phần mềm hệ thống quan trọng nhất. Một hệ điều hành là một phần mềm kiểm soát cách phần cứng hoạt động, có nghĩa là nó quản lý bộ nhớ, các tiến trình, cũng như toàn bộ phần mềm và phần cứng của máy tính.
Mọi hệ điều hành đều có những ưu và nhược điểm nhất định, từ đơn giản đến phức tạp. Ví dụ, Windows 10 rất giống Windows 8.1, nhưng có những cải tiến đáng kể. Ngoài ra, bạn có thể cài đặt các chương trình phần mềm bổ trung và các add-on để tăng cường trải nghiệm của mình.
Driver thiết bị là các chương trình siêu nhỏ, cho phép máy tính tương tác với các thiết bị phần cứng như máy in, máy quét, và bàn phím. Nếu không có driver thiết bị, phần cứng bạn kết nối đến máy tính sẽ không hoạt động như mong đợi. Ví dụ, nếu không có driver thiết bị, máy in sẽ không hoạt động. Ngoài các nhà sản xuất thiết bị thường cung cấp cho người dùng hầu hết driver của các thiết bị, thì Microsoft cũng cung cấp một số driver phổ biến mà phần đông người dùng sẽ cần.
Firmware là một loại phần mềm nhúng vào trong một thiết bị phần cứng. Nó kiểm soát thiết bị và thực hiện các chức năng cơ bản của chúng. Firmware thường được lưu trữ trên bộ nhớ chỉ đọc (ROM), có nghĩa là nó không thể bị chỉnh sửa hoặc xóa bỏ. Tuy nhiên, một số thiết bị có firmware có thể cập nhật được. Các bản cập nhật firmware có thể được tải về từ website của nhà sản xuất hoặc cài đặt từ đĩa CD hoặc USB.
BIOS (basic input/output system) là một firmware hoạt động khi máy tính khởi động. Nó tiến hành một bài tự kiểm tra khi bật nguồn (POST) và khởi tạo máy tính trước khi nạp hệ điều hành. BIOS được lưu trong chip ROM trên bo mạch chủ.
UEFI (unified extensible firmware interface) là một loại firmware mới hơn, cung cấp nhiều tính năng hơn BIOS. UEFI được thiết kế để không phục thuộc nền tảng nào và có thể được dùng với nhiều hệ điều hành khác nhau. UEFI còn hỗ trợ ổ đĩa khởi động lớn hơn BIOS và có thể khởi động từ các thiết bị với ổ đĩa 2TB hoặc hơn.
Ngôn ngữ lập trình giống như ngôn ngữ của con người ở chỗ chúng được dùng để truyền đạt hướng dẫn đến máy tính. Tuy nhiên, không như ngôn ngữ con người, ngôn ngữ lập trình được thiết kế để được đọc và hiểu bởi máy tính, không phải con người. Đó là lý do cần có trình biên dịch ngôn ngữ lập trình.
Đó là những chương trình chuyển mã viết bởi một ngôn ngữ lập trình sang ngôn ngữ lập trình khác. Trình biên dịch này có thể hữu dụng khi bạn muốn lấy mã viết ở một ngôn ngữ và chạy nó trên một máy khác chỉ hiểu ngôn ngữ khác mà thôi. Nó chuyển mã từ một ngôn ngữ cũ hơn sang ngôn ngữ mới hơn, giúp việc bảo trì mã nguồn trở nên dễ dàng hơn.
Chương trình tiện ích là các chương trình giúp bảo trì và tối ưu hiệu suất máy tính.
Ví dụ về chương trình tiện ích bao gồm các trình quản lý tập tin, trình quét virus, và trình khử phân mảnh ổ đĩa.
Các chương trình tiện ích thường được tích hợp với hệ điều hành hoặc có thể được tải về từ internet.
Có rất nhiều phần mềm ứng dụng, mỗi phần mềm lại được thiết kế cho một mục đích chuyên biệt. Một vài ví dụ phổ biến bao gồm các trình xử lý văn bản, bảng tính, và thuyết trình. Mỗi loại phần mềm ứng dụng có các tính năng và chức năng riêng, do đó chúng sẽ phù hợp với các tác vụ cụ thể hơn những phần mềm khác.
Ví dụ:
Phần mềm ứng dụng là loại phần mềm được thiết kế để thực hiện một tác vụ cụ thể. Những tính năng chính của phần mềm hệ thống bao gồm khả năng thực hiện những thứ sau:
Các tính năng khác bao gồm khả năng:
Phần mềm hệ thống đảm nhiệm việc quản lý tài nguyên máy tính và cung cấp các dịch vụ tiêu chuẩn cho các chương trình máy tính.
Phần mềm hệ thống bao gồm hệ điều hành và nhiều chương trình ứng dụng giúp quản lý tài nguyên máy tính và cung cấp các dịch vụ tiêu chuẩn cho các chương trình máy tính – đây là một tính năng phổ biến của phần mềm hệ thống.
Hệ điều hành quản lý tài nguyên máy tính, như bộ nhớ, vi xử lý, và các thiết bị I/O. Chúng còn cung cấp nền tảng để chạy các chương trình ứng dụng. Hệ điều hành phổ biến nhất hiện nay là Microsoft Windows, chạy trên các máy tính cá nhân, máy chủ, và nhiều thiết bị di động. Các hệ điều hành phổ biến khác bao gồm macOS của Apple, Android của Google, và Linux.
Hệ điều hành xử lý nhiều tác vụ, từ quản lý tài nguyên hệ thống cho đến cung cấp giao diện người dùng.
Hệ điều hành đảm nhiệm quản lý nhiều tiến trình chạy trên một hệ thống máy tính, bao gồm quản lý vi xử lý, bộ nhớ, và các tài nguyên phần cứng khác. Hệ điều hành đảm bảo mỗi tiến trình có đủ tài nguyên cần thiết để chạy mượt mà. Ngoài ra, hệ điều hành còn quản lý quá trình giao tiếp giữa các tiến trình, cũng như cung cấp nhiều dịch vụ khác.
Hệ điều hành tiến hành nhiều tác vụ, một trong số đó là quản lý tập tin. Tác vụ này bao gồm tạo, xóa, và di chuyển tập tin. Hệ điều hành theo dõi nơi lưu trữ tập tin và truy xuất chúng khi cần. Quản lý tập tin là rất cần thiết đối với bất kỳ hệ điều hành nào, bởi nó đảm bảo các tập tin được lưu trữ an toàn và đúng cách. Khi tập tin được quản lý hiệu quả thì việc sử dụng máy tính sẽ trở nên dễ dàng hơn.
Quản lý bộ nhớ
Hệ điều hành còn đảm nhiệm quản lý bộ nhớ. Nhiệm vụ này bao gồm phân phối bộ nhớ cho các chương trình khác nhau, theo dõi những phần bộ nhớ đang được dùng bởi các chương trình, và lấy lại bộ nhớ khi không cần nữa.
Quản lý bộ nhớ là một phần quan trọng trong công việc của hệ điều hành và phải được thực hiện cẩn thận nhằm đảm bảo hệ thống vận hành mượt mà. Nếu bộ nhớ được quản lý đúng cách, các chương trình có thể tương tác với nhau, và hệ thống sẽ ổn định.
Nhiều kỹ thuật có thể được sử dụng để quản lý bộ nhớ, và hệ điều hành thường sẽ sử dụng kết hợp các kỹ thuật với nhau, bao gồm phân trang (paging), phân đoạn (segmentation), và bộ nhớ đệm (caching).
Quản lý bộ nhớ là công việc phức tạp, và hệ điều hành phải làm sao cân bằng được nhu cầu của tất cả các chương trình chạy trên hệ thống. Bằng cách kết hợp các kỹ thuật khác nhau, hệ điều hành có thể đảm bảo bộ nhớ được sử dụng hiệu quả và chạy mượt mà.
Quản lý thiết bị là tiến trình phân bổ và thu hồi tài nguyên đến và từ các thiết bị kết nối đến hệ thống máy tính. Hệ điều hành quản lý các thiết bị kết nối đến và đảm bảo chúng có thể vận hành mượt mà. Quản lý thiết bị bao gồm phát hiện các thiết bị mới, cài đặt driver, và cấu hình thiết bị. Nó còn bao gồm duy trì một danh sách các thiết bị kết nối đến hệ thống và trạng thái hiện tại của chúng.
Có 3 chế độ hoạt động của hệ thống máy tính, bao gồm:
Hệ điều hành của máy tính cá nhân được thiết kế để cung cấp giao diện người dùng và nền tảng để chạy các ứng dụng. Các hệ điều hành phổ biến nhất cho máy tính cá nhân là Microsoft Windows, Apple macOS, và Linux. Mỗi hệ điều hành có điểm mạnh và điểm yếu, và người dùng thường chọn một dựa trên sở thích và nhu cầu.