Là tập hợp các chương trình trợ giúp người sử dụng quản lý, khai thác các nguồn lực của máy tính một cách hiệu lực và hiệu quả.
Nguồn lực của máy tính bao gồm: bộ xử lý trung tâm, bộ nhớ trong, thiết bị nhớ và máy in. Những nguồn lực đó khá đắt và việc sử dụng chúng không dễ do đó cần phải quản lý chúng một cách cẩn trọng.
Phần mềm hệ thống hoạt động như là một bộ phận kết nối giữa máy tính với các chương trình ứng dụng mà ngưởi sử dụng muốn thực hiện.
Phần mềm hệ thống bao gồm các phần mềm sau:
Hệ điều hành: là tập hợp các chương trình quản lý và kiểm soát các nguồn lực của máy tính: CPU, bộ nhớ chính và phụ, ngoại vi. Nhiệm vụ chủ yếu của hệ điều hành là lập lịch các JOB, phân phối bộ nhớ, liên lạc với thao tác viên…
Hệ điều hành bao gồm nhóm các chương trình sau:
- Chương trình quản lý bộ nhớ, bộ nhớ đĩa, thời gian CPU và ngoại vi. - Các chương trình quản lý JOB: chọn, khởi động, thực hiện và kết thúc các JOBS đã được lập lịch cần xử lý.
- Các chương trình quản lý vào/ ra: tương tác với các thiết bị vào/ ra, trao đổi dữ liệu giữa CPU với các thiết bị vào/ ra với bộ nhớ phụ.
Các chương trình của hệ điều hành được chia làm 2 phần: - Phần thường trú (Resident Programs)
- Phần trao đổi (Transient Programs)
Phần cứng Phần mềm hệ thống Phần mềm ứng dụng CPU Bộ nhớ chính Bộ nhớ phụ Ngoại vi Quản trị dự án Soạn thỏa Bảng tính Ứng dụng khác
Hệ điều hành thường dùng hiện nay là hệ điều hành đa chương (Multiprogramming hay Multitasking) theo phương thức phân chia thời gian (Time Slicing). Đối với hệ điều hành này các chương trình ứng dụng được lưu chữ trong máy tính như sau:
CPU ALU
Resident supervisory Transitent operating system Application program 1 Data for program 1
Application program 2 Data for program 2 Application program 3 ………….
Phần mềm tiện ích: là các phần mềm thiết kế để xử lý các nhiệm vụ thường gặp như: sắp xếp, tìm dữ liệu, lập danh sách…
Phần mềm phát triển: bao gồm các chương trình trợ giúp để tạo ra các phần mềm cho máy tính:
- Các ngôn ngữ lập trình: mỗi ngôn ngữ lập trình bao gồm các bộ phận:
• Chương trình dịch ngôn ngữ (Compiler) có chức năng dịch các chương trình viết trong ngôn ngữ lập trình sang ngôn ngữ viết trong ngôn ngữ máy.
• Thư viện chương trình (Library Programs) là tập hợp các thủ tục hay được dùng trong các chương trình khác.
• Chương trình liên kết (Linkage Editor) được dùng để kết nối các chương trình đã được dịch với các thủ tục từ thư viện để tạo thành một chương trình thực hiện được EXE (Executable) đối với máy tính.
Mã nguồn (Source code) Lập trình viên sử dụng ngôn ngữ lập trình bậc cao Tạo Trình dịch (Complier) Mã đích (Object code) Chuyển đổi
Ngôn ngữ lập trình đã trải qua 5 thế hệ: + Ngôn ngữ máy.
+ Hợp ngữ ASSEMBLY.
+ Ngôn ngữ thế hệ 3 như: Pascal, Basic, C…
+ Ngôn ngữ thế hệ 4: ngôn ngữ phi thủ tục (Non-Procedural) như: SQL, FOXPRO, PARADOX…
+ Ngôn ngữ thế hệ 5: Access…
- Các công cụ lập trình có sự trợ giúp của máy tính (CASE – Computer Aided Software Engineering): Giúp tự động hóa lập trình.
- Lập trình hướng đối tượng (OPP – Object Oriented Programming): Tư tưởng cơ bản là các đối tượng (Dữ liệu + các chương trình xử lý dữ liệu ấy).
Phần mềm quản trị mạng máy tính và truyền thông: các chương trình có nhiệm vụ quản lý truy nhập, dẫn dắt thiết bị, quản lý giao vận…như Novel Netware, Windows NT…
Phần mềm quản trị cơ sở dữ liệu: các phần mềm quản trị các tệp và cơ sở dữ liệu như Oracle, Bbase IV, Cobol, Foxpro, Paradox, Microsoft Access…