Phần mềm hệ thống là gì? Thông tin về phần mềm hệ thống
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.
Những đặc điểm quan trọng của phần mềm hệ thống
Tốc độ cao
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
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
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ệ với hệ thống
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.
Các loại phần mềm hệ thống
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
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ị
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
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 và UEFI
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.
Trình biên dịch ngôn ngữ lập trình
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
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ác loại phần mềm ứng dụng
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ụ:
- Các trình xử lý văn bản được thiết kế để tạo và chỉnh sửa các tài liệu văn bản, trong khi các chương trình bảng tính thì phù hợp hơn để làm việc với dữ liệu số học.
- Phần mềm thuyết trình thường được dùng để tạo slide show hoặc các bài thuyết trình, nhưng vẫn có thể dùng cho các mục đích khác, như tạo bảng biểu.
Tính năng của phần mềm ứng dụng
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:
- Mở, lưu và chỉnh sửa tập tin
- Tiến hành tính toán
- Tạo và định dạng tài liệu
Các tính năng khác bao gồm khả năng:
- Gửi và nhận email
- Duyệt web
- Tạo và chỉnh sửa ảnh số
Tính năng của phần mềm hệ thố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
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 làm gì?
- Hệ điều hành là phần mềm quan trọng bậc nhất trên máy tính.
- Nó quản lý bộ nhớ và các tiến trình cùng mọi phần mềm lẫn phần cứng của máy tính. Nó còn cho phép bạn giao tiếp với máy tính mà không cần biết lập trình.
- Không có hệ điều hành, máy tính sẽ vô dụng, và không thể chạy bất kỳ chương trình hay truy xuất bất kỳ dữ liệu nào. Hệ điều hành giúp máy tính có nhiều chức năng hơn.
Những tác vụ thực hiện bởi hệ điều hành
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.
- Quản lý tài nguyên là một trong những tác vụ quan trọng nhất của hệ điều hành. Quản lý tài nguyên bao gồm quản lý CPU, bộ nhớ, và các thiết bị I/O. Hệ điều hành phải đảm bảo các tiến trình có thể truy xuất tài nguyên cần thiết, đồng thời ngăn chặn xung đột giữa các tiến trình.
- Một tác vụ quan trọng khác của hệ điều hành là cung cấp giao diện người dùng. Giao diện này có thể là giao diện đồ họa (GUI) hoặc giao diện dòng lệnh (CLI). Hệ điều hành tiếp nhận dữ liệu người dùng nhập vào và cung cấp kết quả xuất ra.
Quản lý tiến trình
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.
Quản lý tập tin
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).
- Paging là kỹ thuật mà bộ nhớ được chia thành nhiều trang nhỏ, mỗi chương trình được giao một trang riêng.
- Segmentation là kỹ thuật trong đó bộ nhớ được chia thành nhiều đoạn, mỗi chương trình được giao một đoạn riêng.
- Caching là kỹ thuật mà những dữ liệu thường dùng được lưu trữ trong một vùng cụ thể của bộ nhớ gọi là bộ nhớ đệm.
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ị
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ác tác vụ quan trọng khác
- Hệ điều hành còn đóng vai trò quan trọng trong bảo mật, đảm bảo chỉ người dùng được phép mới có thể truy xuất tài nguyên hệ thống
- Và hệ điều hành cung cấp khả năng kết nối mạng, cho phép các máy tính tương tác với nhau.
Khác biệt giữa phần mềm hệ thống và phần mềm ứng dụng
- Phần mềm hệ thống được thiết kế để cung cấp nền tảng cho các chương trình phần mềm khác hoạt động. Phần mềm ứng dụng là loại phần mềm được thiết kế để tiến hành một tác vụ hoặc các chức năng cụ thể.
- Phần mềm hệ thống thường được cài đặt trên máy tính trước khi các phần mềm ứng dụng được cài, và phần mềm ứng dụng thường được cài đặt sau khi phần mềm hệ thống được cài.
Các chế độ hoạt động của hệ thống máy tính
Có 3 chế độ hoạt động của hệ thống máy tính, bao gồm:
- Chế độ người dùng đơn: chỉ một người dùng có thể truy cập hệ thống một lúc. Đây là chế độ phổ biến nhất trên các máy tính cá nhân.
- Chế độ đa người dùng: nhiều người dùng có thể truy cập hệ thống cùng lúc. Đây là chế độ phổ biến nhất trên các máy chủ.
- Chế độ phân phối: hệ thống trải rộng trên nhiều máy, mỗi máy chạy một phần của hệ thống. Đây là chế độ phổ biến nhất đối với các hệ thống lớn, như mạng doanh nghiệp
Hệ điều hành của máy tính cá nhân
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.