Định nghĩa phần mềm máy tính. Phần mềm là gì

Và các tài liệu chương trình cần thiết cho hoạt động của các chương trình này.

Ngoài ra - một bộ chương trình, thủ tục và quy tắc, cũng như tài liệu liên quan đến hoạt động hệ thống xử lý dữ liệu.

Phần mềm là một trong những loại phần mềm hệ thống máy tính, cùng với hỗ trợ kỹ thuật (phần cứng), toán học, thông tin, ngôn ngữ, tổ chức và phương pháp luận

Phân loại phần mềm

Phân loại phần mềm

Phần mềm thường được chia thành mang tính hệ thống , áp dụng nhạc cụ, và theo phương thức phân phối và sử dụng trênđộc quyền/đóng cửa, mở miễn phí . Phần mềm miễn phí có thể được phân phối, cài đặt và sử dụng trên bất kỳ máy tính nào ở nhà, trong văn phòng, trường học, trường đại học cũng như các tổ chức thương mại và chính phủ mà không bị hạn chế.

Phần mềm hệ thốnglà một tập hợp các chương trình cung cấp khả năng quản lý hiệu quả các thành phầnhệ thống máy tính, chẳng hạn như CPU , ĐẬP, Thiết bị vào/ra, phần cứng mạng, hoạt động như một “giao diện đa lớp” với một bên là phần cứng và một bên là ứng dụng người dùng. không giốngphần mềm ứng dụng, hệ thống không giải quyết các vấn đề ứng dụng cụ thể mà chỉ đảm bảo hoạt động của các chương trình khác, quản lý tài nguyên phần cứng của hệ thống máy tính, v.v.

hệ điều hành

hệ điều hành- một tập hợp các chương trình hệ thống giúp mở rộng khả năng của hệ thống máy tính, cũng như cung cấp khả năng quản lý tài nguyên, tải và thực thi các chương trình ứng dụng cũng như tương tác với người dùng. Trong hầu hết các hệ thống máy tính, HĐH là phần chính, quan trọng nhất (và đôi khi là duy nhất) của phần mềm hệ thống.

Khái niệm hệ điều hành

Có hai nhóm định nghĩa hệ điều hành: “bộ chương trình điều khiển phần cứng” và “bộ chương trình điều khiển các chương trình khác”. Cả hai đều có ý nghĩa kỹ thuật chính xác của riêng mình, tuy nhiên, điều này chỉ trở nên rõ ràng khi xem xét chi tiết hơn câu hỏi tại sao lại cần đến hệ điều hành.

Có những ứng dụng điện toán mà hệ điều hành không cần thiết. Ví dụ, tích hợp sẵnmáy vi tínhNgày nay chúng được tìm thấy trong nhiều thiết bị gia dụng, ô tô (đôi khi có hàng chục chiếc), điện thoại di động, v.v. Thường thì một máy tính như vậy liên tục chỉ chạy một chương trình, chương trình này sẽ khởi động khi được bật. Và các máy chơi game đơn giản - cũng là những máy vi tính chuyên dụng - có thể hoạt động mà không cần hệ điều hành, khởi chạy khi được bật, một chương trình được ghi trên “hộp mực” được lắp vào thiết bị hoặcđĩa CD . Tuy nhiên, một số máy vi tính và máy chơi game vẫn chạy hệ điều hành đặc biệt của riêng chúng. Trong hầu hết các trường hợp, đây là những hệ thống giống UNIX (điều sau đặc biệt đúng với thiết bị chuyển mạch khả trình: tường lửa, bộ định tuyến).

Ý tưởng cơ bản về hệ điều hành

Tiền thân của HĐH nên được coi là các chương trình tiện ích ( máy xúc và màn hình), cũng như các thư viện được sử dụng thường xuyên chương trình con , bắt đầu được phát triển với sự ra đời của phổ quátmáy tính thế hệ 1(cuối thập niên 1940 ). Các tiện ích giảm thiểu thao tác vật lý của người vận hành đối với thiết bị và các thư viện giúp tránh lập trình lặp lại các hành động giống nhau (thực hiện các hoạt động Vào/ra , tính toán các hàm toán học, v.v.).

Vào những năm 1950 - 60 Những ý tưởng chính xác định chức năng của HĐH đã được hình thành và triển khai: chế độ hàng loạt, chia sẻ thời gian và đa nhiệm, phân chia quyền lực, thời gian thực, cấu trúc tệp vàhệ thống tập tin.

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

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ị vào/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ưổ cứng, đĩa CD v.v.), được tổ chức theo cách này hay cách kháchệ thống tập tin.

§ Giao diện người dùng.

§ Hoạt động mạng, hỗ trợ ngăn xếp giao thức.

Chức năng bổ sung:

§ Thực hiện các nhiệm vụ song song hoặc giả song song (đa nhiệm).

§ Tương tác giữa các tiến trình: trao đổi dữ liệu, đồng bộ hóa lẫn nhau.

§ Bảo vệ chính hệ thống cũng như dữ liệu và chương trình của người dùng khỏi các hành động của người dùng (độc hại hoặc không biết) hoặc các ứng dụng.

§ Phân biệt quyền truy cập và chế độ hoạt động nhiều người dùng ( xác thực, ủy quyền).

Các chương trình tích hợp

Các chương trình cài sẵn hoặc phần sụn - Đây là những chương trình được “cài đặt” vào các thiết bị điện tử số.

Tiện ích

Tiện ích tính thiết thực hoặc dụng cụ) - các chương trình được thiết kế để giải quyết một phạm vi hẹp các nhiệm vụ phụ trợ.

Đôi khi các tiện ích được gán cho một lớpphần mềm dịch vụ.

Tiện ích được sử dụng cho:

§ Giám sát các chỉ số cảm biến và hiệu suất thiết bị - giám sát nhiệt độ bộ xử lý và bộ điều hợp video; đọc S.M.A. R.T. ổ cứng;

§ Quản lý thông số thiết bị - giới hạn tốc độ quay tối đa của ổ CD; thay đổi tốc độ quay của quạt.

§ Các chỉ số giám sát - kiểm tra tính toàn vẹn tham chiếu; tính chính xác của việc ghi dữ liệu.

§ Khả năng mở rộng - định dạng và/hoặc phân vùng lại đĩa trong khi lưu dữ liệu, xóa mà không có khả năng phục hồi.

Các loại tiện ích

§ Tiện ích đĩa

¨ Chống phân mảnh

¨ Kiểm tra đĩa - tìm kiếm các đĩa được ghi sai hoặc bị hỏng theo nhiều cách khác nhau các tập tin và các phần đĩa cũng như việc loại bỏ chúng sau đó để sử dụng hiệu quả dung lượng đĩa.

¨ Disk Cleanup - xóa các tập tin tạm thời, các tập tin không cần thiết, dọn sạch Thùng rác.

¨ Phân vùng đĩa là việc phân chia một đĩa thành các đĩa logic, có thể có các hệ thống tệp khác nhau và được hệ điều hành coi là một số đĩa khác nhau.

¨ Hỗ trợ- tạo bản sao lưu của toàn bộ đĩa và các tệp riêng lẻ, cũng như khôi phục từ các bản sao này.

¨ Nén đĩa - nén thông tin trên đĩa để tăng dung lượng ổ cứng.

§ Tiện ích đăng ký

§ Tiện ích giám sát thiết bị

§ Kiểm tra thiết bị

§ nhà lắp ráp - các chương trình máy tính chuyển đổi một chương trình ở dạng văn bản nguồn thànhHợp ngữ V. lệnh máyở dạng mã đối tượng.

§ dịch giả - chương trình hoặc phương tiện kỹ thuật phát sóng chương trình.

§ trình biên dịch - Chương trình dịch văn bản chương trình bằng ngôn ngữ cấp cao sang chương trình tương đương bằng ngôn ngữ máy.

§ thông dịch viên - Các chương trình (đôi khi là phần cứng) phân tích các lệnh hoặc câu lệnh chương trình và thực thi chúng ngay lập tức

§ trình liên kết (trình soạn thảo liên kết) - các chương trình thực hiện thành phần - lấy một hoặc nhiều mô-đun đối tượng làm đầu vào và tập hợp một mô-đun thực thi từ chúng.

§ tiền xử lý mã nguồn là các chương trình máy tính nhận đầu vào và tạo đầu vào cho một chương trình khác, chẳng hạn như trình biên dịch.

§ Trình gỡ lỗi là một mô-đun môi trường phát triển hoặc một ứng dụng riêng biệt được thiết kế để tìm lỗi trong chương trình.

§ soạn thảo văn bản- các chương trình máy tính được thiết kế để tạo và sửa đổi các tệp văn bản, cũng như xem chúng trên màn hình, in chúng, tìm kiếm các đoạn văn bản, v.v.

§ chuyênbiên tập nguồn- trình soạn thảo văn bản để tạo và chỉnh sửa mã nguồn chương trình. Trình chỉnh sửa nguồn chuyên dụng có thể là một ứng dụng độc lập hoặc được tích hợp vào môi trường phát triển tích hợp (IDE).

§ thư viện thường lệ- tập hợp các quy trình hoặc đối tượng được sử dụng để phát triển phần mềm.

§ Trình soạn thảo GUI

Hệ thống Quản lý Dữ liệu

Hệ thống quản lý cơ sở dữ liệu (DBMS) là một chương trình chuyên biệt (thường là một tập hợp các chương trình) được thiết kế để tổ chức và duy trì cơ sở dữ liệu.

Vì hệ thống quản lý cơ sở dữ liệu không phải là thành phần thiết yếu của hệ thống máy tính nên chúng thường không được phân loại là phần mềm hệ thống. Thông thường, DBMS chỉ thực hiện chức năng dịch vụ trong quá trình vận hành các loại chương trình khác (máy chủ web, máy chủ ứng dụng), vì vậy chúng không phải lúc nào cũng được phân loại là phần mềm ứng dụng. Do đó, DBMS đôi khi được gọi là phần mềm trung gian ( phần mềm trung gian)

Các chức năng cơ bản của DBMS

§ quản lý dữ liệu trong bộ nhớ ngoài (trên đĩa);

§ quản lý dữ liệu trongbộ nhớ truy cập tạm thờisử dụng bộ đệm đĩa;

§ ghi nhật ký thay đổi, hỗ trợphục hồi cơ sở dữ liệu sau những thất bại;

§ hỗ trợ các ngôn ngữ cơ sở dữ liệu (ngôn ngữ định nghĩa dữ liệu, ngôn ngữ thao tác dữ liệu).

Phân loại DBMS theo phương thức truy cập cơ sở dữ liệu

§ Máy chủ tập tin

Trong các DBMS máy chủ tệp, các tệp dữ liệu được đặt tập trung trên máy chủ tập tin . Hạt nhân DBMS được đặt trên mỗi máy khách. Dữ liệu được truy cập thông qua mạng cục bộ. Việc đồng bộ hóa việc đọc và cập nhật được thực hiện bằng cách sử dụng khóa tập tin. Ưu điểm của kiến ​​trúc này là tải CPU trên máy chủ thấp nhưng nhược điểm là tải cao trên mạng cục bộ.

Hiện tại, DBMS máy chủ tệp được coi là lỗi thời.

Ví dụ: Microsoft truy cập, Nghịch lý , dBase .

§ Máy khách-máy chủ

Các DBMS như vậy bao gồm phần máy khách (là một phần của chương trình ứng dụng) và phần máy chủ.

Ví dụ: Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, Oracle, PostgreSQL, MySQL, Linter, MDBS.

§ Được xây dựng trong

Cơ sở dữ liệu nhúng - thư viện , cho phép bạn lưu trữ lượng lớn dữ liệu trên máy cục bộ một cách thống nhất.

Ví dụ: OpenEdge, SQLite, BerkeleyDB , một trong những lựa chọn Chim lửa , một trong những lựa chọn MySQL, Sav Zigzag, Microsoft SQL Server Compact, LINTER.

Chương trình ứng dụnghoặcứng dụng - chương trình , được thiết kế để thực hiện các tác vụ người dùng cụ thể và được thiết kế để tương tác trực tiếp với người dùng. Phần lớncác hệ điều hànhchương trình ứng dụng không thể truy cập tài nguyên máy tính trực tiếp nhưng tương tác với thiết bị, v.v. thông qua hệ điều hành. Cũng bằng ngôn ngữ đơn giản - các chương trình phụ trợ.

Phần mềm ứng dụng bao gồmchương trình máy tính, được viết cho người dùng hoặc chính người dùng, để giao cho máy tính một công việc cụ thể. Các chương trình xử lý đơn đặt hàng hoặc tạo danh sách gửi thư là những ví dụ về phần mềm ứng dụng. Lập trình viên viết phần mềm ứng dụng được gọi là lập trình viên ứng dụng.

Phân loại

Kiểu

§ phần mềm mục đích chung

§ Trình soạn thảo văn bản

§ Hệ thống bố trí máy tính

§ Biên tập đồ họa

§ Cơ sở dữ liệu

§ phần mềm chuyên dụng

§ Những hệ thống chuyên gia

§ Ứng dụng đa phương tiện (Trình phát media , các chương trình tạo/chỉnh sửa video, âm thanh, Chuyển văn bản thành giọng nói, v.v.)

§ Hệ thống siêu văn bản ( Từ điển điện tử, bách khoa toàn thư, hệ thống tham khảo)

§ Hệ thống quản lý nội dung

§ phần mềm cấp độ chuyên nghiệp

§ CAD

§ AWS

§ ACS

§ APCS

§ ASNI

§ Hệ thống thông tin địa lý

§ Hệ thống thanh toán

§ CRM

Theo lĩnh vực ứng dụng

§ Phần mềm ứng dụng dành cho doanh nghiệp, tổ chức. Ví dụ: quản lý tài chính, quan hệ khách hàng, chuỗi cung ứng. Loại này cũng bao gồm phần mềm phòng ban dành cho các doanh nghiệp nhỏ cũng như phần mềm dành cho các phòng ban riêng lẻ trong một doanh nghiệp lớn. (Ví dụ: Quản lý chi phí đi lại, Bộ phận trợ giúp CNTT)

§ Phần mềm cung cấp cho người dùng quyền truy cập vào các thiết bị máy tính.

§ Phần mềm cơ sở hạ tầng doanh nghiệp. Cung cấp các khả năng chung để hỗ trợ phần mềm doanh nghiệp. Chúng bao gồm hệ thống quản lý cơ sở dữ liệu, máy chủ email, quản lý mạng và bảo mật.

§ Phần mềm nhân viên thông tin. Phục vụ nhu cầu của người dùng cá nhân trong việc tạo lập và quản lý thông tin. Đây thường là việc quản lý thời gian, nguồn lực, tài liệu, ví dụ,soạn thảo văn bản, bảng tính, chương trình khách hàng choE-mailvà blog, hệ thống thông tin cá nhân và biên tập viên truyền thông.

§ Phần mềm truy cập nội dung. Được sử dụng để truy cập các chương trình hoặc tài nguyên nhất định mà không cần chỉnh sửa chúng (tuy nhiên, nó cũng có thể bao gồm chức năng chỉnh sửa). Dành cho nhóm hoặc cá nhân người dùng nội dung số. Đây là, ví dụ, trình phát đa phương tiện, trình duyệt web , trình duyệt phụ trợ, v.v.

§ Phần mềm giáo dục có nội dung gần giống với phần mềm truyền thông và giải trí, nhưng không giống như vậy, nó có các yêu cầu rõ ràng để kiểm tra kiến ​​thức của người dùng và theo dõi tiến trình học một tài liệu cụ thể. Nhiều chương trình giáo dục bao gồm các tính năng chia sẻ và cộng tác giữa nhiều bên liên quan.

§ Phần mềm mô phỏng. Được sử dụng để mô phỏng các hệ thống vật lý hoặc trừu tượng cho nghiên cứu khoa học, giáo dục hoặc giải trí.

§ Các công cụ phần mềm trong lĩnh vực truyền thông. Phục vụ nhu cầu của người dùng sản xuất tài nguyên phương tiện truyền thông in ấn hoặc điện tử cho người tiêu dùng khác, trên cơ sở thương mại hoặc giáo dục. Đây là những chương trình in bố cục , xử lý đa phương tiện, Trình soạn thảo HTML , biên tập viên hoạt hình kỹ thuật số, âm thanh kỹ thuật số, v.v.

§ Các chương trình ứng dụng trong thiết kế và xây dựng. Được sử dụng trong việc phát triển phần cứng (“Phần cứng”) và phần mềm. Che phủthiết kế tự động(thiết kế có sự trợ giúp của máy tính - CAD), kỹ thuật có sự trợ giúp của máy tính (CAE), biên tập và biên soạn các ngôn ngữ lập trình, chương trìnhtích hợp(Môi trường phát triển tích hợp), giao diện lập trình ứng dụng (Giao diện lập trình viên ứng dụng).

Phần mềm độc quyền( Tiếng Anh phần mềm độc quyền; từđộc quyền - riêng tư, được cấp bằng sáng chế, độc quyền http://ru. wikipedia. org/wiki/%D0%9F%D1%80%D0%BE%D0%BF%D1%80%D0%B8%D0%B5%D1%82%D0%B0%D1%80%D0%BD%D0 %BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_ %D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5 - cite_note-slov-0 phần mềm - phần mềm) -phần mềm, là tài sản riêng của tác giả hoặc người giữ bản quyền và không đáp ứngtiêu chí phần mềm miễn phí(khả dụngmã nguồn mởkhông đủ).Người giữ bản quyềnphần mềm độc quyền giữ lại sự độc quyền sử dụng, sao chép và sửa đổi nó, toàn bộ hoặc ở những khía cạnh quan trọng. Thông thường, phần mềm độc quyền đề cập đến bất kỳ phần mềm không tự do nào, bao gồm cả bán tự do.

Phần mềm độc quyền cho phép sử dụng, phân phối và sửa đổi hầu như không giới hạn (bao gồm phân phối các phiên bản sửa đổi) của phần mềm cho mục đích phi thương mại.

Phần mềm miễn phí

Phần mềm miễn phí (OSS)- phạm vi rộng giải pháp phần mềm, trong đó Quyền của người sử dụng(“tự do”) để cài đặt không giới hạn, ra mắt cũng như sử dụng, nghiên cứu, phân phối và sửa đổi miễn phíb(sự cải tiến) http://ru. wikipedia. org/wiki/%D0%A1%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0 %BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81 %D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5 - cite_note-gnu. tổ chức-0 các chương trình được bảo vệ hợp phápbản quyền với sự giúp đỡ giấy phép miễn phí. Phần mềm nguồn mở thường được cung cấp miễn phí nhưng có thể đi kèm với một mức giá, ví dụ như dưới hình thức tính phí cho đĩa CD hoặc phương tiện khác. Để phần mềm phân phối được miễn phí, người nhận phải có quyền truy cập vào mã nguồn của nó, từ đó có thể lấy được các tệp thực thi, với giấy phép thích hợp.

Phong trào SPO bắt đầu vào năm 1983, khi Richard Stallman đã hình thành ý tưởng về sự cần thiết phải trao quyền tự do cho phần mềm ( Tiếng Anh phần mềm tự do) người dùng. Năm 1985, Stallman thành lậpQuỹ phần mềm miễn phíđể cung cấp một cơ cấu tổ chức nhằm thúc đẩy ý tưởng của bạn.

Các mô hình kinh doanh phần mềm nguồn mở thường dựa trên nguyên tắc trao quyền, chẳng hạn như các ứng dụng mới, đào tạo, tích hợp, tùy chỉnh hoặc chứng nhận. Đồng thời, một số mô hình kinh doanh vận hành phần mềm độc quyền không tương thích với phần mềm miễn phí, đặc biệt là những mô hình buộc người dùng phải trả tiền mua giấy phép để sử dụng hợp pháp sản phẩm phần mềm.

§ Chương trình có thể được sử dụng tự do cho bất kỳ mục đích nào (“ không có tự do»).

§ Bạn có thể nghiên cứu cách thức hoạt động của chương trình và điều chỉnh nó cho phù hợp với mục đích của mình (“ tự do đầu tiên"). Điều kiện cho điều này là sự sẵn có của mã nguồn của chương trình.

§ Bạn có thể tự do phân phối các bản sao của chương trình để giúp đỡ bạn bè (“ tự do thứ hai»).

§ Chương trình có thể được cải tiến một cách tự do và phiên bản cải tiến của nó được xuất bản - nhằm mang lại lợi ích cho toàn bộ cộng đồng (" tự do thứ ba"). Điều kiện cho quyền tự do thứ ba này là sự sẵn có của mã nguồn của chương trình và khả năng thực hiện các sửa đổi và chỉnh sửa đối với nó.

Khả năng sửa lỗi và cải thiện chương trình là tính năng quan trọng nhất của phần mềm nguồn mở và miễn phí, điều này đơn giản là không thể thực hiện được đối với người dùng các chương trình độc quyền đã đóng, ngay cả khi phát hiện ra lỗi và khiếm khuyết trong đó, theo quy luật, số lượng trong đó, không ai biết đến.

Chỉ một chương trình đáp ứng cả bốn nguyên tắc này mới có thể được coi là một chương trình miễn phí, nghĩa là, được đảm bảo mở và sẵn sàng cho việc hiện đại hóa và sửa chữa các lỗi và khiếm khuyết cũng như không có hạn chế về việc sử dụng và phân phối. Cần phải nhấn mạnh rằng những nguyên tắc này chỉ quy định khả dụng mã nguồn của các chương trình để sử dụng chung, phê bình và cải tiến cũng như các quyền của người dùng đã nhận được mã nguồn hoặc mã thực thi của chương trình, nhưng không quy định dưới bất kỳ hình thức nào các mối quan hệ tiền tệ liên quan đến việc phân phối chương trình, bao gồm Họ cũng không có nghĩa là nó miễn phí.. Trong các văn bản tiếng Anh, sự nhầm lẫn thường nảy sinh ở đây, vì từ “miễn phí” trong tiếng Anh không chỉ có nghĩa là “miễn phí” mà còn có nghĩa là “miễn phí” và thường được sử dụng liên quan đếnphần mềm miễn phí, được phân phối miễn phí nhưng cộng đồng không thể sửa đổi vì mã nguồn của nó chưa được xuất bản. Phần mềm miễn phí như vậy không hề miễn phí. Ngược lại, phần mềm miễn phí có thể được phân phối (và được phân phối) bằng cách tính phí, nhưng đồng thời tuân thủ các tiêu chí tự do: mỗi người dùng được trao quyền lấy mã nguồn của chương trình mà không phải trả thêm phí (ngoại trừ giá của phương tiện truyền thông), thay đổi chúng và phân phối chúng hơn nữa. Bất kỳ phần mềm nào không cấp cho người dùng quyền này đều là phần mềm độc quyền, bất kể bất kỳ điều khoản nào khác.

Truy cập mở tới mã nguồn của chương trình là một tính năng chính của phần mềm miễn phí, do đó, phần mềm được đề xuất muộn hơn một chút.Eric RaymondĐối với một số người, thuật ngữ "phần mềm nguồn mở" (phần mềm nguồn mở) dường như thậm chí còn thành công hơn trong việc biểu thị hiện tượng này so với đề xuất ban đầu người bán hàng “phần mềm miễn phí”. Stallman nhấn mạnh vào sự khác biệt giữa hai khái niệm này, vì từ “nguồn mở” chỉ biểu thị sự hiện diện của một chứ không phải quan trọng nhất (mặc dù cần thiết cho việc thực hiện hai trong số bốn quyền tự do), theo quan điểm của ông, về các đặc tính vốn có. trong phần mềm miễn phí - khả năng xem mã nguồn.

Mở phần mềm( Tiếng Anh phần mềm mã nguồn mở) - phần mềmvới mở mã nguồn . Mã nguồn của các chương trình như vậy có sẵn để xem, nghiên cứu và thay đổi, cho phép người dùng tham gia hoàn thiệnchương trình mở , sử dụng mã để tạo chương trình mới và sửa lỗi trong đó - thông qua việc mượn mã nguồn, nếu khả năng tương thích của giấy phép cho phép hoặc thông qua nghiên cứu các thuật toán, cấu trúc dữ liệu, công nghệ, kỹ thuật và giao diện được sử dụng (vì mã nguồn có thể bổ sung đáng kể cho tài liệu, và trong trường hợp không có tài liệu này, chính nó sẽ được dùng làm tài liệu).

Thuật ngữ mã nguồn mở(Tiếng Anh) phần mềm mã nguồn mở) được tạo ra cùng với định nghĩa vào năm 1998 Eric Raymond và Bruce Perens, người lập luận rằng thuật ngữ phần mềm miễn phí (phần mềm miễn phí ) không rõ ràng trong tiếng Anh và gây nhầm lẫn cho nhiều doanh nhân.

Đại đa số phần mềm mã nguồn mởđồng thời miễn phí. Các định nghĩa về nguồn mở và phần mềm miễn phí không hoàn toàn giống nhau nhưng chúng rất gần nhau và hầu hết các giấy phép đều tuân thủ cả hai.

Sự khác biệt giữa phong trào phần mềm nguồn mở và phần mềm miễn phí chủ yếu nằm ở các ưu tiên. Những người ủng hộ thuật ngữ “nguồn mở” tập trung vào tính hiệu quả của nguồn mở như một phương pháp phát triển, hiện đại hóa và duy trì các chương trình. Những người ủng hộ thuật ngữ “phần mềm miễn phí” tin rằng quyền phân phối, sửa đổi và nghiên cứu chương trình miễn phí là ưu điểm chính của phần mềm nguồn mở miễn phí.

Có những chương trình có mã nguồn mở nhưng không miễn phí, chẳng hạn như UnRAR, một trình giải nén các kho lưu trữ RAR. Mã nguồn của nó được cung cấp công khai nhưng giấy phép cấm sử dụng nó để tạo các bộ lưu trữ tương thích với RAR. Ngoài ra còn có cả một lớp chương trình được gọi là phần mềm nguồn mở thương mại hoặc Open Core, sử dụng thuật ngữ "Nguồn mở" để chỉ phần mềm độc quyền.

Mã nguồn của các chương trình nguồn mở được phát hành dưới dạng phạm vi công cộng, hoặc theo các điều khoản của giấy phép “miễn phí” - chẳng hạn như Giấy phép Công cộng GNU hoặc Giấy phép BSD. Giấy phép miễn phí cho phép bạn sử dụng mã nguồn của chương trình theo nhu cầu của mình với những hạn chế tối thiểu không mâu thuẫn với định nghĩa OpenSource. org. Hạn chế như vậy có thể là yêu cầu đề cập đến những người sáng tạo trước đó hoặc yêu cầu duy trì đặc tính mở trong quá trình phân phối tiếp theo chương trình nguồn mở tương tự hoặc đã được sửa đổi (copyleft). Trong một số trường hợp (ví dụ: Apache hoặc FreeBSD), những hạn chế này rất nhỏ, trong những trường hợp khác (ví dụ: Giấy phép Công cộng GNU), chỉ cần phân phối phần mềm cùng với mã nguồn và văn bản của giấy phép mà không cần thay đổi nó là đủ.

Phần mềm (phần mềm) là một tập hợp các chương trình đặc biệt cho phép bạn tổ chức xử lý thông tin bằng PC.

Vì không có phần mềm nên PC không thể hoạt động đượcvề nguyên tắc nó là một phần không thể thiếubất kỳ PC nào và đi kèm với phần cứng của nó(phần cứng).

Chương trình– mô tả đầy đủ và chính xác về chuỗi hành động (hướng dẫn) của máy tính để xử lý thông tin, được viết bằng ngôn ngữ mà máy tính có thể hiểu được.

Phần mềm - một bộ chương trình đặc biệt hỗ trợ quá trình chuẩn bị các nhiệm vụ để thực hiện trên máy tính và tổ chức việc thực hiện chúng qua máy, cũng như các quy trình, mô tả, hướng dẫn và quy tắc, cùng với tất cả tài liệu liên quan đến các thành phần này, được sử dụng trong hoạt động của hệ thống máy tính.

Xử lý thông tin và điều khiển hoạt động của máy tính chương trình, không phải thiết bị.

Những cải tiến phần mềm mới từ lâu đã thống trị sự phát triển phần cứng mới. Chi phí của một gói phần mềm vượt quá (đôi khi vài lần) chi phí của một máy tính thuộc loại phù hợp.

Để sử dụng máy tính có hiệu quả cần phải có sự tương ứng giữa trình độ phát triển của công nghệ máy tính và phần mềm. Một mặt, phần mềm xác định chức năng của máy tính. Mặt khác, việc cài đặt phần mềm cụ thể có thể bị hạn chế bởi đặc điểm thiết kế của máy tính.

Mục đích của phần mềm:

  • đảm bảo chức năng của máy tính;
  • tạo điều kiện cho người dùng tương tác với máy tính;
  • rút ngắn chu trình từ đặt nhiệm vụ đến đạt được kết quả;
  • nâng cao hiệu quả sử dụng tài nguyên máy tính.

Phần mềm cho phép bạn:

  • cải thiện việc tổ chức hệ thống máy tính để tối đa hóa việc sử dụng các khả năng của nó;
  • tăng năng suất và chất lượng công việc của người dùng;
  • điều chỉnh chương trình người dùng phù hợp với tài nguyên của một hệ thống máy tính cụ thể;
  • mở rộng phần mềm hệ thống máy tính.

Việc sử dụng tối đa khả năng của hệ thống máy tính đạt được bằng cách Trước hết, bằng cách phân bổ cho mỗi người dùng hoặc nhiệm vụ các nguồn lực cần thiết tối thiểu để có giải pháp kịp thời và chất lượng cao cho các vấn đề của họ, Thứ hai, do kết nối một số lượng lớn người dùng (kể cả người dùng ở xa) với tài nguyên của hệ thống máy tính, thứ ba, bằng cách phân phối lại tài nguyên giữa những người dùng và tác vụ khác nhau tùy thuộc vào trạng thái hệ thống và yêu cầu xử lý.

Năng suất và chất lượng công việc của người dùng tăng lên nhờ tự động hóa các quy trình tính toán và thiết kế, được thực hiện bằng nhiều công cụ lập trình (ngôn ngữ thuật toán, gói phần mềm ứng dụng) và các thiết bị đầu vào-đầu ra thuận tiện.

Khả năng thích ứng của chương trình người dùng với tài nguyên của một hệ thống máy tính cụ thể được đảm bảo bởi thực tế là hệ điều hành có chứa một phương tiện phục vụ nhiều loại cấu hình máy. Ngoài ra, hệ điều hành cho phép bạn tạo và dễ dàng cấu hình các chương trình hiện có trên nhiều thiết bị đầu vào/đầu ra khác nhau.

Việc mở rộng phần mềm hiện có yêu cầu các khả năng sau:

  • do người dùng tạo ra các chương trình và gói của riêng mình để thực hiện cả các tác vụ tính toán cụ thể và quy trình điều khiển cho từng thiết bị và toàn bộ hệ thống máy tính;
  • bổ sung phần mềm hiện có bằng các chương trình cho phép bạn mở rộng khả năng của hệ điều hành, làm việc với các loại thiết bị bên ngoài mới, hệ thống máy tính (máy tính) mới, trong các lĩnh vực ứng dụng mới.

Phần mềm tập trung vào việc sử dụng hệ thống máy tính trong các lĩnh vực hoạt động khác nhau và phải cung cấp giải pháp kịp thời, đầy đủ cho các nhiệm vụ được giao. Điều này đòi hỏi phải tuân thủ một số Yêu cầu phát triển các thành phần phần mềm , những cái chính là:

  • tính mô-đun;
  • khả năng mở rộng và phát triển;
  • độ tin cậy;
  • khả năng dự đoán;
  • tiện lợi và công thái học;
  • Uyển chuyển;
  • hiệu quả;
  • khả năng tương thích.

Nguyên tắc cơ bản của phát triển phần mềm hiện đại:

  • tính linh hoạt tham số;
  • dư thừa chức năng;
  • tính chọn lọc chức năng.

Các chương trình có thể được cài đặt trên máy tính theo hai cách:

  • Cài đặt từ bộ phân phối
  • Sao chép đơn giản

Cấp độ đầu tiên (thấp nhất) Hệ thống phân cấp được chiếm bởi phần mềm bên trong của PC, được lưu trữ trong bộ nhớ vĩnh viễn của nó. Với sự trợ giúp của nó, PC thực hiện các chức năng cơ bản được xác định bởi cấu trúc phần cứng. Các chương trình phần mềm nội bộ hoạt động trực tiếp với các mô-đun phần cứng máy tính. Do đó, chúng được kết nối về mặt chức năng với chúng và khi thay thế một mô-đun phần cứng nhất định, cần phải thay thế chương trình phần mềm bên trong được thiết kế để hoạt động với nó.

Các chương trình phục vụ các mô-đun phần cứng được gọi là chương trình trình điều khiển hoặc trình điều khiển. Chúng cho phép, khi thay thế hoặc kết nối một mô-đun phần cứng mới, không thực hiện các thay đổi trong các chương trình PC khác mà chỉ thay đổi trình điều khiển của mô-đun phần cứng tương ứng.

Phần mềm nội bộ là giao diện phần mềm đảm bảo khả năng kết nối của máy tính với tất cả các chương trình khác. Việc truy cập vào các chương trình phần mềm nội bộ chỉ được thực hiện thông qua hệ thống ngắt phần mềm.

Phần mềm nội bộ thực hiện các chức năng chính sau:

  • quản lý một loạt các thiết bị ngoại vi;
  • tiến hành kiểm tra nhanh khả năng hoạt động của PC khi nó được bật;
  • cài đặt các mô-đun phần cứng riêng lẻ về trạng thái ban đầu;
  • tải các chương trình hệ điều hành.

Các thành phần chính của phần mềm nội bộ là Trình điều khiển I/O, chương trình tự kiểm tra và chương trình khởi động. Phần mềm bên trong một mặt tương tác với các mô-đun chức năng của PC, mặt khác thực hiện giao diện phần mềm của hệ điều hành.

Chương trình tự kiểm tra được thiết kế để kiểm tra các mô-đun chức năng của PC, tức là thiết lập các mạch máy tính về trạng thái ban đầu bằng cách tải các thanh ghi chương trình với thông tin cần thiết. Khi kiểm tra các mô-đun chức năng riêng lẻ của PC, lỗi có thể được phát hiện trong đó. Chương trình tự kiểm tra sẽ thông báo cho người dùng về các lỗi được phát hiện bằng thông báo trên màn hình và/hoặc tín hiệu âm thanh.

Nếu phát hiện thấy lỗi, bạn có thể tiếp tục kiểm tra máy tính của mình bằng các chương trình chẩn đoán được tải từ đĩa mềm. Nếu lỗi không làm gián đoạn chức năng của PC thì người dùng có thể tùy ý bỏ qua. Nếu một mô-đun chức năng mới được đưa vào PC thì chương trình tự kiểm tra cho mô-đun này sẽ được thêm vào chương trình tự kiểm tra chung.

Sau khi hoàn tất quá trình tự kiểm tra thành công, PC đã sẵn sàng hoạt động. Điều khiển được chuyển tới chương trình khởi động thông qua ngắt phần mềm. Chương trình này được thiết kế để đọc các thành phần khác của hệ điều hành vào RAM. Nếu thao tác này thành công, quyền điều khiển sẽ được chuyển sang chương trình vừa đọc.

Trình điều khiển I/O được sử dụng để phục vụ các thiết bị ngoại vi của PC. Các chương trình này hoạt động trực tiếp với bộ điều khiển tương ứng, cho phép người dùng không biết tổ chức vật lý của một thiết bị cụ thể và chỉ làm việc với các lệnh trình điều khiển thực hiện bảo trì thiết bị đó.

Các trình điều khiển có các tính năng sau:

  • cấu trúc mở, cho phép bạn thêm trình điều khiển mới vào hệ thống;
  • tính linh hoạt trong việc tổ chức quyền truy cập vào trình điều khiển thông qua các ngắt phần mềm, cho phép bạn không sửa chúng trong các vùng bộ nhớ được xác định nghiêm ngặt và thay thế chúng một cách nhanh chóng và dễ dàng;
  • một cấu trúc có thể tùy chỉnh nhắm mục tiêu các chương trình trình điều khiển đến một loại thiết bị ngoại vi cụ thể, các tham số của chúng được đặt trong các bảng đặc biệt. Trình điều khiển được cấu hình cho các thiết bị ngoại vi cụ thể bằng cách thay đổi giá trị trong các bảng này;
  • vị trí thường trú trong RAM, cho phép sử dụng trình điều khiển bất kỳ lúc nào từ bất kỳ chương trình nào.

Các chương trình driver chính bao gồm: driver đĩa cứng, driver card video, driver bàn phím, driver thiết bị in, driver hệ thống (cài đặt hẹn giờ, kiểm tra cấu hình máy tính, xác định dung lượng RAM), driver bổ sung (driver truyền thông, v.v.).

Hệ điều hành chiếm cấp độ thứ hai (trung bình) hệ thống phân cấp phần mềm. Nó quản lý tài nguyên hệ thống máy tính, bao gồm RAM và bộ nhớ ngoài, thiết bị đầu vào/đầu ra và chương trình người dùng. Hệ điều hành tương tác với máy tính thông qua giao diện phần mềm bên trong. Điều này giúp các PC có phần cứng khác nhau có thể hoạt động trên cùng một hệ điều hành.

HĐH là một tập hợp các chương trình điều khiển PC.

Thành phần của phần mềm được xác định bởi phạm vi nhiệm vụ mà người dùng mong muốn giải quyết bằng máy tính.

Theo mục đích, tức là Tùy thuộc vào loại vấn đề đang được giải quyết, phần mềm thường được chia thành hai nhóm chính: Chung (cơ bản) và ứng dụng.

Phân loại phần mềm theo chức năng

Sơ đồ phân loại phần mềm chung

– một bộ chương trình đảm bảo chức năng của máy tính; một tập hợp các chương trình tổ chức quá trình tính toán và quản lý tài nguyên máy tính.

– một bộ công cụ phần mềm cho phép bạn phát triển chương trình.

– một tập hợp các chương trình được thiết kế để giải quyết các vấn đề thuộc nhiều lĩnh vực hoạt động khác nhau của con người.

Hàng ngày, khi chúng ta khởi động máy tính cá nhân, máy tính xách tay hoặc điện thoại, chúng ta phải đối mặt với các chương trình phục vụ chúng ta. Hơn nữa, nếu bạn không nghĩ về điều đó, có vẻ như việc sử dụng phần mềm bắt đầu từ thời điểm chúng ta khởi chạy phím tắt trên màn hình. Tuy nhiên, đây không phải là trường hợp.

Căn cứ

Hãy cùng tìm hiểu xem phần mềm là gì. Về bản chất, nó là một tập hợp các lệnh và mã chương trình được bao bọc trong một lớp vỏ đồ họa - một giao diện. Nhưng giao diện có thể khác nhau và phụ thuộc trực tiếp vào ứng dụng cũng như mục đích của nó.

Bất kỳ phần mềm nào cũng bao gồm các tệp chỉ định các thủ tục và chức năng mà chương trình tuân theo trong quá trình thực thi.

Một trong những mô hình phần mềm đầu tiên được gọi là máy Turing. Năm 1935, Alan Turing đã xây dựng một mô hình toán học theo đó một số máy trừu tượng được cho là sẽ chuyển từ trạng thái này sang trạng thái khác bằng cách thực hiện các lệnh cơ bản từ một tập hợp cố định.

Hãy bắt đầu phân tích câu hỏi phần mềm là gì với cách phân loại của nó.

hệ điều hành

Ban đầu, các lớp phần mềm khác nhau có thể được phân biệt. Phần đầu tiên và cơ bản nhất nên được gọi là phần mềm hệ thống. Các giao diện, chương trình và mã không thể hoạt động trên máy tính hoặc thiết bị khác sử dụng bất kỳ môi trường phần mềm nào nếu không có chúng. Đây là phần mềm cần thiết nhất trong máy tính cá nhân của bạn.

Có hai phần phụ quan trọng trong lớp này:

  1. Phần mềm cơ bản. Nó bao gồm tất cả các loại hệ điều hành, bất kể chúng là chính thức hay vi phạm bản quyền, cho dù chúng chạy các ứng dụng có sẵn công khai hay 1-2 chương trình ứng dụng độc quyền mà môi trường phần mềm này được tạo ra. Nhóm này cũng bao gồm nhiều trình giả lập và máy ảo khác nhau cho phép bạn mô phỏng các môi trường phần mềm khác nhau.
  2. Một nhóm riêng là phần mềm dịch vụ. Đúng như tên gọi, nó được tạo ra để duy trì và bảo vệ hệ điều hành. Chúng bao gồm các công cụ tìm kiếm, phần mềm chống vi-rút cũng như các công cụ chẩn đoán và khắc phục sự cố cho PC của bạn.

Bản thân phần mềm hệ thống là tập hợp các chương trình và môi trường khác nhau được thiết kế để hỗ trợ hoạt động của máy tính cá nhân và mạng máy tính. Việc phát triển loại phần mềm này là một quá trình lâu dài và tốn nhiều công sức, vì chức năng của nơi làm việc sẽ phụ thuộc vào nó. Phần mềm hệ thống thực hiện các nhiệm vụ sau:

  • tạo môi trường cho hoạt động của các chương trình ứng dụng;
  • Hỗ trợ PC và mạng;
  • chẩn đoán và ngăn ngừa lỗi PC và mạng LAN;
  • thực hiện các hoạt động hỗ trợ bổ sung như lưu trữ, định dạng, chống phân mảnh và các hoạt động khác.

Dành cho máy tính

Một kiến ​​thức khác giúp chúng ta có cơ hội hiểu phần mềm là gì đó là hiểu biết về cách phát triển phần mềm. Đối với quá trình này, phần mềm công cụ được sử dụng, tức là một bộ phần mềm và phần cứng được sử dụng để viết và biên dịch mã hệ thống cho các tiện ích ứng dụng.

Trong phần mềm công cụ, có thể phân biệt ba nhóm nhỏ:

  • ngôn ngữ lập trình và hệ thống;
  • môi trường lập trình tích hợp;
  • các hệ thống phần mềm.

Có rất nhiều ngôn ngữ lập trình và tất cả chúng đều được chia thành các nhóm nhỏ dựa trên nguyên tắc định hướng - theo phạm vi các vấn đề của thành phẩm cần giải quyết.

Không thể không nói đôi lời về ngôn ngữ lập trình hướng máy là gì. Chúng được sử dụng để viết phần mềm không phải cho người dùng cuối mà để tạo mã chương trình hỗ trợ trực tiếp cho phần cứng. Những ngôn ngữ này cho phép tính đến kiến ​​​​trúc và nguyên tắc hoạt động độc đáo của một máy tính cụ thể hoặc, ví dụ, một máy làm việc trong nhà máy không chạy trong các hệ điều hành thông thường.

Đối với người dùng

Các ngôn ngữ lập trình độc lập với máy thực hiện chức năng viết mã chương trình, cũng như các chương trình ứng dụng cho các shell và hệ điều hành làm sẵn.

  • Ngôn ngữ lập trình hướng thủ tục là phần mềm chuyên dụng. Ví dụ - Pascal, Cơ bản. Những ngôn ngữ lập trình đơn giản này được sử dụng để viết các chương trình, chức năng và thủ tục ứng dụng cơ bản. Và cũng để mô tả các thuật toán để giải quyết vấn đề.
  • Ngôn ngữ hướng đến vấn đề - cho phép bạn giải quyết các vấn đề trong các lĩnh vực lập trình cụ thể hẹp hơn; ví dụ về chúng bao gồm Lisp, APL.
  • Ngôn ngữ hướng đối tượng là phương tiện hiện đại và thuận tiện hơn để tạo các ứng dụng ứng dụng và tạo ra nhiều loại phần mềm khác nhau cho người dùng cuối. Tính năng chính của chúng là khả năng tạo các thành phần ứng dụng làm sẵn, chẳng hạn như hộp thoại, trường để điền, nút. Để minh họa, chúng ta có thể đặt tên cho các ngôn ngữ như C++ và Visual Basic.

Những gì chúng tôi làm việc với

Lớp cuối cùng là phần mềm ứng dụng. Nếu bạn đọc kỹ bài viết, bạn hẳn đã đoán được rằng đây không gì khác chính là những chương trình, ứng dụng và trò chơi mà chúng ta xử lý trong cuộc sống hàng ngày. Nhưng ngay cả khái niệm đơn giản nhất này cũng được các chuyên gia chia thành các lớp con.

  1. Có lẽ loại ứng dụng phổ biến nhất là đa phương tiện. Đó là các chương trình phát video, âm thanh, trò chơi. Tất cả mọi thứ nhằm mục đích giải trí cho người dùng cuối. Như vậy, một trong những phát minh vĩ đại nhất của nhân loại đã biến từ một công cụ khoa học hữu ích thành một phương tiện giải trí cho đại chúng.
  2. Phần mềm truy xuất thông tin. Như bạn hiểu, đây là nhiều trình duyệt và ứng dụng khách công nghệ Internet khác nhau được thiết kế để nhận thông tin từ world wide web.
  3. Mục đích chung. Đây là những loại phần mềm được sử dụng trong cuộc sống hàng ngày chỉ vì nhu cầu cần thiết. Đó là các trình soạn thảo đồ họa và văn bản, dịch vụ email, cơ sở dữ liệu.
  4. Định hướng vấn đề. Ví dụ: hệ thống chuyên gia hoặc hệ thống hội nghị âm thanh và video.
  5. Môi trường phần mềm cấp độ chuyên nghiệp. Đó là hệ thống kế toán và sư phạm, hệ thống kiểm soát truy cập.

Một ví dụ tốt

Sau khi tìm hiểu phần mềm là gì, chúng ta hãy xem một số ví dụ thực tế về các chương trình và ứng dụng mà chúng ta có thể gặp trong đời thực.

  • Kế toán 1C. Một ví dụ nổi bật về phần mềm chuyên nghiệp dùng để làm việc với lĩnh vực kế toán, lĩnh vực pháp lý và nhiều lĩnh vực hỗ trợ, liên quan khác.
  • Từ Microsoft Office. Ví dụ dễ hiểu và dễ tiếp cận nhất về phần mềm có mục đích chung. Hầu hết mọi người trong đời đều đã sử dụng gói phần mềm này để viết sơ yếu lý lịch, bài luận hoặc báo cáo.
  • Truy cập Microsoft Office. Việc triển khai cơ sở dữ liệu đơn giản nhất, cũng là phần mềm có mục đích chung.
  • Mọi người đều đã nghe nói về thể loại đa phương tiện. Đây là Windows Media Player nổi tiếng, có khả năng phát cả file âm thanh và video.
  • Photoshop là một ví dụ khác về phần mềm có mục đích chung. Là một trình soạn thảo đồ họa chuyên nghiệp được sử dụng ở nhiều công ty in ấn, nó cũng thuộc môi trường phần mềm cấp độ chuyên nghiệp.
  • Nếu chúng ta nói về phần mềm đa năng, thì mỗi người đã khởi động máy tính ít nhất một lần đều gặp phải nó. Đây là Windows nổi tiếng.

Tất cả điều này là phần mềm rất phổ biến. Thật vô nghĩa khi đưa ra ví dụ về các chương trình khác. Ngày nay, khi ngay cả một đứa trẻ cũng có thể phát triển ứng dụng, mọi người dùng đều có thể tải xuống bất kỳ ứng dụng nào theo ý thích của mình để thay thế các thương hiệu nổi tiếng.

Cài đặt

Việc cài đặt phần mềm trong hầu hết các trường hợp sẽ không gây khó khăn cho người dùng bình thường. Hầu hết các ứng dụng chúng ta sử dụng trong cuộc sống hàng ngày đều đặc biệt nhắm đến người dùng chưa quen. Một mô-đun đặc biệt - trình cài đặt - được đưa vào chương trình đã hoàn thành.

Khi bạn đưa đĩa phần mềm vào ổ đĩa, trình cài đặt sẽ tự động khởi động. Bằng cách di chuyển qua các hộp thoại, bạn chọn đường dẫn trên ổ cứng nơi phần mềm sẽ được cài đặt. Nếu đây là phần mềm hỗ trợ cho hệ điều hành của bạn thì nó sẽ tự động được cài đặt vào thư mục được yêu cầu.

Một số phần mềm, chẳng hạn như phần mềm cần thiết để phát triển ứng dụng, không cần cài đặt. Phím tắt làm việc được khởi chạy trong thư mục chương trình, sau đó là công cụ phát triển.

Việc cài đặt phần mềm cho một số phần cứng PC, chẳng hạn như bo mạch chủ hoặc BIOS, có thể yêu cầu các kỹ năng đặc biệt và kiến ​​thức chuyên môn, vì vậy đừng ngần ngại gọi cho chuyên gia trong những trường hợp như vậy.

Sự sáng tạo

Quá trình phát triển phần mềm diễn ra trong nhiều giai đoạn.

  • Giai đoạn ban đầu là giai đoạn hình thành và thực hiện một ý tưởng. Tạo thiết kế của ứng dụng trong tương lai cũng như chức năng của nó.
  • Thử nghiệm Alpha là một quá trình thử nghiệm nội bộ. Nó và việc bổ sung bất kỳ chức năng nào được thực hiện trong một nhóm người hạn chế, thường là các nhà phát triển hoặc những người thân thiết với họ.
  • Thử nghiệm beta được thực hiện giữa những người tiêu dùng theo quyết định của nhà sản xuất. Đây là quá trình gỡ lỗi một chương trình.
  • Thả ứng viên. Một chương trình đã vượt qua tất cả các giai đoạn thử nghiệm, với các lỗi nghiêm trọng được tìm thấy và sửa chữa. Ứng dụng này gần như đã sẵn sàng để phát hành.
  • Và cuối cùng là việc phát hành. Sản phẩm đã sẵn sàng để phát hành và nhân rộng.
  • Giai đoạn cuối cùng, tiếp tục sau khi phát hành, là hỗ trợ phần mềm và bảo trì ứng dụng.

kết luận

Vì vậy, như bạn đã hiểu, việc phát triển và sử dụng phần mềm là một phần không thể tách rời trong cuộc sống hàng ngày của chúng ta. Có vẻ như trong khi thực hiện những thao tác đơn giản nhất trên máy tính cá nhân, hàng ngày chúng ta bắt gặp rất nhiều phần mềm, được tạo ra thông qua công việc miệt mài của các chuyên gia dành riêng cho người dùng. Việc phân loại các chương trình và ứng dụng quá rộng nên không thể nói chắc chắn bạn hiện đang làm việc với cái gì.

– Igor (Quản trị viên)

Hầu hết mọi người dùng đều đặt câu hỏi “phần mềm là gì”, vì vậy trong bài viết này tôi sẽ cố gắng trình bày một số nguyên tắc cơ bản bằng những từ đơn giản.

Ghi chú: Bài viết này dành cho người mới bắt đầu và người dùng thông thường, do đó không có nhiều chi tiết và tính năng kỹ thuật mà chỉ giải thích cơ bản dưới dạng đơn giản.

Nói một cách đơn giản thì phần mềm là gì?

Không phải tất cả các thiết bị điện tử đều có thể thực hiện được bất cứ điều gì có giá trị cho con người chỉ bằng cách cắm vào ổ cắm. Và gần với sự thật hơn một chút, ngày nay hầu hết mọi thiết bị điện tử đều vô dụng nếu không có mã máy đặc biệt, được gắn cứng trong quá trình sản xuất hoặc được người dùng cài đặt trong quá trình sử dụng. Do đó, trước tiên chúng ta sẽ xem xét định nghĩa chính xác của phần mềm là gì.

Phần mềm là một tập hợp các lệnh đặc biệt để điều khiển các thiết bị phần cứng, bằng cách cung cấp tín hiệu trực tiếp và thông qua phần mềm khác. Nói một cách đơn giản, đây là mọi thứ cho phép bạn nhập văn bản trong trình soạn thảo, chơi trò chơi, vẽ sơ đồ và làm mọi thứ có thể thực hiện bằng các thiết bị hiện có (phần cứng trong máy tính).

Ghi chú: Định nghĩa này rất đơn giản. Bạn có thể tìm thấy mô tả chi tiết hơn trong các tiêu chuẩn khác nhau. Tuy nhiên, ở hầu hết mỗi định nghĩa đều khác với những định nghĩa khác.

Điều đáng chú ý ngay là phần mềm thường được đánh đồng với các chương trình hoặc ứng dụng. Từ quan điểm của một số tiêu chuẩn, sự khác biệt có thể và thường liên quan nhất đến sự hiện diện của tài liệu vận hành (đối với phần mềm). Tuy nhiên, trong cuộc sống hàng ngày, sự so sánh như vậy được coi là không đáng kể và do đó những thuật ngữ này được coi là từ đồng nghĩa.

Về cơ bản, phần mềm được chia thành hai loại: 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ế để tương tác với các thiết bị, chẳng hạn như máy tính (cùng trình điều khiển), cũng như để đảm bảo hoạt động bình thường (ví dụ: các chương trình chống phân mảnh ổ đĩa và các chương trình khác). Các chương trình ứng dụng được thiết kế để giải quyết các vấn đề của người dùng. Ví dụ: gói văn phòng, trình soạn thảo đồ họa, v.v.

Đôi khi hệ điều hành cũng được phân biệt dù về bản chất nó cũng là phần mềm hệ thống. Chỉ là cách phân chia cuối cùng thuận tiện trong trường hợp cần chỉ ra rằng không thể sử dụng các chương trình ứng dụng và hệ thống khác nếu không có hệ điều hành.

Phần mềm cũng được phân chia theo các tiêu chí khác, chẳng hạn như phương pháp phân phối thương mại hoặc miễn phí, việc sử dụng mạng (cần hay không), tính mở hoặc đóng của mã nguồn, sự khác biệt về phiên bản (thường là do tính sẵn có của chức năng, ví dụ: và phiên bản nhẹ), theo mục đích chính (ví dụ: trò chơi và bộ ứng dụng văn phòng).

Nếu các bộ phận bổ sung của phần mềm hệ thống và ứng dụng trước đây không quá quan trọng (không giống như phần chính), thì sự đa dạng của các chương trình ngày nay chỉ đơn giản khiến sự hiện diện của chúng trở nên cần thiết cho việc lập danh mục. Rất có thể theo thời gian sẽ càng xuất hiện nhiều dấu hiệu phân chia chương trình hơn, bởi lĩnh vực thông tin ngày càng phát triển với tốc độ chóng mặt.

Bây giờ, bạn đã biết phần mềm là gì, nói một cách đơn giản, nó được dùng để làm gì và nó khác nhau như thế nào.

Phần mềm là gì

Khả năng của một chiếc PC hiện đại tuyệt vời đến mức ngày càng có nhiều người tìm cách sử dụng nó trong công việc, học tập và cuộc sống hàng ngày. Chất lượng quan trọng nhất của một chiếc máy tính hiện đại là “sự thân thiện với người dùng”. Giao tiếp giữa con người và máy tính đã trở nên đơn giản, trực quan và dễ hiểu. Bản thân máy tính sẽ cho người dùng biết phải làm gì trong một tình huống nhất định và giúp thoát khỏi những tình huống khó khăn. Điều này có thể thực hiện được nhờ phần mềm máy tính.

Hãy sử dụng lại sự tương tự giữa máy tính và con người. Một đứa trẻ mới sinh không biết gì và không thể làm được gì. Anh ta tiếp thu kiến ​​​​thức và kỹ năng trong quá trình phát triển, học tập, tích lũy thông tin trong trí nhớ. Một máy tính được lắp ráp trong nhà máy từ các vi mạch, dây điện, bảng mạch và những thứ khác giống như một con người mới sinh. Có thể nói, việc nạp phần mềm vào bộ nhớ máy tính cũng tương tự như quá trình dạy dỗ một đứa trẻ. Phần mềm được tạo ra bởi các lập trình viên.

Toàn bộ bộ chương trình được lưu trữ trên tất cả các thiết bị trong bộ nhớ dài hạn của máy tính tạo thành phần mềm (phần mềm) của nó.

Phần mềm máy tính được cập nhật, phát triển và cải tiến liên tục. Chi phí của các chương trình được cài đặt trên một PC hiện đại thường vượt quá chi phí của các thiết bị kỹ thuật. Việc phát triển các phần mềm hiện đại đòi hỏi trình độ chuyên môn rất cao của các lập trình viên.

Các loại phần mềm

Có một phần cần thiết trong phần mềm máy tính, nếu không có nó thì bạn không thể làm được gì trên đó. Nó được gọi là phần mềm hệ thống. Người mua mua một máy tính được trang bị phần mềm hệ thống, phần mềm này không kém phần quan trọng đối với hoạt động của máy tính so với bộ nhớ hoặc bộ xử lý. Ngoài phần mềm hệ thống, phần mềm máy tính còn bao gồm các chương trình ứng dụng và hệ thống lập trình.

Phần mềm máy tính được chia thành:

Phần mềm hệ thống;
- phần mềm ứng dụng;
- Hệ thống lập trình.
Phần mềm hệ thống và hệ thống lập trình sẽ được thảo luận sau. Bây giờ chúng ta cùng làm quen với phần mềm ứng dụng.
Thành phần phần mềm ứng dụng
Các chương trình mà người dùng có thể giải quyết các vấn đề về thông tin của mình mà không cần dùng đến lập trình được gọi là chương trình ứng dụng.

Theo quy định, tất cả người dùng đều thích có một bộ chương trình ứng dụng mà hầu hết mọi người đều cần. Chúng được gọi là các chương trình có mục đích chung. Bao gồm các:

Trình soạn thảo văn bản và đồ họa, nhờ đó bạn có thể chuẩn bị nhiều văn bản khác nhau, tạo bản vẽ và vẽ bản vẽ; nói cách khác là viết, vẽ, vẽ;

Hệ thống quản lý cơ sở dữ liệu (DBMS), cho phép bạn biến máy tính của mình thành một cuốn sách tham khảo về bất kỳ chủ đề nào;

Bộ xử lý bảng cho phép bạn tổ chức các phép tính bảng tính rất phổ biến trong thực tế;

Các chương trình truyền thông (mạng) được thiết kế để trao đổi thông tin với các máy tính khác được kết nối với dữ liệu trong mạng máy tính.

Trò chơi máy tính là một loại phần mềm ứng dụng rất phổ biến. Hầu hết người dùng bắt đầu giao tiếp với máy tính từ họ.

Ngoài ra, còn có một số lượng lớn các chương trình ứng dụng chuyên dụng phục vụ cho hoạt động chuyên môn. Chúng thường được gọi là gói phần mềm ứng dụng. Ví dụ: đây là các chương trình kế toán thực hiện tính lương và các tính toán khác được thực hiện trong bộ phận kế toán; hệ thống thiết kế có sự hỗ trợ của máy tính giúp các nhà thiết kế phát triển thiết kế cho các thiết bị kỹ thuật khác nhau; các gói cho phép bạn giải các bài toán phức tạp mà không cần viết chương trình; chương trình đào tạo về các môn học khác nhau và nhiều hơn nữa.

Phần mềm hệ thống

Phần mềm hệ thống là một tập hợp các chương trình cung cấp khả năng quản lý hiệu quả các thành phần của hệ thống máy tính, chẳng hạn như bộ xử lý, RAM, thiết bị đầu vào/đầu ra và thiết bị mạng, hoạt động như một “giao diện giữa các lớp” với một bên là phần cứng và một bên là ứng dụng người dùng. . . Không giống như phần mềm ứng dụng, phần mềm hệ thống không giải quyết các vấn đề ứng dụng cụ thể mà chỉ đảm bảo hoạt động của các chương trình khác, quản lý tài nguyên phần cứng của hệ thống máy tính, v.v.

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 giúp mở rộng khả năng của hệ thống máy tính cũng như cung cấp khả năng quản lý tài nguyên, tải và thực thi các chương trình ứng dụng cũng như tương tác với người dùng. Trong hầu hết các hệ thống máy tính, HĐH là phần chính, quan trọng nhất (và đôi khi là duy nhất) của phần mềm hệ thống.
Tính năng hệ điều hành
Chức năng chính(hệ điều hành đơ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 cố định (chẳng hạn như ổ cứng, CD, v.v.) được tổ chức trong một hệ thống tệp cụ thể. Giao diện người dùng.
Hoạt động mạng, hỗ trợ ngăn xếp giao thức.

Chức năng bổ sung:
Thực hiện các nhiệm vụ song song hoặc giả song song (đa nhiệm).
Tương tác giữa các tiến trình: trao đổi dữ liệu, đồng bộ hóa lẫn nhau.
Bảo vệ chính hệ thống cũng như dữ liệu và chương trình của người dùng khỏi các hành động của người dùng (độc hại hoặc không biết) hoặc các ứng dụng.
Phân biệt quyền truy cập và phương thức hoạt động của nhiều người dùng (xác thực, ủy quyền).
== Khái niệm hệ điều hành
==

Có hai nhóm định nghĩa hệ điều hành: “bộ chương trình điều khiển phần cứng” và “bộ chương trình điều khiển các chương trình khác”. Cả hai đều có ý nghĩa kỹ thuật chính xác của riêng mình, tuy nhiên, điều này chỉ trở nên rõ ràng khi xem xét chi tiết hơn câu hỏi tại sao lại cần đến hệ điều hành.
Có những ứng dụng điện toán mà hệ điều hành không cần thiết. Ví dụ, ngày nay máy vi tính tích hợp được tìm thấy trong nhiều thiết bị gia dụng, ô tô (đôi khi có hàng chục chiếc), điện thoại di động, v.v. Thường thì một máy tính như vậy liên tục chỉ chạy một chương trình khởi động khi được bật. Và các máy chơi game đơn giản - cũng là những máy vi tính chuyên dụng - có thể hoạt động mà không cần hệ điều hành, khởi chạy chương trình được ghi trên “hộp mực” hoặc CD được lắp vào thiết bị khi bật. Tuy nhiên, một số máy vi tính và máy chơi game vẫn chạy hệ điều hành đặc biệt của riêng chúng. Trong hầu hết các trường hợp, đây là những hệ thống giống UNIX (điều này đặc biệt đúng đối với các thiết bị chuyển mạch có thể lập trình: tường lửa, bộ định tuyến).

Ý tưởng cơ bản về hệ điều hành

Tiền thân của HĐH phải được coi là các chương trình tiện ích (bộ nạp khởi động và màn hình), cũng như thư viện các quy trình được sử dụng thường xuyên, bắt đầu được phát triển với sự ra đời của máy tính phổ thông thế hệ 1 (cuối những năm 1940). Các tiện ích giảm thiểu thao tác vật lý của người vận hành đối với thiết bị và các thư viện giúp tránh lập trình lặp lại các hành động giống nhau (thực hiện các thao tác I/O, tính toán các hàm toán học, v.v.).

Trong những năm 1950 và 60, các ý tưởng chính xác định chức năng của HĐH đã được hình thành và triển khai: chế độ hàng loạt, chia sẻ thời gian và đa nhiệm, phân chia quyền lực, thời gian thực, cấu trúc tệp và hệ thống tệp.

Các chương trình tích hợp

Các chương trình hoặc chương trình cơ sở tích hợp là các chương trình được “cố định” vào các thiết bị điện tử kỹ thuật số. Trong một số trường hợp (ví dụ: BIOS của máy tính tương thích IBM-PC) về cơ bản là một phần của hệ điều hành, được lưu trữ trong bộ nhớ vĩnh viễn. Trong các thiết bị khá đơn giản, toàn bộ hệ điều hành có thể được nhúng. Nhiều thiết bị máy tính hiện đại có phần sụn riêng giúp điều khiển các thiết bị này và đơn giản hóa việc tương tác với chúng.

Tiện ích

Tiện ích (tiếng Anh là tiện ích hoặc công cụ) là các chương trình được thiết kế để giải quyết một phạm vi hẹp các nhiệm vụ phụ trợ. Đôi khi các tiện ích được phân loại là phần mềm tiện ích.
Giám sát các chỉ số cảm biến và hiệu suất thiết bị - giám sát nhiệt độ bộ xử lý và bộ điều hợp video; đọc S.M.A.R.T. ổ cứng;
Quản lý thông số thiết bị - giới hạn tốc độ quay tối đa của ổ CD; thay đổi tốc độ quạt.
Các chỉ số giám sát - kiểm tra tính toàn vẹn tham chiếu; tính chính xác của việc ghi dữ liệu.
Khả năng mở rộng - định dạng và/hoặc phân vùng lại đĩa trong khi lưu dữ liệu, xóa mà không có khả năng phục hồi.

Các loại tiện ích

Tiện ích đĩa
Chống phân mảnh
Quét đĩa - tìm kiếm các tập tin và vùng đĩa bị ghi sai hoặc bị hỏng theo nhiều cách khác nhau và loại bỏ chúng sau đó để sử dụng hiệu quả dung lượng ổ đĩa.
Disk Cleanup - xóa các tập tin tạm thời, các tập tin không cần thiết, dọn sạch Thùng rác.
Phân vùng đĩa là việc phân chia một đĩa thành các đĩa logic, có thể có các hệ thống tệp khác nhau và được hệ điều hành coi là một số đĩa khác nhau.
Sao lưu - tạo bản sao lưu của toàn bộ đĩa và tệp riêng lẻ, cũng như khôi phục từ các bản sao này.
Nén đĩa - nén thông tin trên đĩa để tăng dung lượng ổ cứng. Tiện ích đăng ký
Tiện ích giám sát thiết bị
Kiểm tra thiết bị

Phần mềm ứng dụng

Chương trình ứng dụng hoặc ứng dụng là chương trình được thiết kế để thực hiện một số tác vụ nhất định của người dùng và được thiết kế để tương tác trực tiếp với người dùng. Trong hầu hết các hệ điều hành, các chương trình ứng dụng không thể truy cập trực tiếp vào tài nguyên máy tính mà tương tác với phần cứng, v.v. thông qua hệ điều hành. Cũng bằng ngôn ngữ đơn giản - các chương trình phụ trợ.
Phân loại

Kiểu
phần mềm mục đích chung
Trình soạn thảo văn bản
Hệ thống xuất bản máy tính
Biên tập đồ họa
cơ sở dữ liệu
phần mềm chuyên dụng
Những hệ thống chuyên gia
Ứng dụng đa phương tiện (Trình phát media, chương trình tạo/chỉnh sửa video, âm thanh, Chuyển văn bản thành giọng nói, v.v.)
Hệ thống siêu văn bản (Từ điển điện tử, bách khoa toàn thư, hệ thống tham khảo)
Hệ thống quản lý nội dung
phần mềm cấp độ chuyên nghiệp
CAD
AWS
ACS
APCS
ASNI
Hệ thống thông tin địa lý
Hệ thống thanh toán
CRM
Theo lĩnh vực ứng dụng
Phần mềm ứng dụng dành cho doanh nghiệp, tổ chức. Ví dụ: quản lý tài chính, quan hệ khách hàng, chuỗi cung ứng. Loại này cũng bao gồm phần mềm phòng ban dành cho các doanh nghiệp nhỏ cũng như phần mềm dành cho các phòng ban riêng lẻ trong một doanh nghiệp lớn. (Ví dụ: Quản lý chi phí đi lại, Bộ phận trợ giúp CNTT)
Phần mềm cung cấp cho người dùng quyền truy cập vào các thiết bị máy tính.
Phần mềm cơ sở hạ tầng doanh nghiệp. Cung cấp các khả năng chung để hỗ trợ phần mềm doanh nghiệp. Chúng bao gồm hệ thống quản lý cơ sở dữ liệu, máy chủ email, quản lý mạng và bảo mật.
Phần mềm nhân viên thông tin. Phục vụ nhu cầu của người dùng cá nhân trong việc tạo lập và quản lý thông tin. Theo quy định, điều này quản lý thời gian, tài nguyên, tài liệu, ví dụ: trình soạn thảo văn bản, bảng tính, chương trình ứng dụng khách cho email và blog, hệ thống thông tin cá nhân và trình chỉnh sửa phương tiện truyền thông.
Phần mềm truy cập nội dung. Được sử dụng để truy cập các chương trình hoặc tài nguyên nhất định mà không cần chỉnh sửa chúng (tuy nhiên, nó cũng có thể bao gồm chức năng chỉnh sửa). Dành cho nhóm hoặc cá nhân người dùng nội dung số. Ví dụ: đây là trình phát đa phương tiện, trình duyệt web, trình duyệt phụ trợ, v.v.
Phần mềm giáo dục có nội dung gần giống với phần mềm truyền thông và giải trí, nhưng không giống như vậy, nó có các yêu cầu rõ ràng để kiểm tra kiến ​​thức của người dùng và theo dõi tiến trình học một tài liệu cụ thể. Nhiều chương trình giáo dục bao gồm các tính năng chia sẻ và cộng tác giữa nhiều bên liên quan.
Phần mềm mô phỏng. Được sử dụng để mô phỏng các hệ thống vật lý hoặc trừu tượng cho nghiên cứu khoa học, giáo dục hoặc giải trí.
Các công cụ phần mềm trong lĩnh vực truyền thông. Phục vụ nhu cầu của người dùng sản xuất tài nguyên phương tiện truyền thông in ấn hoặc điện tử cho người tiêu dùng khác, trên cơ sở thương mại hoặc giáo dục. Đây là các chương trình in ấn, bố cục, xử lý đa phương tiện, trình soạn thảo HTML, trình chỉnh sửa hoạt hình kỹ thuật số, trình chỉnh sửa âm thanh kỹ thuật số, v.v.
Các chương trình ứng dụng trong thiết kế và xây dựng. Được sử dụng trong việc phát triển phần cứng (“Phần cứng”) và phần mềm. Bao gồm thiết kế hỗ trợ máy tính (CAD), kỹ thuật hỗ trợ máy tính (CAE), chỉnh sửa và biên dịch ngôn ngữ lập trình, Môi trường phát triển tích hợp, Giao diện lập trình ứng dụng.
Liên kết đến các tài nguyên được sử dụng