So sánh hệ điều hành Mac OS, Linux và Windows. Các họ hệ điều hành chính

Khái niệm chức năng và hệ điều hành

Một hệ thống máy tính hiện đại bao gồm một hoặc nhiều bộ xử lý, RAM, đĩa, bàn phím, màn hình, máy in, giao diện mạng và các thiết bị khác, nghĩa là nó là một hệ thống tích hợp phức tạp. Viết chương trình giám sát tất cả các thành phần, sử dụng chúng một cách chính xác mà vẫn hoạt động tối ưu là một nhiệm vụ cực kỳ khó khăn. Vì lý do này, máy tính được trang bị một lớp phần mềm đặc biệt gọi là hệ điều hành.

Hệ điều hành là tập hợp các chương trình quản lý tài nguyên của hệ thống máy tính, tổ chức các quy trình tính toán theo nghĩa rộng và đảm bảo sự tương tác giữa người dùng, lập trình viên, chương trình ứng dụng, ứng dụng hệ thống và phần cứng máy tính.

Môi trường vận hành là môi trường phần mềm được tạo bởi hệ điều hành, xác định giao diện lập trình ứng dụng (API) là một tập hợp các chức năng và dịch vụ hệ thống (lệnh gọi hệ thống) được cung cấp cho các chương trình ứng dụng. Môi trường hoạt động có thể bao gồm nhiều giao diện lập trình ứng dụng

Nói chung, shell hệ điều hành là một phần của hệ điều hành xác định giao diện người dùng, khả năng triển khai, lệnh và dịch vụ của nó để quản lý các chương trình ứng dụng và máy tính.

Sự phát triển của hệ điều hành liên quan trực tiếp đến sự phát triển của công nghệ máy tính. Với sự gia tăng năng suất của hệ thống máy tính, phạm vi các vấn đề được giải quyết bằng hệ thống máy tính dần dần thay đổi, mở rộng và trở nên phức tạp hơn về mặt chất lượng. Các yêu cầu đối với hệ điều hành đã thay đổi tương ứng. Hiện tại, có thể xây dựng một số nhiệm vụ mà hệ điều hành cần được thiết kế. Những nhiệm vụ này có thể được chia thành bốn thành phần chính:

  • 1. Tổ chức giao diện thuận tiện giữa một bên là ứng dụng và người dùng, và một bên là phần cứng máy tính. Điều này có thể bao gồm:
    • · Phát triển phần mềm. HĐH cung cấp nhiều công cụ phát triển khác nhau (từ thư viện API đến trình soạn thảo)
    • · Thực hiện các chương trình. HĐH đảm nhận tất cả các nhiệm vụ tải chương trình vào bộ nhớ, cung cấp cho các chương trình giao diện đầu vào-đầu ra thống nhất cho các thiết bị khác nhau, chuẩn bị tài nguyên, v.v.
    • · Truy cập vào các thiết bị I/O. Để điều khiển bất kỳ thiết bị nào, bạn cần biết các thông số kỹ thuật và bộ lệnh dành riêng cho thiết bị này. Hệ điều hành che giấu sự phức tạp của việc tương tác với các thiết bị và cung cấp cho người dùng giao diện người dùng phổ biến thuận tiện cho tất cả các thiết bị và lập trình viên có giao diện phần mềm thuận tiện sử dụng các lệnh đọc và ghi đơn giản.
    • · Kiểm soát quyền truy cập vào các tập tin. Quyền truy cập vào tệp được hệ điều hành kiểm soát tùy thuộc vào loại và cấu trúc của tệp cũng như các quyền được mô tả của chủ thể muốn truy cập tệp. Ngoài ra, các tình huống xung đột phát sinh trong trường hợp truy cập đồng thời đều được kiểm soát và giải quyết.
    • · Truy cập hệ thống. HĐH kiểm soát quyền truy cập vào toàn bộ hệ thống máy tính dùng chung và công cộng, cũng như các tài nguyên hệ thống riêng lẻ, bảo vệ khỏi việc sử dụng trái phép và giải quyết các tình huống xung đột.
    • · Phát hiện và xử lý lỗi. HĐH có các phương tiện giám sát lỗi riêng xảy ra trong các chương trình và phần cứng thực thi, đồng thời cũng có khả năng xử lý độc lập các lỗi này nếu việc xử lý cụ thể lỗi xảy ra không được lập trình viên cung cấp trong chương trình hoặc trình điều khiển phần cứng tương ứng.
    • · Kế toán sử dụng tài nguyên. HĐH thường có các phương tiện tính toán mức tiêu thụ và quyền truy cập vào tài nguyên tích hợp sẵn, chẳng hạn như bộ đếm mức tiêu thụ lưu lượng mạng trong HĐH Linux và hệ thống kiểm tra các hành động tệp trong HĐH Windows phiên bản 2000 trở lên.
  • 2. Tổ chức sử dụng hiệu quả tài nguyên máy tính theo một số tiêu chí hiệu quả do nhà phát triển hệ điều hành lựa chọn. Các tiêu chí được các nhà phát triển lựa chọn tùy theo mục đích của HĐH. Ví dụ: đối với hệ thống kiểm soát một quy trình kỹ thuật nhất định (lắp ráp băng tải, chuyến bay trực thăng), tiêu chí hiệu quả sẽ là thời gian phản ứng tối thiểu trước các sự kiện bên ngoài mới xuất hiện và đối với máy tính để bàn - việc xử lý chính xác bắt buộc mọi hành động của người dùng (phản ứng với tổ hợp phím, khả năng loại bỏ tác vụ, an toàn dữ liệu), ngay cả khi một số chương trình không ổn định. Quản lý tài nguyên liên quan đến việc giải quyết một số vấn đề phổ biến, bất kể loại tài nguyên:
    • · Lập kế hoạch (phân bổ) - xác định quy trình nào, khi nào và với số lượng bao nhiêu (nếu nguồn lực có thể được phân bổ theo từng phần) thì nguồn lực này nên được phân bổ.
    • · Theo dõi trạng thái tài nguyên
    • · Kế toán sử dụng tài nguyên
    • · Giải quyết xung đột phát sinh khi quy trình yêu cầu tài nguyên
  • 3. Tạo điều kiện thuận lợi cho quá trình vận hành phần cứng, phần mềm của hệ thống máy tính. Điều này bao gồm các tiện ích cung cấp khả năng sao lưu, lưu trữ dữ liệu, quét, dọn dẹp, chống phân mảnh thiết bị đĩa, chương trình chẩn đoán, công cụ khôi phục dữ liệu, v.v.
  • 4. Cơ hội phát triển. Nhiều hệ điều hành hiện đại được thiết kế theo cách cho phép phát triển, thử nghiệm và triển khai hiệu quả các chức năng hệ thống mới mà không làm gián đoạn hoạt động của hệ thống.

Các hệ điều hành hiện đại bao gồm hàng trăm, thậm chí hàng nghìn mô-đun nhằm giải quyết các vấn đề khác nhau. Thông thường các mô-đun này được nhóm thành các hệ thống con theo mục đích của chúng. Mỗi hệ thống con này bao gồm một tập hợp các mô-đun và chức năng để giải quyết một loại vấn đề nhất định. Những vấn đề này có thể được chia thành bảy loại lớn. bảng hệ điều hành

  • 1. Quản lý quy trình. Hệ thống con quản lý quy trình phân phối tài nguyên chính của hệ thống máy tính - thời gian xử lý - giữa các quy trình đang thực thi. Song song đó, một số nhiệm vụ chung được giải quyết để phân phối các tài nguyên khác và quản lý các tương tác giữa các bộ xử lý, ví dụ: đồng bộ hóa các quy trình và ngăn chặn ảnh hưởng của các chủng tộc.
  • 2. Quản lý bộ nhớ. Hệ thống con quản lý bộ nhớ phân phối lượng bộ nhớ vật lý có sẵn giữa tất cả các tiến trình hiện có, tải các chương trình vào bộ nhớ, định cấu hình các phần nhạy cảm với địa chỉ của mã tiến trình thành các địa chỉ vật lý của vùng được phân bổ và cũng bảo vệ các vùng bộ nhớ của từng tiến trình khỏi ảnh hưởng của các quá trình khác. Một trong những phương pháp quản lý bộ nhớ thuận tiện nhất được sử dụng hiện nay là cơ chế bộ nhớ ảo. Cơ chế này cho phép lập trình viên làm việc với bộ nhớ như một nguồn tài nguyên vô hạn (chỉ bị giới hạn bởi khả năng đánh địa chỉ của một kiến ​​trúc bộ xử lý cụ thể). Hơn nữa, bất kể việc phân bổ bộ nhớ thực tế (có thể phức tạp) như thế nào, cơ chế này cung cấp cho chương trình và người lập trình bộ nhớ dưới dạng một chuỗi các ô thống nhất, được đánh số bắt đầu từ 0.
  • 3. Quản lý tập tin. Hệ thống con tệp hệ điều hành ảo hóa một tập hợp dữ liệu được lưu trữ trên ổ đĩa ngoài dưới dạng tệp. Để thuận tiện cho người dùng, các tập tin có thể được kết hợp thành các nhóm - thư mục, lần lượt các thư mục và tập tin cũng có thể được nhóm thành các thư mục, tạo thành cấu trúc cây. Nhiều triển khai hệ thống tệp cho phép bạn triển khai không chỉ cấu trúc cây để tổ chức thông tin mà còn các cấu trúc phức tạp hơn khi cùng một tệp hoặc thư mục được hiển thị đồng thời trong các phần khác nhau của cấu trúc (ví dụ: trong các thư mục khác nhau). Tổ chức các tệp này được gọi là mạng và cấu trúc toán học tương ứng được gọi là mạng và là trường hợp đặc biệt của một đối tượng toán học phức tạp hơn - biểu đồ. Ảo hóa thông tin dưới dạng tệp đã được chứng minh là thuận tiện đến mức một số hệ điều hành đã khái quát hóa cách tiếp cận này cho các nhiệm vụ khác trong việc biểu diễn tài nguyên hệ thống máy tính. Ví dụ: các hệ thống tệp thuộc họ *nix (Linux, Unix, BSD miễn phí và các loại khác) hiển thị trong hệ thống tệp một thư mục /dev/ đặc biệt, mỗi tệp trong đó thực sự là giao diện của một thiết bị và đối với mỗi thiết bị được kết nối với hệ thống, một tập tin đặc biệt. Do đó, sự tương tác với các thiết bị được giảm bớt đối với các thao tác ghi và đọc được thực hiện trên các tệp đặc biệt như vậy.
  • 4. Quản lý các thiết bị bên ngoài. Các chức năng điều khiển thiết bị bên ngoài tạo thành hệ thống con đầu vào/đầu ra. Khó khăn chính trong việc xây dựng hệ thống con này là nó phải hoạt động với mọi thiết bị được kết nối. Ban đầu, HĐH không thể “biết” cách điều khiển tất cả các thiết bị có thể. Đối với mỗi thiết bị cụ thể, nhà sản xuất viết một chương trình đặc biệt được tích hợp trong hệ thống con I/O của hệ điều hành và cung cấp khả năng điều khiển thiết bị này. Một chương trình như vậy được gọi là trình điều khiển. Những thứ kia. Hệ thống con I/O phải được thiết kế để cho phép nhúng các mô-đun (trình điều khiển) được viết bởi các lập trình viên bên thứ ba (ví dụ: nhà sản xuất phần cứng), trong khi các tương tác giữa hệ thống con I/O và các bộ phận khác của HĐH phải vẫn chính xác.
  • 5. Bảo mật và quản trị. Hệ thống con tương ứng đảm bảo an toàn dữ liệu, kiểm soát truy cập, khả năng chịu lỗi, kiểm soát và xử lý lỗi của các quy trình và thiết bị. Hệ thống con này ảnh hưởng đến hoạt động của các hệ thống con khác. Một trong những nhiệm vụ quan trọng nhất của nó là xác định quyền của đối tượng được truy cập vào hệ thống máy tính. Với mục đích này, quy trình đăng nhập hợp lý được sử dụng, trong đó danh tính người dùng được "thiết lập" (tên và mật khẩu đã nhập được kiểm tra xem có tuân thủ các thông tin đã lưu trữ hay không). Thủ tục này được gọi là xác thực.

Xác thực - xác nhận tính xác thực - một quy trình kiểm tra sự tương ứng giữa chủ thể và người mà anh ta đang cố mạo danh, sử dụng một số thông tin duy nhất, trong trường hợp đơn giản nhất - sử dụng tên và mật khẩu.

Khi truy cập vào một tài nguyên cụ thể của hệ thống máy tính, hệ thống con bảo mật và quản trị sẽ thực hiện một thủ tục khác không kém phần quan trọng - ủy quyền. Ủy quyền là quá trình cũng như kết quả của quá trình kiểm tra các tham số cần thiết và cấp một số quyền hạn nhất định (quyền truy cập) cho một người hoặc một nhóm người để thực hiện một số hành động nhất định trong các hệ thống có quyền truy cập hạn chế.

Ngoài ra, nhiều hệ điều hành hiện đại cung cấp khả năng ghi nhật ký (kiểm tra) hành động của người dùng, tính năng này phụ thuộc vào tính bảo mật của hệ thống.

Ngoài ra, hệ thống con bảo mật và quản trị đảm bảo khả năng chịu lỗi của hệ thống máy tính sử dụng cả phần mềm và phần cứng.

  • 6. Giao diện lập trình ứng dụng. Sự phát triển các mô-đun của hệ thống con này đặc biệt nhanh chóng trong những năm gần đây. Dự định ban đầu là hệ thống con Giao diện lập trình ứng dụng (API) sẽ cung cấp cho các chương trình ứng dụng một tập hợp các chức năng giúp viết ứng dụng dễ dàng hơn. Ví dụ: các chức năng chịu trách nhiệm về giao diện đồ họa (hiển thị các cửa sổ ứng dụng, chia tỷ lệ, di chuyển chúng trên màn hình, v.v.). Các ứng dụng thực hiện lệnh gọi tới các hàm API bằng cách sử dụng lệnh gọi hệ thống, có logic tương tự như lệnh gọi chương trình con. Do đó, các chức năng này không được mô tả trong các chương trình ứng dụng nhưng được sử dụng thành công, giúp giảm số lượng mã và thời gian viết chương trình, đồng thời cũng tăng độ tin cậy. Nhờ có nhiều thư viện khác nhau, các chức năng “tiện lợi” như vậy ngày càng trở nên nhiều hơn và bản thân các thư viện cũng được mở rộng, bao gồm toàn bộ các lĩnh vực chủ đề. Theo thời gian, khái niệm về giao diện lập trình ứng dụng đã phát triển thành khái niệm về môi trường ứng dụng phần mềm, vấn đề này sẽ được thảo luận sau.
  • 7. Giao diện người dùng. Hệ thống con giao diện người dùng đảm bảo sự thuận tiện trong tương tác giữa người dùng (lập trình viên, quản trị viên) và hệ thống máy tính, cung cấp giao diện thuận tiện và trực quan cho con người, đồng thời đảm bảo tính tương tác khi làm việc tại thiết bị đầu cuối (chữ và số hoặc đồ họa). Khi làm việc với thiết bị đầu cuối chữ và số, người dùng tương tác với HĐH bằng cách sử dụng các lệnh được nhập tại dòng lệnh. Nếu HĐH hỗ trợ giao diện đồ họa thì việc tương tác được thực hiện thông qua một bộ. Ngoài ra, còn có những hệ thống có giao diện người dùng bằng giọng nói, nhưng chúng ít phổ biến hơn do nhiệm vụ nhận dạng giọng nói của một người ngẫu nhiên rất phức tạp. Theo quy luật, những hệ thống như vậy hoặc nhận ra một bộ lệnh thoại rất hạn chế của một người tùy ý; hoặc họ nhận ra một tập lệnh khá lớn nhưng được “huấn luyện” cho giọng nói của một người cụ thể. Trong trường hợp thứ hai, quá trình “huấn luyện” mất rất nhiều thời gian.

Bảng 1. Số liệu lưu chuyển hàng hóa trong tháng trong doanh nghiệp.

số xưởng

Tên sản phẩm

đơn giá

sơ khai

Hình lục giác

ống chỉ

cánh quạt

Bảng 1.1 Sắp xếp dữ liệu về lưu chuyển hàng hóa trong tháng trên toàn doanh nghiệp.

số xưởng

Tên sản phẩm

đơn giá

số dư đầu tháng

doanh thu mỗi tháng số lượng đến

số vòng quay mỗi tháng lượng tiêu thụ

Hình lục giác

cánh quạt

ống chỉ

sơ khai

Bảng 2. Bảng doanh thu luân chuyển hàng hóa trong tháng.

số xưởng

Tên sản phẩm

đơn giá

số dư đầu tháng

doanh thu mỗi tháng số lượng đến

số vòng quay mỗi tháng lượng tiêu thụ

số dư cuối tháng

Hình lục giác

cánh quạt

ống chỉ

sơ khai

Bảng 2.1 Tên sản phẩm có giá thấp nhất.

Bảng 2.2 Tên hàng tồn cuối tháng với số lượng từ 10 đến 20.

Bảng 2.3 Hồ sơ hàng hóa nhận được hơn 10 chiếc mỗi tháng.

số xưởng

Tên sản phẩm

đơn giá

số dư đầu tháng

doanh thu mỗi tháng số lượng đến

số vòng quay mỗi tháng lượng tiêu thụ

số lượng còn dư cuối tháng

số dư cuối tháng

Hình lục giác

cánh quạt

ống chỉ

sơ khai

Bảng 3. Số liệu cuối cùng của từng phân xưởng và kết quả chung của doanh nghiệp.

số xưởng

Tên sản phẩm

đơn giá

số dư đầu tháng

doanh thu mỗi tháng số lượng đến

số vòng quay mỗi tháng lượng tiêu thụ

số lượng còn dư cuối tháng

số dư cuối tháng

Hình lục giác

cánh quạt

tổng cộng 1 xưởng

ống chỉ

tổng cộng xưởng 2

sơ khai

tổng cộng xưởng 3

Tổng cộng

Biểu đồ số dư hàng hóa đầu tháng và cuối tháng của một phân xưởng.

Biểu đồ tổng hợp số dư trong tháng của tất cả các phòng ban trong doanh nghiệp.


Thư mục

  • 1. Hướng dẫn hoàn thành bài kiểm tra môn khoa học máy tính dành cho sinh viên văn thư/comp. ND Belova, N.I. Shchadrina. - Khabarovsk, 2010.
  • 2. Hướng dẫn lựa chọn bài kiểm tra. Khabarovsk, 2011.
  • 3. Khoa học máy tính. Sách giáo khoa đại học / Ed. N.V. Makarova. - M., 2001 Stepanov A.N. Khoa học máy tính. Sách giáo khoa dành cho đại học. St Petersburg: Peter, 2008.
  • 4. Bezruchko V.T. Hội thảo về khóa học “Tin học”. Làm việc trên Windows, Word, Excel: sách giáo khoa. Cẩm nang dành cho đại học / V.T. Không tay. - M.: Tài chính và Thống kê, 2002.

Nhiều sản phẩm phần mềm được trình bày trên trang "Niên đại của Hệ điều hành" thuộc hai loại: độc quyền và miễn phí. Người đầu tiên nhận được tên từ độc quyền tiếng Anh - "độc quyền", tức là. tham khảo phần mềm đã có chủ sở hữu. Cái này phần mềm không phải là “sử dụng công cộng”, mà là sử dụng độc quyền.

Phần chuyên khảo này phân tích con đường phát triển của hai đại diện hệ điều hành: họ UNIX/Linux và các sản phẩm của Microsoft. Phiên bản đầu tiên trong số đó có cả phiên bản độc quyền và phiên bản được phân phối miễn phí. Cái sau là đối thủ của phần mềm miễn phí.

Họ hệ điều hành UNIX là duy nhất vì một số lý do [, ]:

  • nó tồn tại lâu dài và trải qua nhiều lần thay đổi, đã “chinh phục” nhiều loại thiết bị;
  • trong quá trình chuyển đổi UNIX sang các nền tảng phần cứng khác đã nảy sinh những vấn đề thú vị, giải pháp của chúng đã mang lại rất nhiều điều mới mẻ cho công nghệ máy tính;
  • một trong những phiên bản UNIX triển khai các giao thức trao đổi dữ liệu trong mạng máy tính với các nền tảng phần cứng khác nhau, cho phép chúng ta coi UNIX là tiền thân của Internet ngày nay, đồng thời là cơ sở cho sự phát triển rộng rãi của mạng cục bộ;
  • các tác giả của phiên bản đầu tiên của nó đã tạo ra ngôn ngữ lập trình cấp cao C, có thể được gọi là (có tính đến cải tiến tiếp theo của nó) là ngôn ngữ phổ biến nhất trong số các nhà phát triển;
  • việc sử dụng ngôn ngữ này đã giúp hàng nghìn chuyên gia có thể tham gia phát triển hệ điều hành;
  • Các hệ điều hành phân tán tự do xuất hiện trong họ UNIX đã mang lại rất nhiều ý tưởng mới về cách phát triển và phân phối chương trình cho máy tính.

Công nghệ thông tin đã và đang có tác động rất lớn đến mọi mặt của hệ điều hành Linux, ban đầu chỉ là một biến thể của UNIX. Nó đã trở nên phổ biến rộng rãi và ngày nay đã được chuyển sang các nền tảng phần cứng khác nhau, giống như phiên bản tiền nhiệm của nó. Trong phần tiếp theo chúng tôi sẽ sử dụng thuật ngữ “hệ điều hành thuộc họ UNIX/Linux”. Lưu ý rằng Linux thường được tách ra khỏi UNIX bằng cách so sánh những thành tựu của hệ điều hành này với tất cả các phiên bản cụ thể khác của họ này.

Bản thân việc xem xét lịch sử và phả hệ của UNIX / Linux là điều thú vị, nhưng kiến ​​thức về nó là cần thiết đối với các chuyên gia trong lĩnh vực công nghệ máy tính. Ví dụ, đây là những gì tác giả của một cuốn sách, bao gồm hai chương trình đào tạo dành cho quản trị viên hệ thống của hệ điều hành Solaris, viết về điều này: “Làm thế nào để Quản trị hệ thống Bạn phải hiểu lịch sử của hệ điều hành UNIX - nó đến từ đâu, nó được tạo ra như thế nào và nó đã đạt được những gì cho đến nay." Nhưng nội dung trong cuốn sách này nêu lên những vấn đề khác, khiến nó trở nên hữu ích cho các chuyên gia khác. tất cả đều là những nhà phát triển phần mềm.

Công việc phát triển gói phần mềm MULTICS bị kéo dài và các nhân viên của Bell Labs đã rời khỏi dự án. Nhưng không giống như những người khác, Thomson vẫn tiếp tục viết hệ điều hành trong công ty của mình. Sau đó, đầu tiên Ritchie tham gia cùng anh, sau đó là các nhân viên khác của bộ phận. Có thể nói UNIX khởi đầu với một nhóm lập trình viên nhưng Ken Thompson đóng vai trò chính trong số những người phát triển những phiên bản đầu tiên. Tuy nhiên, lúc đầu, trong vòng tròn trực tiếp của Ken, một tên khác của hệ thống đã ra đời - UNICS (Hệ thống máy tính và thông tin đơn nhất). Nó gợi nhớ đến việc tham gia vào dự án MULTICS, nhưng không tập trung vào hệ thống nhiều người dùng (MULTICS - MULTiplexed, nhưng UNICS - Uniplexed). UNICS sớm trở thành UNIX.

Chúng ta hãy quay lại việc xem xét trực tiếp lịch sử hình thành hệ điều hành UNIX. Phiên bản đầu tiên của nó được viết bằng ngôn ngữ lập trình biên dịch mã cho máy tính PDP [,]. Nó chứa các hệ thống con quản lý tập tin và quy trình cũng như một bộ tiện ích nhỏ.

Trong những năm này, Thompson đã làm công việc phiên dịch FORTRAN. Nhưng anh ấy đã có một cái mới ngôn ngữ lập trình B. Người sau là một thông dịch viên, và do đó, không hiệu quả lắm. Sau khi làm lại nó, Dennis Ritchie đã tạo ra ngôn ngữ C, ngôn ngữ này dịch văn bản nguồn thành mã máy, giúp tăng hiệu quả của các chương trình đang được phát triển. Cái này ngôn ngữ lập trình chiếm vị trí trung gian giữa ngôn ngữ gần với lệnh máy và cho phép phát triển các chương trình “nhanh” và ngôn ngữ lập trình cấp cao (sử dụng thuận tiện hơn).

Đây là thông tin từ cuốn sách mô tả nó xuất hiện như thế nào ngôn ngữ lập trình S. "Điều này thực sự có ý nghĩa gì, ẩn chứa điều gì đằng sau những từ ngữ hơi sáo rỗng này: ngôn ngữ C được phát triển bởi nhà khoa học người Mỹ Dennis Ritchie? Trên thực tế, điều này có nghĩa là vào năm 1970 Denn Ritchie đã phát minh và triển khai một ngôn ngữ C mới. Ông là dành cho tương lai tuyệt vời. Điều đó đã xảy ra như thế nào? Ngôn ngữ C sử dụng nhiều khái niệm và cấu trúc quan trọng của hai ngôn ngữ tiền thân của nó là BCPL và B, đồng thời cũng bổ sung thêm các kiểu dữ liệu và các thuộc tính khác."

BCPL được Martin Richard phát triển vào năm 1967 như một ngôn ngữ để viết trình biên dịch phần mềm hệ điều hành. Tác giả của ngôn ngữ B là Ken Thompson, một lập trình viên xuất sắc. Ông đã hình dung ra nhiều tính năng trong ngôn ngữ B và sử dụng nó vào năm 1970 để tạo ra phiên bản đầu tiên của hệ điều hành UNIX tại Phòng thí nghiệm Bell trên máy tính DEC PDP-7. Cả hai ngôn ngữ được đề cập - BCPL và B - đều là ngôn ngữ lập trình "không điển hình". Vì vậy, ví dụ, khi xử lý một phần tử dữ liệu thuộc kiểu số nguyên hoặc kiểu thực, phần lớn công việc vẫn rơi vào vai người lập trình. Ngôn ngữ C đã được biết đến rộng rãi như là ngôn ngữ phát triển cho hệ điều hành UNIX. Ngày nay, hầu như tất cả các hệ điều hành mới đều được viết bằng C hoặc C++.

Joy thành lập bản phân phối UNIX của riêng mình, được gọi là BSD (Berkeley Software Distribution). Tên tuổi của ông gắn liền với sự xuất hiện của trình soạn thảo văn bản vi, trình thông dịch lệnh c (nó đóng vai trò là shell hệ điều hành chứ không phải trình biên dịch ngôn ngữ lập trình), việc sử dụng bộ nhớ ảo (cho phép tải các chương trình lớn hơn bộ nhớ trống). bộ nhớ vật lý). Sau này ông trở thành một trong những người sáng lập

Đặc điểm so sánh của các hệ điều hành

Windows và Linux

Tiêu chuẩn

Tính sẵn có và mức độ phổ biến

Windows được phân phối dưới dạng hệ điều hành trả phí, rất phổ biến và tính khả dụng của hệ điều hành này cao.

Nó được phân phối hoàn toàn miễn phí, chỉ cần tải xuống bộ phân phối từ Internet và bắt đầu cài đặt.

Giao diện người dùng

Giao diện người dùng thuận tiện.

Giao diện người dùng thuận tiện, tương tự như Windows.

Cài đặt và cấu hình

Windows được cài đặt khá đơn giản, cấu hình cũng đơn giản. Có thể cài đặt cả bằng tay và tự động.

Linux rất dễ cài đặt, trong quá trình cài đặt, bạn có thể tùy chỉnh hệ điều hành cho riêng mình.

Khả năng tương thích của thiết bị

Tương thích với tất cả các thiết bị, cung cấp trình điều khiển có sẵn. Hiện tại Windows đã có đầy đủ driver cho mọi thiết bị.

Tương thích với số lượng thiết bị tối thiểu. Điều này phụ thuộc vào thực tế là vẫn còn ít trình điều khiển cho các thiết bị chạy Linux.

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

Windows có một bộ chương trình tích hợp tối thiểu, chỉ những chương trình cần thiết nhất.

Linux có một bộ chương trình cài sẵn để làm việc với các loại tệp khác nhau và để làm việc với các loại khác nhau. Bộ tiêu chuẩn rộng hơn nhiều so với trong Windows/

Khả năng tương thích với các chương trình khác

Windows tương thích với nhiều chương trình khác nhau. Cũng có thể cài đặt khả năng tương thích với các phiên bản Windows mới hơn.

Linux chỉ hỗ trợ phần mềm được viết cho hệ điều hành Linux.

Bảo vệ thông tin khỏi sự truy cập trái phép và lây nhiễm virus

Windows được bảo vệ một phần khỏi vi-rút và yêu cầu mua và cài đặt thêm phần mềm chống vi-rút.

Linux ban đầu cung cấp các tính năng bảo mật trong nhân hệ điều hành.

Cuộc tranh luận về hệ điều hành nào tốt hơn có lẽ sẽ không bao giờ kết thúc. Các hệ điều hành phổ biến và phổ biến nhất là Windows, Linux và Mac OS. Hãy thử so sánh chúng.

Hãy bắt đầu với thực tế là Linux thuộc họ hệ thống mở và miễn phí. Nó có nghĩa là gì? Bạn có thể cài đặt hệ điều hành trên PC hoặc máy tính xách tay của mình hoàn toàn miễn phí và quan trọng nhất là hợp pháp. Ngược lại, Mac OS và Windows thuộc họ hệ điều hành đóng (độc quyền). Các bản sao này phải được mua để cài đặt. Phiên bản lậu đang lan rộng.

Bây giờ nói ngắn gọn về từng hệ điều hành này:

Các cửa sổ.Cho đến gần đây, hệ điều hành phổ biến nhất. Theo thống kê, nó được cài đặt trên 85% thiết bị: máy tính bảng, máy tính xách tay, máy tính. Được sử dụng cả ở nhà và trong doanh nghiệp. Với sự lan rộng của các thiết bị di động - điện thoại thông minh, Linux bắt đầu lấn át Windows. Rốt cuộc, nó đã trở thành nền tảng cho Android.
Ưu điểm quan trọng nhất là khả năng tương thích tuyệt vờib và mức độ phổ biến.

Linuxtừ họ hệ điều hành Unix. Tuy nhiên, có nhiều bản phân phối khác nhau có kernel tùy theo phiên bản và được điều chỉnh cho các mục đích cụ thể. Chúng thích hợp để làm việc trên máy tính để bàn dành cho các bà nội trợ và cho các hệ thống máy chủ cụm mạnh mẽ.Hơn 80% máy chủ trên Internet chạy một trong các bản phân phối Linux, FreeBSD hoặc một hệ thống tương tự Unix khác. Chúng tôi đã nói về nền tảng cho Android ở trên.

Ưu điểm là những thiếu sót, thiếu chính xác có thể được sửa chữa nhanh chóng nhờ mã nguồn mở.

Hệ điều hành Mac.Một hệ thống được phát triển bởi Apple. Đây là phần mềm liên quan đến các thiết bị do tập đoàn này sản xuất. Dựa trên FreeBSD, nguồn đóng. Hiện tại nó chiếm chưa đến 20% thị trường và được coi là phổ biến thứ hai.

Ưu điểm: tính ổn định và hiệu suất.

Hãy so sánh hệ điều hành theo nhiều cách.

    Yêu cầu hệ thống.Tất nhiên, hiện nay người ta ít chú ý đến thông số này hơn nhiều so với khoảng 7–8 năm trước. Tuy nhiên, số lượng ứng dụng yêu cầu nguồn lực đáng kể để hoạt động ngày càng tăng. Điều này có nghĩa là dung lượng trống trên PC hoặc thiết bị khác của bạn sẽ không bị thiếu.

    Các cửa sổ.Để phiên bản hệ thống mới nhất hoạt động ổn định, bạn sẽ cần bộ xử lý có hai lõi, RAM 1 GB (và nếu bạn sử dụng bản phân phối 64 bit thì thậm chí nhiều hơn) chứ không phải card màn hình tệ nhất.

    Linux.Ở đây tình hình đơn giản hơn. Tất cả những gì bạn cần là bộ xử lý lõi đơn, RAM 256 MB (hãy chuẩn bị mua thêm ngay) và hoàn toàn bất kỳ card màn hình nào. Đương nhiên, điều này sẽ không đủ để các ứng dụng chạy nhanh và lướt Internet dễ dàng. Nhưng đây là những yêu cầu tối thiểu. Lưu ý rằng một điểm cộng sẽ là mô-đun hạt nhân Zram, cho phép bạn nén dữ liệu bằng zip trước khi lưu vào RAM.

    Hệ điều hành Mac.Vì hệ thống đã đóng nên không thể đưa ra kết luận rõ ràng. Về mặt lý thuyết, hệ điều hành này có thể ra mắt với RAM 512 MB, bộ xử lý lõi đơn tần số 1 GHz và 9 GB bộ nhớ trống trên ổ cứng.

    Bảo mật/bảo vệ chống vi-rút.Hầu hết người dùng lưu trữ thông tin cá nhân, ảnh trên máy tính của họ, thực hiện chuyển tiền, liên lạc, v.v. Tất cả thông tin này cần được bảo vệ. Mức độ ổn định của hệ điều hành được chọn để so sánh:

    Các cửa sổ.Người ta tin rằng hệ điều hành này dễ bị tổn thương nhất. Điều này có thể được giải thích rất đơn giản: những nhân viên kém trình độ hơn sẽ làm việc trên các phiên bản mới nhất. Điều này được xác nhận bởi nhiều lỗi trong mã. Nếu bạn còn nhớ Windows NT và Windows XP thì quá trình phát triển được tổ chức tốt nên có tính ổn định. Đó là lý do tại sao tin tặc ngày càng nghĩ ra nhiều loại virus mới dưới vỏ bọc này. Ngoài ra, các chuyên gia của Microsoft sửa rất ít lỗ hổng và nếu có thì phải mất một tháng hoặc hơn.

    Linux.Nếu bạn nhìn vào Linux, các “lỗ hổng” sẽ được vá chỉ trong vài giờ. Tất cả các sản phẩm trong họ Unix đều có rất ít sai sót. Có thể mã hóa dữ liệu, nhưng để làm được điều này sẽ đòi hỏi một số kỹ năng nhất định. Đối với trình chặn cửa sổ bật lên, bạn có thể quên chúng đi.

    Hệ điều hành Mac.Hệ điều hành an toàn nhất, để hack nó thậm chí còn có phần thưởng xứng đáng trên một số trang web dành cho hacker. Giúp duy trì sự ổn định của hệ thống bằng cách mã hóa dữ liệu và phân phối dữ liệu đó vào dữ liệu cá nhân và hệ thống. Ngoài ra, Mac OS mới được viết lại từ đầu và không tương thích với các phiên bản trước. Điều này đồng nghĩa với việc việc tìm cách hack càng trở nên khó khăn hơn.

    Quá trình cài đặt và cấu hình hệ điều hành.Ở đây những người được so sánh thể hiện theo những cách khác nhau: ai đó« thân thiện» , và ai đó sẽ gây ra rất nhiều rắc rối.

    Các cửa sổ.Như thực tế cho thấy, ngay cả một người mới sử dụng máy tính cũng có thể cài đặt nó. Quá trình của toàn bộ hoạt động rõ ràng ở mức độ trực quan. Nhược điểm là bạn sẽ phải tìm kiếm một số chương trình để hệ thống có thể hoạt động đầy đủ.

    Linux.Quá trình cài đặt khác một chút so với quy trình được mô tả ở trên và đôi khi việc cài đặt phần mềm thậm chí còn dễ dàng hơn. Điều này áp dụng cụ thể cho phiên bản máy tính để bàn. Nếu bạn cần tùy chỉnh hệ thống nhiều hơn và tiết kiệm ổ đĩa thì để cài đặt, bạn cần có ít nhất hiểu biết chung về các gói hệ thống và sự tương tác của chúng.

    Hệ điều hành Mac.Quá trình cài đặt có thể được so sánh với một thao tác tương tự trong Windows. Để định cấu hình hệ thống, các chương trình Tùy chọn hệ thống được tạo sẵn sẽ được sử dụng.

    Sự ổn định.Hãy nhìn vào sự khác biệt trong quá trình làm việc.

    Các cửa sổ.Có, các phiên bản lỗi thời thường bị lỗi. Đây không phải là trường hợp với các phiên bản hiện đại của hệ điều hành. Màn hình xanh chết chóc hiện nay xuất hiện cực kỳ hiếm.

    Linux.Có lẽ hệ thống ổn định nhất trong cả ba.

    Hệ điều hành Mac.Sự cố xảy ra với tần suất tương tự như Windows. Điều này thường xảy ra nhất do sử dụng các chương trình không tương thích với các tiêu chuẩn của Apple.

    Hỗ trợ phần mềm.Bây giờ chúng ta hãy so sánh cách các hệ điều hành được trình bày “xử lý” phần mềm của bên thứ ba.

    Các cửa sổ.Vì hệ điều hành này là phổ biến nhất nên phần mềm thường được viết riêng cho nó. Bạn có thể tìm thấy rất nhiều phần mềm trả phí và miễn phí.

    Linux.Hàng năm có một số lượng lớn các chương trình tương thích với hệ thống này xuất hiện và hầu như tất cả chúng đều miễn phí. Ngoài ra, hệ điều hành này còn có trình giả lập Wine và Mono, cho phép bạn chạy hầu hết các ứng dụng Windows trực tiếp từ Linux.

    Hệ điều hành Mac.Có đủ số lượng chương trình. Nhược điểm là chúng chỉ có thể được cài đặt từ AppStore.

    Dễ sử dụng.Tất cả các nhà phát triển đều cố gắng làm cho sản phẩm của họ trở nên đơn giản và dễ sử dụng nhất có thể, nhưng không phải ai cũng thành công.

    Các cửa sổ.Không có câu hỏi nào được hỏi ở đây.Giao diện rõ ràng (ngoại trừ Windows 8). Làm việc trên máy tính không khó.

    Linux.Mỗi bản phân phối được phát triển bởi một nhóm những người có cùng chí hướng từ các quốc gia khác nhau chứ không phải bởi các cá nhân hay công ty. Bất kỳ ai cũng có thể chọn cách phân phối dựa trên đề xuất của những người dùng khác, có tính đến kiến ​​thức và thị hiếu của họ.

    Hệ điều hành Mac.Nó cũng là một hệ thống tiện lợi và đơn giản, nó tính đến tất cả những điều nhỏ nhặt. Làm việc với nó sẽ rõ ràng ngay cả với những người chưa quen.

Thay vì một kết luận.Tôi muốn lưu ý rằng sự lựa chọn phải dựa trên yêu cầu. Quyết định những gì bạn cần. Windows là một hệ thống đơn giản và trực quan, lý tưởng cho người dùng mới làm quen. Mac OS được tối ưu hóa hoàn hảo, dễ sử dụng và hiệu quả. Linux đang tích cực phát triển, nó đã được sử dụng bởi những người "có vũ trang" và các chuyên gia chuyên môn, đồng thời cũng ngày càng được cài đặt nhiều hơn trên máy tính gia đình. Hãy lấy những gì phù hợp với bạn. Xôchúng tôi khuyên bạn nên đi quakhóa họctại Học viện của chúng tôi.

Ngày nay, một bộ phận lớn dân số thế giới thường xuyên tương tác với máy tính, một số bắt buộc phải làm việc, một số tìm kiếm thông tin trên Internet và một số chỉ đơn giản là dành thời gian chơi game. Mỗi người đều có nhu cầu riêng, điều đó có nghĩa là máy tính phải đáp ứng được những nhu cầu đó. Và nếu chúng ta đang nói về phần cứng (thành phần kỹ thuật của máy tính), thì mọi thứ ít nhiều đều rõ ràng: càng mới thì càng tốt. Nhưng phần “phần mềm” cần được đặc biệt chú ý.

Mỗi máy tính chạy một hệ điều hành cụ thể, trong đó có rất nhiều hệ điều hành, mỗi hệ điều hành phù hợp với một số nhiệm vụ nhất định, thiết bị sẵn có, v.v. Vì vậy, việc lựa chọn hệ điều hành này là một yếu tố quan trọng.

Có một danh sách khá đồ sộ về các hệ điều hành, nhưng bài viết này sẽ tập trung vào ba trụ cột có ảnh hưởng lớn đến ngành và chiếm thị phần lớn nhất trong số tất cả các hệ điều hành: Windows, MacOS và Linux.

Hệ điều hành độc quyền

Để bắt đầu, cần làm rõ rằng có những hệ điều hành độc quyền, những hệ điều hành được phân phối theo giấy phép của nhà sản xuất. Chúng bao gồm Windows, danh sách được đưa ra dưới đây và MacOS. Mặc dù thực tế là cả hai hệ thống đều có thể được tải xuống trên Internet (bị đánh cắp), điều đúng đắn cần làm là mua giấy phép từ công ty phân phối và kích hoạt nó.

Ưu điểm của các hệ thống như vậy là sự phát triển của chúng, một lượng lớn phần mềm chất lượng cao và hỗ trợ kỹ thuật có thẩm quyền sẽ giúp ích trong trường hợp có vấn đề.

Hệ điều hành “miễn phí”

Chúng bao gồm gần như toàn bộ dòng Linux, ngoại trừ một số phát triển về phần mềm kế toán hoặc phần mềm chuyên nghiệp khác. Những hệ điều hành này có thể được tải xuống hoàn toàn miễn phí và cài đặt trên bất kỳ máy tính nào mà không cần đắn đo.

Những hệ thống như vậy được tạo ra bởi các nhà phát triển độc lập cùng với cộng đồng, vì vậy trong hầu hết các trường hợp, chất lượng của các chương trình không được như mong đợi, nhưng những hệ thống như vậy an toàn hơn nhiều và hoạt động ổn định hơn so với các đối thủ cạnh tranh độc quyền của chúng.

các cửa sổ

Tuyệt đối tất cả những ai đã từng làm việc với máy tính đều biết về sản phẩm này của Microsoft. Đặc biệt, điều này liên quan đến việc phát hành siêu thành công của Windows 7. Danh sách các hệ điều hành của Microsoft đã có từ hàng chục thế hệ trước. Chúng cực kỳ phổ biến trên toàn thế giới và chiếm gần 90% thị trường. Điều này nói lên khả năng lãnh đạo chưa từng có.

  • Windows XP;
  • Windows Vista;
  • Windows 7;
  • Windows 8;
  • Windows 10;

Danh sách này có chủ ý bắt đầu bằng Windows XP, vì đây là phiên bản cũ nhất vẫn được sử dụng cho đến ngày nay.

Hệ điều hành Chrome

Một sản phẩm kém phát triển của Google, chỉ giới hạn ở các ứng dụng web và trình duyệt cùng tên. Hệ thống này không cạnh tranh được với Windows và Mac, nhưng được tạo ra với mục tiêu hướng tới tương lai khi giao diện web có thể thay thế phần mềm “thực”. Được cài đặt theo mặc định trên tất cả Chromebook.

Cài đặt nhiều hệ thống và sử dụng máy ảo

Vì mỗi nền tảng đều có ưu và nhược điểm riêng nên thường cần phải làm việc với nhiều nền tảng cùng một lúc. Các nhà phát triển máy tính biết điều này, vì vậy họ cung cấp cho người dùng cơ hội cài đặt hai hoặc ba hệ thống trên đĩa cùng một lúc.

Điều này được thực hiện đơn giản. Tất cả những gì bạn cần là một bộ phân phối hệ thống (một đĩa hoặc ổ flash có chứa tài liệu cài đặt) và dung lượng trống trên ổ cứng của bạn. Tất cả các hệ điều hành hiện đại đều đề xuất phân bổ không gian trong quá trình cài đặt và tạo cơ chế khởi động sẽ hiển thị danh sách các hệ điều hành khi máy tính khởi động. Mọi thứ được thực hiện bán tự động và có thể được thực hiện bởi bất kỳ người dùng nào.

Máy tính Apple có một tiện ích đặc biệt - BootCamp, được thiết kế để cài đặt Windows bên cạnh MacOS một cách đơn giản và liền mạch.

Có một cách khác - cài đặt hệ thống ảo bên trong hệ thống thực. Với mục đích này, các chương trình sau được sử dụng: VmWare và VirtualBox, có khả năng mô phỏng hoạt động của một máy tính hoàn chỉnh và khởi chạy hệ điều hành.

Thay vì một kết luận

Danh sách các hệ điều hành cho máy tính không giới hạn ở trên. Có rất nhiều sản phẩm từ các công ty khác nhau, nhưng chúng đều khá cụ thể và không đáng được người dùng bình thường chú ý. Bạn nên lựa chọn giữa Windows, MacOS và Linux vì chúng có thể đáp ứng hầu hết các nhu cầu và khá dễ học.