cyanic-selkie/wikianc huggingface dataset:
Ushijima Mitsuru
Trận Okinawa
Sau khi phòng tuyến Shuri sụp đổ, tướng Ushijima ra lệnh quân Nhật lui về phía nam 15 km, đến một dãy núi cao thẳng đứng xuống biển. Đây là tuyến phòng thủ cuối cùng của họ, đằng sau là biển Đông Hải. Ngày 21 tháng 6, trong chỉ huy sở cuối cùng của mình tại Mabumi, tướng Ushijima và mọi người đều hớt tóc, cạo râu. Sau đó ông viết thư trình lên Thiên hoàng Chiêu Hòa (Hirohito) báo cáo về tình hình chiến sự tại Okinawa và tạ tội không giữ được đảo. Thư được điện về Bộ tổng tham mưu quân đội Hoàng gia tại Tokyo. Trong những này cuối cùng, ông vẫn giữ được thái độ bình tĩnh, dí dỏm, còn đùa nhẹ nhàng với mọi người. Ông nói với đại tá Yahara: Này Yahara, tôi và ông chắc sẽ "Harakiri". Nhưng tôi ra lệnh cho ông ở lại. Nếu ông chết, sau này còn ai có thẩm quyền để kể lại về trận chiến Okinawa này. Mặc dù sống sau khi thua trận là nhục nhã, nhưng tư lệnh của ông ra lệnh cho ông phải chịu cái nhục này."
Yahara do đó là sĩ quan cao cấp bên phía Nhật sống sót sau trận đánh và về sau ông đã cho xuất bản cuốn sách mang tựa đề Trận đánh vì Okinawa. Chiều ngày 22 tháng 6, tướng Ushijima và tướng Cho quỳ gối hướng về phía Bắc (hướng Hoàng cung) vái ba vái và tiến hành lễ tự sát. Tướng Cho đưa cổ cho đại úy Sakaguchi chém đầu. Tướng Ushijima lấy gươm tự mổ bụng, tiếp theo đó bảy sĩ quan tham mưu cùng tự sát. Ông hưởng thọ 57 tuổi.
Xem thêm
Thể loại:Người mổ bụng tự sát Thể loại:Đại tướng Lục quân Đế quốc Nhật Bản Thể loại:Nhân vật trong Thế chiến thứ hai
Ptilochaeta densiflora
Ptilochaeta densiflora là một loài thực vật có hoa trong họ Malpighiaceae. Loài này được Nied. miêu tả khoa học đầu tiên..
Liên kết ngoài
Thể loại:Ptilochaeta
Oxylamia guillemati
Oxylamia guillemati là một loài bọ cánh cứng trong họ Cerambycidae.
Tham khảo
Thể loại:Oxylamia
Phyllanthus merinthopodus
Phyllanthus merinthopodus là một loài thực vật có hoa trong họ Diệp hạ châu. Loài này được Diels miêu tả khoa học đầu tiên năm 1931.
Liên kết ngoài
M Thể loại:Thực vật được mô tả năm 1931
Callopistria apicescripta
Callopistria apicescripta là một loài bướm đêm trong họ Noctuidae.
Marcoux, Alpes-de-Haute-Provence
Marcoux là một xã ở tỉnh Alpes-de-Haute-Provence, vùng Provence-Alpes-Côte d'Azur ở đông nam nước Pháp.
Tham khảo
Thể loại:Xã của Alpes-de-Haute-Provence
Pseudopanurgus labrosiformis
Pseudopanurgus labrosiformis là một loài Hymenoptera trong họ Andrenidae. Loài này được Robertson mô tả khoa học năm 1898.
Tham khảo
Thể loại:Pseudopanurgus Thể loại:Động vật được mô tả năm 1898
Hệ điều hành
Hệ điều hành (Operating system - OS) là phần mềm hệ thống quản lý tài nguyên phần cứng máy tính, phần mềm và cung cấp các dịch vụ chung cho các chương trình máy tính.
Đối với các chức năng phần cứng như đầu vào, đầu ra và cấp phát bộ nhớ, hệ điều hành đóng vai trò quan trọng giữa các chương trình và phần cứng máy tính, mặc dù mã ứng dụng thường được thực thi trực tiếp bởi phần cứng và thường thực hiện các lệnh hệ thống đến Chức năng hệ điều hành hoặc bị hệ điều hành làm gián đoạn. Hệ điều hành được tìm thấy trên nhiều thiết bị có máy tính – từ điện thoại di động và bảng điều khiển trò chơi điện tử đến máy chủ web và siêu máy tính, cung cấp một môi trường cho phép người sử dụng phát triển và thực hiện các ứng dụng của họ một cách dễ dàng.
Hệ điều hành chia sẻ thời gian lập lịch cho các tác vụ để sử dụng hệ thống một cách hiệu quả và cũng có thể bao gồm phần mềm kế toán để phân bổ chi phí thời gian xử lý, lưu trữ dung lượng lớn, in ấn và các tài nguyên khác.
Hệ điều hành máy tính để bàn phổ biến nhất là hệ điều hành Microsoft Windows với thị phần khoảng 76,45%. macOS của Apple Inc. đứng ở vị trí thứ hai (17,72%), và các loại hệ diều hành Linux được xếp chung ở vị trí thứ ba (1,73%). Trong lĩnh vực di động (bao gồm cả điện thoại thông minh và máy tính bảng), thị phần của Android lên đến 72% vào năm 2020. Theo dữ liệu Quý III năm 2016, thị phần của Android trên điện thoại thông minh đang chiếm ưu thế với 87,5% với tốc độ tăng trưởng 10,3% mỗi năm, tiếp theo là iOS của Apple với 12,1% với thị phần giảm 5,2% mỗi năm, trong khi các hệ điều hành khác chỉ 0,3%. Các bản phân phối Linux đang chiếm ưu thế trong lĩnh vực máy chủ và siêu máy tính. Các lớp hệ điều hành chuyên biệt khác cũng được tạo ra để phục vụ cho các ứng dụng như các hệ thống nhúng và thời gian thực.
Đơn nhiệm và đa nhiệm (đơn tác vụ và đa tác vụ)
Hệ thống đơn tác vụ chỉ có thể chạy một chương trình tại một thời điểm, trong khi hệ điều hành đa tác vụ cho phép nhiều chương trình chạy đồng thời. Điều này đạt được bằng cách chia sẻ thời gian, trong đó thời gian của bộ xử lý được chia sẻ với nhiều quá trình. Mỗi quá trình này bị gián đoạn lặp đi lặp lại trong thời gian bằng cách dùng một hệ thống con lập lịch tác vụ của hệ điều hành. Đa nhiệm có thể được đặc trưng trong các loại hợp tác và pre-emptive. Trong đa nhiệm phủ đầu, hệ điều hành cắt thời gian CPU và dành một vị trí cho mỗi chương trình. Hệ điều hành giống Unix, chẳng hạn như Solaris và Linux — cũng như không giống Unix, chẳng hạn như AmigaOS — hỗ trợ đa nhiệm pre-emptive. Đa nhiệm hợp tác đạt được bằng cách dựa vào mỗi quá trình để cung cấp thời gian cho các quá trình khác theo cách thức xác định. Phiên bản 16-bit của Microsoft Windows sử dụng đa tác vụ hợp tác; Phiên bản 32-bit của cả Windows NT và Win9x đều sử dụng tính năng đa tác vụ pre-emptive.
Một người và nhiều người dùng
Hệ điều hành một người dùng không có phương tiện để phân biệt người dùng, nhưng có thể cho phép nhiều chương trình chạy song song. Hệ điều hành nhiều người dùng mở rộng khái niệm cơ bản về đa tác vụ với các cơ sở xác định các quy trình và tài nguyên, chẳng hạn như không gian đĩa, thuộc về nhiều người dùng và hệ thống cho phép nhiều người dùng tương tác với hệ thống cùng một lúc. Hệ điều hành chia sẻ thời gian lên lịch các tác vụ để sử dụng hiệu quả hệ thống và cũng có thể bao gồm phần mềm kế toán để phân bổ chi phí thời gian xử lý, lưu trữ hàng loạt, in ấn và các tài nguyên khác cho nhiều người dùng.
Phân tán
Hệ điều hành phân tán quản lý một nhóm các máy tính nối mạng riêng biệt và làm cho chúng dường như là một máy tính duy nhất, vì tất cả các tính toán được phân phối (chia cho các máy tính cấu thành).
Tạo khuôn mẫu
Trong bối cảnh điện toán đám mây và phân tán của một hệ điều hành, tạo khuôn mẫu đề cập đến việc tạo một hình ảnh máy ảo duy nhất làm hệ điều hành khách, sau đó lưu nó làm công cụ cho nhiều máy ảo đang chạy máy ảo. Kỹ thuật này được sử dụng cả trong ảo hóa và quản lý điện toán đám mây, và phổ biến trong các kho máy chủ lớn.
Dicranum comosum
Dicranum comosum là một loài rêu trong họ Dicranaceae. Loài này được Schwägr. mô tả khoa học đầu tiên năm 1827.
Liên kết ngoài
Thể loại:Dicranum Thể loại:Thực vật được mô tả năm 1827
Hệ điều hành
Thời gian thực
Hệ điều hành thời gian thực là hệ điều hành đảm bảo xử lý các sự kiện hoặc dữ liệu theo một thời điểm cụ thể. Hệ điều hành thời gian thực có thể hoạt động đơn hoặc đa tác vụ, nhưng khi đa nhiệm, nó sử dụng các thuật toán lập lịch chuyên biệt để đạt được bản chất xác định của hành vi. Một hệ thống hướng sự kiện như vậy sẽ chuyển đổi giữa các tác vụ dựa trên mức độ ưu tiên của chúng hoặc các sự kiện bên ngoài, trong khi hệ điều hành chia sẻ thời gian chuyển đổi các tác vụ dựa trên các ngắt đồng hồ.
Thư viện
Hệ điều hành thư viện là hệ điều hành trong đó các dịch vụ mà hệ điều hành điển hình cung cấp, chẳng hạn như mạng, được cung cấp dưới dạng thư viện và được cấu tạo với ứng dụng và mã cấu hình để xây dựng một kênh đơn lẻ: một không gian địa chỉ chuyên biệt, một hình ảnh máy, có thể được triển khai cho môi trường đám mây hoặc môi trường nhúng.
Lịch sử
Máy tính ban đầu được chế tạo để thực hiện một loạt các tác vụ đơn lẻ, giống như một máy tính bỏ túi. Các tính năng cơ bản của hệ điều hành được phát triển vào những năm 1950, chẳng hạn như chức năng giám sát thường trú có thể tự động chạy các chương trình khác nhau liên tiếp để tăng tốc độ xử lý. Các hệ điều hành không tồn tại ở dạng hiện đại và phức tạp hơn cho đến đầu những năm 1960. Các tính năng phần cứng đã được thêm vào, cho phép sử dụng thư viện thời gian chạy, ngắt và xử lý song song. Khi máy tính cá nhân trở nên phổ biến vào những năm 1980, hệ điều hành được tạo ra cho chúng tương tự như khái niệm được sử dụng trên các máy tính lớn hơn.
Vào những năm 1940, các hệ thống kỹ thuật số điện tử sớm nhất không có hệ điều hành. Các hệ thống điện tử thời này được lập trình trên hàng công tắc cơ học hoặc bằng dây nhảy trên bảng cắm. Đây là những hệ thống có mục đích đặc biệt, ví dụ, tạo ra các bảng đạn đạo cho quân đội hoặc kiểm soát việc in phiếu tính lương từ dữ liệu trên thẻ giấy. Sau khi máy tính đa năng có thể lập trình được phát minh, các ngôn ngữ máy (bao gồm các chuỗi chữ số nhị phân 0 và 1 trên băng giấy đục lỗ) đã được giới thiệu để đẩy nhanh quá trình lập trình (Stern, 1981). nhỏ|[[OS/360 được sử dụng trên hầu hết các máy tính lớn của IBM bắt đầu từ năm 1966, bao gồm cả các máy tính được chương trình Apollo sử dụng.]] Vào đầu những năm 1950, một máy tính chỉ có thể thực thi một chương trình tại một thời điểm. Mỗi người dùng chỉ được sử dụng máy tính trong một khoảng thời gian giới hạn và sẽ đến vào thời gian đã định cùng với chương trình và dữ liệu của họ trên thẻ giấy đục lỗ hoặc băng đục lỗ. Chương trình sẽ được tải vào máy và máy sẽ được thiết lập để hoạt động cho đến khi chương trình hoàn thành hoặc gặp sự cố. Các chương trình thường có thể được gỡ lỗi thông qua bảng điều khiển phía trước bằng cách sử dụng công tắc bật tắt và đèn bảng điều khiển. Người ta nói rằng Alan Turing là một bậc thầy về điều này trên cỗ máy Manchester Mark 1 thời kỳ đầu, và ông đã suy nghĩ ra khái niệm về hệ điều hành từ các nguyên tắc của máy Turing phổ quát.
Các máy sau này đi kèm với các thư viện chương trình, sẽ được liên kết với chương trình của người dùng để hỗ trợ các hoạt động như nhập, xuất và biên dịch (tạo mã máy từ mã tượng trưng mà con người có thể đọc được). Đây là nguồn gốc của hệ điều hành hiện đại. Tuy nhiên, máy móc vẫn chạy một công việc duy nhất tại một thời điểm. Tại Đại học Cambridge ở Anh, hàng đợi việc làm trước đây là một dây chuyền giặt (dây phơi quần áo), từ đó người ta treo các cuộn băng dính với các giá treo quần áo màu khác nhau để chỉ ra mức độ ưu tiên công việc.
Một hệ điều hành khác là Atlas Supervisor. Được giới thiệu cùng với Manchester Atlas vào năm 1962, hệ điều hành này được nhiều người coi là hệ điều hành hiện đại đầu tiên được biết đến. Brinch Hansen mô tả nó là "bước đột phá quan trọng nhất trong lịch sử hệ điều hành."
Máy tính lớn (Mainframe)
Qua những năm 1950, nhiều tính năng quan trọng được đưa ra trong lĩnh vực hệ điều hành trên máy tính mainframe, bao gồm xử lý hàng loạt, đầu vào/đầu ra gián đoạn, đệm, đa nhiệm, spooling, thư viện runtime, liên kết nạp, và các chương trình cho sắp xếp các bản ghi trong tập tin. Các tính năng này được đưa vào hoặc không được đưa vào phần mềm ứng dụng theo tùy chọn của người lập trình ứng dụng, chứ không phải trong một hệ điều hành riêng biệt được sử dụng bởi tất cả các ứng dụng. Năm 1959, Hệ điều hành SHARE được phát hành dưới dạng tiện ích tích hợp cho IBM 704, và sau đó là các máy tính lớn 709 và 7090, mặc dù nó đã nhanh chóng bị IBSYS / IBJOB thay thế trên 709, 7090 và 7094.
Trong những năm 1960, OS/360 của IBM đã đưa ra khái niệm về một hệ điều hành duy nhất cho toàn bộ dòng sản phẩm, điều này rất quan trọng cho sự thành công của các máy System / 360. Hệ điều hành máy tính lớn hiện tại của IBM là hậu duệ xa của hệ thống gốc này và các máy hiện đại tương thích ngược với các ứng dụng được viết cho OS/360.
Hệ thống CP-67 thay thế cho S / 360-67 đã đi đầu cho việc toàn bộ dòng hệ điều hành IBM tập trung vào khái niệm máy ảo. Các hệ điều hành khác được sử dụng trên máy tính lớn dòng S / 360 của IBM bao gồm các hệ thống do IBM phát triển: COS / 360 (Hệ điều hành tương thích), DOS / 360 (Hệ điều hành đĩa), TSS / 360 (Hệ thống chia sẻ thời gian), TOS / 360 (Hệ điều hành băng Hệ thống), BOS / 360 (Hệ điều hành cơ bản) và ACP (Chương trình điều khiển hãng hàng không), cũng như một số hệ thống không phải của IBM: MTS (Hệ thống đầu cuối Michigan), MUSIC (Hệ thống đa người dùng cho máy tính tương tác) và ORVYL (Hệ thống chia sẻ thời gian của Stanford).
Control Data Corporation đã phát triển hệ điều hành SCOPE vào những năm 1960, để xử lý hàng loạt. Với sự hợp tác của Đại học Minnesota, hệ điều hành Kronos và sau đó là NOS đã được phát triển trong những năm 1970, hỗ trợ sử dụng đồng thời theo lô và chia sẻ thời gian. Giống như nhiều hệ thống chia sẻ thời gian thương mại, giao diện của nó là một phần mở rộng của hệ điều hành Dartmouth BASIC, một trong những nỗ lực tiên phong trong các ngôn ngữ lập trình và chia sẻ thời gian. Vào cuối những năm 1970, Control Data và Đại học Illinois đã phát triển hệ điều hành PLATO, sử dụng màn hình bảng plasma và mạng chia sẻ thời gian đường dài. Plato đã đổi mới đáng kể vào thời điểm đó, có tính năng trò chuyện thời gian thực và các trò chơi đồ họa cho nhiều người dùng.
Năm 1961, Burroughs Corporation giới thiệu B5000 với hệ điều hành MCP (Master Control Program). B5000 là một máy xếp chồng được thiết kế để hỗ trợ độc quyền các ngôn ngữ cấp cao mà không có ngôn ngữ máy hoặc trình biên dịch; thực sự, MCP là hệ điều hành đầu tiên được viết độc quyền bằng một ngôn ngữ cấp cao (ESPOL, một phương ngữ của ALGOL). MCP cũng giới thiệu nhiều cải tiến đột phá khác, chẳng hạn như việc triển khai thương mại đầu tiên của bộ nhớ ảo. Trong quá trình phát triển AS / 400, IBM đã tiếp cận Burroughs để cấp phép cho MCP chạy trên phần cứng AS / 400. Đề xuất này đã bị ban lãnh đạo Burroughs từ chối để bảo vệ hoạt động sản xuất phần cứng hiện có của họ. MCP ngày nay vẫn được sử dụng trong dòng máy tính ClearPath / MCP của công ty Unisys.
UNIVAC, nhà sản xuất máy tính thương mại đầu tiên, đã sản xuất một loạt hệ điều hành EXEC. Giống như tất cả các hệ thống khung chính đầu tiên, hệ thống định hướng hàng loạt này quản lý trống từ, đĩa, đầu đọc thẻ và máy in dòng. Vào những năm 1970, UNIVAC đã sản xuất hệ thống Real-Time Basic (RTB) để hỗ trợ chia sẻ thời gian quy mô lớn, cũng được lấy theo khuôn mẫu của hệ thống Dartmouth BC.
General Electric và MIT đã phát triển Bộ giám sát điều hành toàn diện General Electric (GECOS), đưa ra khái niệm về các mức đặc quyền bảo mật được gọi. Sau khi được Honeywell mua lại, nó được đổi tên thành General Comprehensive Operating System (GCOS).
Digital Equipment Corporation đã phát triển nhiều hệ điều hành cho các dòng máy tính khác nhau của mình, bao gồm hệ thống chia sẻ thời gian TOPS-10 và TOPS-20 cho các hệ thống lớp PDP-10 36-bit. Trước khi UNIX được sử dụng rộng rãi, TOPS-10 là một hệ thống đặc biệt phổ biến trong các trường đại học và trong cộng đồng ARPANET sơ khai. RT-11 là hệ điều hành thời gian thực một người dùng cho máy tính mini lớp PDP-11 và RSX-11 là hệ điều hành đa người dùng tương ứng.
Từ cuối những năm 1960 đến cuối những năm 1970, một số khả năng phần cứng đã phát triển cho phép phần mềm tương tự hoặc phần mềm được chuyển đổi chạy trên nhiều hệ thống. Các hệ thống ban đầu đã sử dụng vi lập trình để triển khai các tính năng trên hệ thống của chúng nhằm cho phép các kiến trúc máy tính cơ bản khác nhau có vẻ giống với các kiến trúc khác trong cùng một thế hệ máy. Trên thực tế, hầu hết các máy tính 360 sau 360/40 (ngoại trừ 360/165 và 360/168) là các triển khai được lập trình vi mô.
Việc đầu tư lớn vào phần mềm cho các hệ thống này được thực hiện từ những năm 1960 đã khiến hầu hết các nhà sản xuất máy tính ban đầu tiếp tục phát triển các hệ điều hành tương thích cùng với phần cứng. Các hệ điều hành máy tính lớn được hỗ trợ đáng chú ý bao gồm:
Máy vi tính
nhỏ|256x256px|[[PC DOS là một hệ điều hành máy tính cá nhân ban đầu có giao diện dòng lệnh.]] Những máy vi tính đầu tiên không có khả năng hoặc không cần đến hệ điều hành phức tạp đã được phát triển cho máy tính lớn và máy tính nhỏ; hệ điều hành tối giản được phát triển, thường được tải từ ROM và được gọi là monitor. Một hệ điều hành đĩa ban đầu đáng chú ý là CP/M, được hỗ trợ trên nhiều máy vi tính đời đầu và được MS-DOS của Microsoft bắt chước triệt để. Hệ điều hành này đã trở nên phổ biến rộng rãi như là hệ điều hành được chọn cho các máy IBM PC (phiên bản tương đương của IBM được gọi là IBM DOS hoặc PC DOS). Vào những năm 1980, Apple Computer Inc. (nay là Apple Inc.) đã từ bỏ dòng máy vi tính Apple II phổ biến của mình để giới thiệu dòng máy tính Apple Macintosh với giao diện người dùng đồ họa (GUI) sáng tạo cho Mac OS.
Sự ra đời của chip CPU Intel 80386 vào tháng 10 năm 1985, với kiến trúc 32-bit và khả năng phân trang, cung cấp cho các máy tính cá nhân khả năng chạy các hệ điều hành đa nhiệm giống như các máy tính mini và máy tính lớn trước đó. Microsoft đã đáp lại tiến độ này bằng cách thuê Dave Cutler, người đã phát triển hệ điều hành VMS cho Digital Equipment Corporation. Cutler sau đó lãnh đạo sự phát triển của hệ điều hành Windows NT, đưa hệ điều hành này tiếp tục đóng vai trò là nền tảng cho dòng hệ điều hành của Microsoft. Steve Jobs, người đồng sáng lập Apple Inc., đã thành lập NeXT Computer Inc., công ty đã phát triển hệ điều hành NEXTSTEP. NEXTSTEP sau đó được Apple Inc. mua lại và sử dụng, cùng với mã nguồn từ FreeBSD để làm thành nhân cho hệ điều hành MacOS X (macOS sau lần đổi tên mới nhất).
Dự án GNU được nhà hoạt động và lập trình viên Richard Stallman khởi động với mục tiêu tạo ra một phần mềm thay thế hoàn toàn miễn phí cho hệ điều hành UNIX độc quyền. Mặc dù dự án đã rất thành công trong việc nhân bản chức năng của các phần khác nhau của UNIX, nhưng việc phát triển nhân GNU Hurd tỏ ra không hiệu quả. Năm 1991, một sinh viên khoa học máy tính Phần Lan tên là Linus Torvalds, với sự hợp tác từ các tình nguyện viên cộng tác qua Internet, đã phát hành phiên bản đầu tiên của nhân Linux. Nó sớm được hợp nhất với các thành phần không gian người dùng GNU và phần mềm hệ thống để tạo thành một hệ điều hành hoàn chỉnh. Kể từ đó, sự kết hợp của hai thành phần chính thường được ngành công nghiệp phần mềm gọi đơn giản là "Linux", một quy ước đặt tên mà Stallman và Tổ chức Phần mềm Tự do vẫn phản đối, ưu tiên tên gọi GNU/Linux. Bản phân phối phần mềm Berkeley của Unix, được gọi là BSD, là dẫn xuất UNIX được Đại học California, Berkeley bắt đầu phân phối từ những năm 1970. Được phân phối tự do và chuyển qua nhiều máy tính mini, cuối cùng nó cũng thu được một lượng lớn người sử dụng trên PC, chủ yếu là dưới dạng các phiên bản FreeBSD, NetBSD và OpenBSD.
Hệ điều hành Unix và các sản phẩm tương tự
Unix ban đầu được viết bằng hợp ngữ. Ken Thompson đã viết B, chủ yếu dựa trên BCPL, dựa trên kinh nghiệm của ông trong dự án MULTICS. B được thay thế bằng C, và Unix, được viết lại bằng C, được phát triển thành một họ lớn, phức tạp gồm các hệ điều hành liên quan đến nhau có ảnh hưởng đến mọi hệ điều hành hiện đại (xem Lịch sử).
Họ các hệ điều hành giống Unix là một nhóm hệ điều hành đa dạng, với một số danh mục con chính bao gồm Hệ thống V, BSD và Linux. Tên " UNIX " là nhãn hiệu của The Open Group cấp phép cho nó sử dụng với bất kỳ hệ điều hành nào đã được chứng minh là phù hợp với định nghĩa của họ. "Giống UNIX" thường được dùng để chỉ một tập hợp lớn các hệ điều hành giống với UNIX gốc.
Các hệ thống giống Unix chạy trên nhiều loại kiến trúc máy tính. Chúng được sử dụng nhiều cho các máy chủ trong kinh doanh, cũng như các máy trạm trong môi trường học thuật và kỹ thuật. Các biến thể UNIX miễn phí, chẳng hạn như Linux và BSD, rất phổ biến ở những khu vực này.
Bốn hệ điều hành được The Open Group (chủ sở hữu nhãn hiệu Unix) chứng nhận là Unix. HP -UX của HP và AIX của IBM đều là hậu duệ của System V Unix ban đầu và được thiết kế để chỉ chạy trên phần cứng của nhà cung cấp tương ứng. Ngược lại, Solaris của Sun Microsystems có thể chạy trên nhiều loại phần cứng, bao gồm máy chủ x86, Sparc và PC. MacOS của Apple, sự thay thế cho Mac OS (không phải Unix) trước đó của Apple, là một biến thể BSD dựa trên hạt nhân lai có nguồn gốc từ NeXTSTEP, Mach và FreeBSD.
Khả năng tương tác giữa các hệ điều hành Unix đã được thực hiện bằng cách thiết lập tiêu chuẩn POSIX. Tiêu chuẩn POSIX có thể được áp dụng cho bất kỳ hệ điều hành nào, mặc dù ban đầu nó được tạo ra cho các biến thể Unix khác nhau.
BSD và các sản phẩm con của nó
nhỏ|256x256px|Máy [[CERN httpd|chủ đầu tiên cho World Wide Web chạy trên NeXTSTEP, dựa trên BSD.]] Một nhóm con của họ Unix là họ Phân phối Phần mềm Berkeley, bao gồm FreeBSD, NetBSD và OpenBSD. Các hệ điều hành này thường thấy nhất trên máy chủ web, mặc dù chúng cũng có thể hoạt động như một hệ điều hành máy tính cá nhân. Internet có phần lớn sự tồn tại của nó đối với BSD, vì nhiều giao thức hiện nay thường được máy tính sử dụng để kết nối, gửi và nhận dữ liệu qua mạng đã được triển khai và cải tiến rộng rãi trong BSD. World Wide Web cũng lần đầu tiên được trình diễn trên một số máy tính chạy hệ điều hành dựa trên BSD được gọi là NeXTSTEP.
Năm 1974, Đại học California, Berkeley lắp đặt hệ thống Unix đầu tiên của mình. Theo thời gian, các sinh viên và nhân viên trong khoa khoa học máy tính ở đó bắt đầu thêm các chương trình mới để làm cho mọi thứ dễ dàng hơn, chẳng hạn như trình soạn thảo văn bản. Khi Berkeley nhận được máy tính VAX mới vào năm 1978 có cài đặt Unix, các sinh viên chưa tốt nghiệp của trường đã sửa đổi Unix nhiều hơn để tận dụng khả năng phần cứng của máy tính. Các Defense Advanced Research Projects Agency của Mỹ Bộ Quốc phòng mất sự quan tâm, và quyết định tài trợ cho dự án. Nhiều trường học, tập đoàn và tổ chức chính phủ đã chú ý và bắt đầu sử dụng phiên bản Unix của Berkeley thay vì phiên bản chính thức do AT&T phân phối.
Steve Jobs, sau khi rời Apple Inc. vào năm 1985, thành lập NeXT Inc., một công ty sản xuất máy tính cao cấp chạy trên một biến thể của BSD có tên là NeXTSTEP. Một trong những máy tính này được Tim Berners-Lee sử dụng làm máy chủ web đầu tiên tạo ra World Wide Web.
Các nhà phát triển như Keith Bostic khuyến khích dự án thay thế bất kỳ mã không miễn phí nào có nguồn gốc từ Bell Labs. Tuy nhiên, sau khi việc này được thực hiện, AT&T đã khởi kiện. Sau hai năm tranh chấp pháp lý, dự án BSD đã sinh ra một số công cụ phái sinh miễn phí, chẳng hạn như NetBSD và FreeBSD (cả hai vào năm 1993) và OpenBSD (từ NetBSD vào năm 1995).
macOS
macOS (trước đây là "Mac OS X" và sau này là "OS X") là một dòng hệ điều hành đồ họa lõi mở được phát triển, tiếp thị và bán bởi Apple Inc., hệ điều hành mới nhất được tải sẵn trên tất cả các máy tính Macintosh hiện đang vận chuyển. macOS là sự kế thừa của Mac OS cổ điển ban đầu, là hệ điều hành chính của Apple từ năm 1984. Không giống như người tiền nhiệm của nó, macOS là một hệ điều hành UNIX được xây dựng trên công nghệ đã được phát triển tại NeXT trong nửa sau của những năm 1980 và cho đến khi Apple mua lại công ty vào đầu năm 1997. Hệ điều hành được phát hành lần đầu tiên vào năm 1999 với tên gọi Mac OS X Server 1.0, sau đó vào tháng 3 năm 2001 bởi một phiên bản máy khách (Mac OS X v10.0 "Cheetah"). Kể từ đó, sáu phiên bản "máy khách" và " máy chủ " khác biệt hơn của macOS đã được phát hành, cho đến khi cả hai được hợp nhất trong OS X 10.7 "Lion".
Trước khi hợp nhất với macOS, phiên bản máy chủ – macOS Server – có kiến trúc giống hệt hệ điều hành cho máy tính để bàn và thường chạy trên dòng phần cứng máy chủ Macintosh của Apple. macOS Server bao gồm các công cụ phần mềm quản lý và quản lý nhóm công việc cung cấp quyền truy cập đơn giản vào các dịch vụ mạng chính, bao gồm tác nhân truyền thư, máy chủ Samba, máy chủ LDAP, máy chủ tên miền và các công cụ khác. Với Mac OS X v10.7 Lion, tất cả các khía cạnh máy chủ của Mac OS X Server đã được tích hợp vào phiên bản máy khách và sản phẩm được đổi tên thành "OS X" (bỏ "Mac" khỏi tên). Các công cụ máy chủ hiện được cung cấp dưới dạng ứng dụng.
Linux
liên_kết=https://vi.wikipedia.org/wiki/T%E1%BA%ADp tin:Ubuntu_19.04_%22Disco_Dingo%22.png|nhỏ|250x250px|[[Ubuntu, bản phân phối Linux dành cho máy tính để bàn]] nhỏ|296x296px|[[Linux, một hệ điều hành giống unix được Linus Torvalds phát hành lần đầu tiên vào ngày 17 tháng 9 năm 1991.  Hình ảnh chú chim cánh cụt Tux, linh vật của Linux. ]] Nhân Linux bắt nguồn từ năm 1991, là một dự án của Linus Torvalds, khi đang là sinh viên đại học ở Phần Lan. Anh ấy đã đăng thông tin về dự án của mình trên một nhóm tin dành cho sinh viên và lập trình viên máy tính, đồng thời nhận được sự hỗ trợ và giúp đỡ từ các tình nguyện viên đã thành công trong việc tạo ra một nhân hoàn chỉnh và có chức năng.
Linux giống Unix, nhưng được phát triển mà không có bất kỳ mã nguồn Unix nào, không giống như BSD và các biến thể của nó. Do mô hình giấy phép mở của nó, mã nhân Linux có sẵn để nghiên cứu và sửa đổi, dẫn đến việc nó được sử dụng trên nhiều loại máy tính từ siêu máy tính đến đồng hồ thông minh. Mặc dù các ước tính cho thấy Linux chỉ được sử dụng trên 1,82% của tất cả các PC "để bàn" (hoặc máy tính xách tay), nó đã được chấp nhận rộng rãi để sử dụng trong máy chủ và các hệ thống nhúng như điện thoại di động. Linux đã thay thế Unix trên nhiều nền tảng và được sử dụng trên hầu hết các siêu máy tính bao gồm cả 385 hàng đầu. Nhiều máy tính giống nhau cũng có trên Green500 (nhưng theo thứ tự khác nhau) và Linux chạy trên top 10. Linux cũng thường được sử dụng trên các máy tính nhỏ tiết kiệm năng lượng khác, chẳng hạn như điện thoại thông minh và đồng hồ thông minh. Nhân Linux được sử dụng trong một số bản phân phối phổ biến, chẳng hạn như Red Hat, Debian, Ubuntu, Linux Mint và Android, Chrome OS và Chromium OS của Google.
Microsoft Windows
Microsoft Windows là một dòng hệ điều hành độc quyền được Tập đoàn Microsoft thiết kế và chủ yếu nhắm mục tiêu đến các máy tính dựa trên kiến trúc Intel, với ước tính 88,9% tổng mức sử dụng trên các máy tính được kết nối Web. Phiên bản mới nhất là Windows 11.
Vào năm 2011, Windows 7 đã vượt qua Windows XP để trở thành phiên bản phổ biến nhất được sử dụng.
Microsoft Windows được phát hành lần đầu tiên vào năm 1985, với tư cách là một môi trường điều hành chạy trên nền tảng MS-DOS, đây là hệ điều hành tiêu chuẩn được sử dụng trên hầu hết các máy tính cá nhân kiến trúc Intel vào thời điểm đó. Năm 1995, Windows 95 được phát hành chỉ sử dụng MS-DOS làm bootstrap. Để tương thích ngược, Win9x có thể chạy MS-DOS ở chế độ thực và với các driver 16-bit Windows 3.x. Windows ME, được phát hành năm 2000, là phiên bản cuối cùng trong gia đình Win9x. Các phiên bản sau này đều dựa trên nhân của Windows NT. Phiên bản ứng dụng khách hiện tại của Windows chạy trên các vi xử lý IA-32, x86-64 và 32-bit ARM. Ngoài ra các vi xử lý Itanium vẫn được hỗ trợ trong phiên bản máy chủ cũ hơn Windows Server 2008 R2. Trước đây, Windows NT hỗ trợ các kiến trúc bổ sung.
Các phiên bản máy chủ của Windows được sử dụng rộng rãi. Trong những năm gần đây, Microsoft đã chi ra số vốn đáng kể trong nỗ lực thúc đẩy việc sử dụng Windows như một hệ điều hành máy chủ. Tuy nhiên, việc sử dụng Windows trên máy chủ không phổ biến như trên máy tính cá nhân do Windows phải cạnh tranh với Linux và BSD để giành thị phần máy chủ.
ReactOS là một hệ điều hành thay thế cho Windows, đang được phát triển trên các nguyên tắc của Windows – mà không sử dụng bất kỳ mã nguồn nào của Microsoft.
Khác
Đã có nhiều hệ điều hành quan trọng trong thời của chúng nhưng hiện tại không còn được như vậy nữa, chẳng hạn như AmigaOS; OS/2 của IBM và Microsoft; Mac OS cổ điển, tiền thân không phải Unix của macOS của Apple; BeOS; XTS-300; Hệ điều hành RISC; MorphOS; Haiku; BareMetal và FreeMint. Một số vẫn được sử dụng trong các thị trường ngách và tiếp tục được phát triển như một nền tảng thiểu số cho các cộng đồng đam mê và các ứng dụng chuyên dụng. OpenVMS, trước đây của DEC, vẫn đang được VMS Software Inc. phát triển tích cực. Tuy nhiên, các hệ điều hành này hầu như chỉ được sử dụng trong học thuật, giáo dục hệ điều hành hoặc nghiên cứu về các khái niệm hệ điều hành. Ví dụ điển hình của một hệ thống đáp ứng cả hai vai trò là MINIX, trong khi ví dụ Singularity được sử dụng thuần túy cho nghiên cứu. Một ví dụ khác là Oberon được thiết kế tại ETH Zürich bởi Niklaus Wirth, Jürg Gutknecht và một nhóm sinh viên tại Viện Hệ thống Máy tính vào những năm 1980. Nó được sử dụng chủ yếu cho nghiên cứu, giảng dạy và công việc hàng ngày trong nhóm của Wirth.
Các hệ điều hành khác đã không giành được thị phần đáng kể, nhưng đã đưa ra những đổi mới có ảnh hưởng đến các hệ điều hành chính thống, đặc biệt là Plan 9 của Bell Labs.
Thành phần
Tất cả các thành phần của hệ điều hành đều tồn tại để làm cho các bộ phận khác nhau của máy tính hoạt động cùng nhau. Tất cả phần mềm người dùng cần phải thông qua hệ điều hành để sử dụng bất kỳ phần cứng nào, cho dù nó đơn giản như chuột hoặc bàn phím hay phức tạp như một thành phần Internet.
Nhân
nhỏ|Nhân của hệ điều hành kết nối phần mềm ứng dụng với phần cứng của máy tính. Với sự hỗ trợ của phần sụn và trình điều khiển thiết bị, nhân của hệ điều hành cung cấp mức kiểm soát cơ bản nhất đối với tất cả các thiết bị phần cứng của máy tính. Nó quản lý quyền truy cập bộ nhớ cho các chương trình trong RAM, nó xác định chương trình nào có quyền truy cập vào tài nguyên phần cứng nào, nó thiết lập hoặc đặt lại trạng thái hoạt động của CPU để luôn hoạt động tối ưu và nó tổ chức dữ liệu trong các bộ nhớ lưu trữ tĩnh với các hệ thống tập tin trên các phương tiện như đĩa, băng, bộ nhớ flash,...
Thực hiện chương trình
Hệ điều hành cung cấp giao diện giữa chương trình ứng dụng và phần cứng máy tính, do đó chương trình ứng dụng chỉ có thể tương tác với phần cứng bằng cách tuân theo các quy tắc và thủ tục được lập trình trong hệ điều hành. Hệ điều hành cũng là một tập hợp các dịch vụ giúp đơn giản hóa việc phát triển và thực thi các chương trình ứng dụng. Việc thực thi một chương trình ứng dụng bao gồm việc tạo ra một quy trình bởi hạt nhân hệ điều hành để gán không gian bộ nhớ và các tài nguyên khác, thiết lập mức độ ưu tiên cho quy trình trong hệ thống đa tác vụ, tải mã nhị phân của chương trình vào bộ nhớ và bắt đầu thực thi chương trình ứng dụng. sau đó tương tác với người dùng và với các thiết bị phần cứng.
Ngắt
Khi nhận được một ngắt, phần cứng của máy tính sẽ tự động tạm dừng bất kỳ chương trình nào hiện đang chạy, lưu trạng thái của nó và chạy mã máy tính trước đó được liên kết với ngắt; điều này tương tự như việc đặt dấu trang trong sách để trả lời một cuộc gọi điện thoại. Trong các hệ điều hành hiện đại, các ngắt được nhân của hệ điều hành xử lý. Ngắt có thể đến từ phần cứng của máy tính hoặc chương trình đang chạy.
Khi một thiết bị phần cứng kích hoạt ngắt, hạt nhân của hệ điều hành sẽ quyết định cách đối phó với sự kiện này, thường bằng cách chạy một số mã xử lý. Số lượng mã đang được chạy phụ thuộc vào mức độ ưu tiên của ngắt (ví dụ: một người thường trả lời báo động bằng máy dò khói trước khi trả lời điện thoại). Xử lý ngắt phần cứng là một tác vụ thường được giao cho phần mềm được gọi là trình điều khiển thiết bị, phần mềm này có thể là một phần của nhân hệ điều hành, một phần của chương trình khác hoặc cả hai. Trình điều khiển thiết bị sau đó có thể chuyển tiếp thông tin đến một chương trình đang chạy bằng nhiều cách khác nhau.
Một chương trình cũng có thể kích hoạt một ngắt đối với hệ điều hành. Ví dụ: nếu một chương trình muốn truy cập vào phần cứng, nó có thể làm gián đoạn nhân của hệ điều hành, điều này khiến quyền kiểm soát được chuyển lại cho nhân. Sau đó, nhân sẽ xử lý yêu cầu. Nếu một chương trình muốn có thêm tài nguyên (hoặc muốn loại bỏ tài nguyên) như bộ nhớ, nó sẽ kích hoạt ngắt để thu hút sự chú ý của nhân.
Các chế độ
Khi bật nguồn hoặc đặt lại, hệ thống bắt đầu ở chế độ giám sát. Khi một nhân hệ điều hành đã được tải và khởi động, ranh giới giữa chế độ người dùng và chế độ giám sát (còn được gọi là chế độ nhân) có thể được thiết lập.
Chế độ giám sát được hạt nhân sử dụng cho các tác vụ cấp thấp cần quyền truy cập không hạn chế vào phần cứng, chẳng hạn như kiểm soát cách bộ nhớ được truy cập và giao tiếp với các thiết bị như ổ đĩa và thiết bị hiển thị video. Ngược lại, chế độ người dùng được sử dụng cho hầu hết mọi thứ khác. Các chương trình ứng dụng, chẳng hạn như bộ xử lý văn bản và trình quản lý cơ sở dữ liệu, hoạt động trong chế độ người dùng và chỉ có thể truy cập tài nguyên máy bằng cách chuyển quyền điều khiển sang hạt nhân, một quá trình gây chuyển sang chế độ giám sát. Thông thường, việc chuyển quyền điều khiển tới hạt nhân được thực hiện bằng cách thực hiện lệnh ngắt phần mềm, chẳng hạn như lệnh Motorola 68000. Sự gián đoạn của phần mềm khiến bộ vi xử lý chuyển từ chế độ người dùng sang chế độ người giám sát và bắt đầu thực thi mã cho phép nhân thực hiện kiểm soát.
Ở chế độ người dùng, các chương trình thường có quyền truy cập vào một tập hợp các lệnh hạn chế của bộ vi xử lý và thường không thể thực hiện bất kỳ lệnh nào có thể gây gián đoạn hoạt động của hệ thống. Trong chế độ người giám sát, các giới hạn thực thi lệnh thường được loại bỏ, cho phép hạt nhân truy cập không hạn chế vào tất cả các tài nguyên máy.
Quản lý bộ nhớ
Nhân hệ điều hành đa chương trình phải chịu trách nhiệm quản lý tất cả bộ nhớ hệ thống hiện đang được các chương trình sử dụng. Điều này đảm bảo rằng một chương trình không can thiệp vào bộ nhớ đã được chương trình khác sử dụng. Vì chương trình chia sẻ thời gian, mỗi chương trình phải có quyền truy cập độc lập vào bộ nhớ.
Quản lý bộ nhớ hợp tác, được sử dụng bởi nhiều hệ điều hành ban đầu, giả định rằng tất cả các chương trình sử dụng tự nguyện trình quản lý bộ nhớ của nhân và không vượt quá bộ nhớ được cấp phát của chúng. Hệ thống quản lý bộ nhớ này hầu như không còn xuất hiện nữa, vì các chương trình thường chứa các lỗi có thể khiến chúng vượt quá bộ nhớ được cấp phát. Nếu một chương trình bị lỗi, nó có thể khiến bộ nhớ được sử dụng bởi một hoặc nhiều chương trình khác bị ảnh hưởng hoặc bị ghi đè. Các chương trình hoặc vi rút độc hại có thể cố ý thay đổi bộ nhớ của chương trình khác hoặc có thể ảnh hưởng đến hoạt động của chính hệ điều hành. Với tính năng quản lý bộ nhớ hợp tác, chỉ cần một chương trình hoạt động sai có thể làm hệ thống gặp sự cố.
Falcipennis canadensis
Falcipennis canadensis là một loài chim trong họ Phasianidae.
Hệ điều hành
Quản lý bộ nhớ
Bảo vệ bộ nhớ cho phép hạt nhân giới hạn quyền truy cập của một tiến trình vào bộ nhớ của máy tính. Có nhiều phương pháp bảo vệ bộ nhớ khác nhau, bao gồm phân đoạn bộ nhớ và phân trang. Tất cả các phương pháp đều yêu cầu một số mức hỗ trợ phần cứng (chẳng hạn như 80286 MMU), điều này không tồn tại trong tất cả các máy tính.
Falcipennis canadensis
Chú thích
C C
Hệ điều hành
Quản lý bộ nhớ
Trong cả phân đoạn và phân trang, một số thanh ghi chế độ được bảo vệ chỉ định cho CPU địa chỉ bộ nhớ mà nó sẽ cho phép một chương trình đang chạy truy cập. Nỗ lực truy cập các địa chỉ khác sẽ kích hoạt ngắt khiến CPU vào lại chế độ giám sát, đặt hạt nhân phụ trách. Đây được gọi là vi phạm phân đoạn hoặc viết tắt là Seg-V, và vì rất khó để gán một kết quả có ý nghĩa cho một hoạt động như vậy và bởi vì nó thường là dấu hiệu của một chương trình hoạt động sai, nhân của hệ điều hành thường sử dụng để chấm dứt chương trình vi phạm và báo cáo lỗi.
Các phiên bản Windows 3.1 đến ME có một số mức độ bảo vệ bộ nhớ, nhưng các chương trình có thể dễ dàng phá vỡ nhu cầu sử dụng nó. Một lỗi bảo vệ chung sẽ được tạo ra, cho thấy một vi phạm phân đoạn đã xảy ra; tuy nhiên, hệ thống sẽ thường xuyên bị lỗi và đổ vỡ.
Bộ nhớ ảo
nhỏ|395x395px|Nhiều hệ điều hành có thể "lừa" các chương trình sử dụng bộ nhớ nằm rải rác xung quanh đĩa cứng và RAM như thể nó là một phần bộ nhớ liên tục, được gọi là bộ nhớ ảo. Việc sử dụng địa chỉ bộ nhớ ảo (chẳng hạn như phân trang hoặc phân đoạn) có nghĩa là hạt nhân có thể chọn bộ nhớ mà mỗi chương trình có thể sử dụng tại bất kỳ thời điểm nào, cho phép hệ điều hành sử dụng cùng vị trí bộ nhớ cho nhiều tác vụ.
Nếu một chương trình cố gắng truy cập bộ nhớ không nằm trong phạm vi bộ nhớ có thể truy cập hiện tại của nó, nhưng dù sao cũng đã được cấp phát cho nó, thì hạt nhân sẽ bị gián đoạn giống như khi chương trình vượt quá bộ nhớ được cấp phát. Trong UNIX, loại ngắt này được gọi là lỗi trang.
Khi hạt nhân phát hiện lỗi trang, nó thường điều chỉnh phạm vi bộ nhớ ảo của chương trình đã kích hoạt nó, cấp cho nó quyền truy cập vào bộ nhớ được yêu cầu. Điều này cung cấp cho hạt nhân quyền lực tùy ý đối với nơi bộ nhớ của một ứng dụng cụ thể được lưu trữ, hoặc thậm chí nó đã thực sự được cấp phát hay chưa.
Trong các hệ điều hành hiện đại, bộ nhớ được truy cập ít thường xuyên hơn có thể được lưu trữ tạm thời trên đĩa hoặc phương tiện khác để cung cấp không gian đó cho các chương trình khác. Điều này được gọi là hoán đổi, vì một vùng bộ nhớ có thể được nhiều chương trình sử dụng và những gì vùng bộ nhớ đó chứa có thể được hoán đổi hoặc trao đổi theo yêu cầu.
"Bộ nhớ ảo" cung cấp cho lập trình viên hoặc người dùng nhận thức rằng có một lượng RAM trong máy tính lớn hơn nhiều so với thực tế.
Đa nhiệm
Đa nhiệm đề cập đến việc chạy nhiều chương trình máy tính độc lập trên cùng một máy tính; tạo ra vẻ ngoài mà nó đang thực hiện các nhiệm vụ cùng một lúc. Vì hầu hết các máy tính có thể làm nhiều nhất một hoặc hai việc cùng một lúc, điều này thường được thực hiện thông qua chia sẻ thời gian, có nghĩa là mỗi chương trình sử dụng một phần thời gian của máy tính để thực thi.
Hạt nhân hệ điều hành chứa một chương trình lập lịch để xác định lượng thời gian mà mỗi tiến trình dành để thực thi và theo thứ tự kiểm soát thực thi sẽ được chuyển cho các chương trình. Kiểm soát được hạt nhân chuyển cho một quá trình, cho phép chương trình truy cập vào CPU và bộ nhớ. Sau đó, quyền điều khiển được trả lại cho hạt nhân thông qua một số cơ chế, để một chương trình khác có thể được phép sử dụng CPU. Cái gọi là chuyển quyền kiểm soát giữa hạt nhân và các ứng dụng được gọi là chuyển đổi ngữ cảnh.
Một mô hình ban đầu điều chỉnh việc phân bổ thời gian cho các chương trình được gọi là đa nhiệm hợp tác. Trong mô hình này, khi điều khiển được hạt nhân chuyển cho một chương trình, nó có thể thực thi bao lâu tùy thích trước khi trả lại điều khiển một cách rõ ràng cho hạt nhân. Điều này có nghĩa là một chương trình độc hại hoặc bị trục trặc có thể không chỉ ngăn cản bất kỳ chương trình nào khác sử dụng CPU mà còn có thể treo toàn bộ hệ thống nếu nó đi vào một vòng lặp vô hạn.
Các hệ điều hành hiện đại mở rộng khái niệm về quyền ưu tiên của ứng dụng đối với trình điều khiển thiết bị và mã hạt nhân, do đó hệ điều hành cũng có quyền kiểm soát ưu tiên đối với thời gian chạy nội bộ.
Truy cập đĩa và hệ thống tập tin
nhỏ|256x256px|Hệ thống tập tin cho phép người dùng và chương trình tổ chức và sắp xếp tập tin trên máy tính, thường thông qua việc sử dụng các thư mục. Quyền truy cập vào dữ liệu được lưu trữ trên đĩa là tính năng trung tâm của tất cả các hệ điều hành. Máy tính lưu trữ dữ liệu trên đĩa bằng cách sử dụng các tập tin, được cấu trúc theo những cách cụ thể để cho phép truy cập nhanh hơn, độ tin cậy cao hơn và tận dụng tốt hơn dung lượng có sẵn của ổ đĩa. Cách cụ thể mà các tập tin được lưu trữ trên đĩa được gọi là hệ thống tập tin và cho phép các tập tin có tên và thuộc tính. Nó cũng cho phép chúng được lưu trữ trong một hệ thống phân cấp các thư mục hoặc các thư mục được sắp xếp trong cây thư mục.
Các hệ điều hành ban đầu thường hỗ trợ một loại ổ đĩa duy nhất và chỉ một loại hệ thống tập tin. Các hệ thống tập tin ban đầu bị hạn chế về dung lượng, tốc độ và các loại tên tập tin và cấu trúc thư mục mà chúng có thể sử dụng. Những hạn chế này thường phản ánh những hạn chế trong hệ điều hành mà chúng được thiết kế, khiến một hệ điều hành rất khó hỗ trợ nhiều hệ thống tập tin.
Trong khi nhiều hệ điều hành đơn giản hơn hỗ trợ một số tùy chọn hạn chế để truy cập hệ thống lưu trữ, các hệ điều hành như UNIX và Linux hỗ trợ công nghệ được gọi là hệ thống tập tin ảo hoặc VFS. Hệ điều hành như UNIX hỗ trợ nhiều loại thiết bị lưu trữ, bất kể thiết kế hoặc hệ thống tập tin của chúng, cho phép chúng được truy cập thông qua giao diện lập trình ứng dụng chung (API). Điều này làm cho các chương trình không cần thiết phải có bất kỳ kiến thức nào về thiết bị mà chúng đang truy cập. VFS cho phép hệ điều hành cung cấp các chương trình có quyền truy cập vào số lượng thiết bị không giới hạn với vô số hệ thống tập tin được cài đặt trên chúng, thông qua việc sử dụng trình điều khiển thiết bị cụ thể và trình điều khiển hệ thống tập tin.
Thiết bị lưu trữ được kết nối, chẳng hạn như ổ cứng, được truy cập thông qua trình điều khiển thiết bị. Trình điều khiển thiết bị hiểu ngôn ngữ cụ thể của ổ đĩa và có thể dịch ngôn ngữ đó sang ngôn ngữ chuẩn được hệ điều hành sử dụng để truy cập tất cả các ổ đĩa. Trên UNIX, đây là ngôn ngữ của các thiết bị khối.
Khi hạt nhân có sẵn một trình điều khiển thiết bị thích hợp, nó có thể truy cập nội dung của ổ đĩa ở định dạng thô, có thể chứa một hoặc nhiều hệ thống tập tin. Trình điều khiển hệ thống tập tin được sử dụng để dịch các lệnh được sử dụng để truy cập từng hệ thống tập tin cụ thể thành một tập hợp lệnh tiêu chuẩn mà hệ điều hành có thể sử dụng để nói chuyện với tất cả các hệ thống tập tin. Các chương trình sau đó có thể xử lý các hệ thống tập tin này trên cơ sở tên tập tin và các thư mục / thư mục, được chứa trong cấu trúc phân cấp. Chúng có thể tạo, xóa, mở và đóng các tập tin cũng như thu thập nhiều thông tin khác nhau về chúng, bao gồm quyền truy cập, kích thước, dung lượng trống và ngày tạo và sửa đổi.
Sự khác biệt khác nhau giữa các hệ thống tập tin làm cho việc hỗ trợ tất cả các hệ thống tập tin trở nên khó khăn. Các ký tự được phép trong tên tập tin, phân biệt chữ hoa chữ thường và sự hiện diện của nhiều loại thuộc tính tập tin khác nhau khiến việc triển khai một giao diện duy nhất cho mọi hệ thống tập tin trở thành một nhiệm vụ khó khăn. Các hệ điều hành có xu hướng khuyến nghị sử dụng (và do đó hỗ trợ nguyên bản) các hệ thống tập tin được thiết kế đặc biệt cho chúng; ví dụ: NTFS trong Windows và ext3 và ReiserFS trong Linux. Tuy nhiên, trên thực tế, các trình điều khiển của bên thứ ba thường có sẵn để hỗ trợ cho các hệ thống tập tin được sử dụng rộng rãi nhất trong hầu hết các hệ điều hành đa năng (ví dụ: NTFS có sẵn trong Linux thông qua NTFS-3g, và ext2/3 và ReiserFS có sẵn trong Windows thông qua phần mềm của bên thứ ba).
Hỗ trợ cho hệ thống tập tin rất đa dạng giữa các hệ điều hành hiện đại, mặc dù có một số hệ thống tập tin phổ biến mà hầu như tất cả các hệ điều hành đều bao gồm hỗ trợ và trình điều khiển. Hệ điều hành khác nhau tùy thuộc vào hỗ trợ hệ thống tập tin và định dạng đĩa mà chúng có thể được cài đặt. Trong Windows, mỗi hệ thống tập tin thường bị giới hạn trong ứng dụng cho một số phương tiện nhất định; ví dụ: đĩa CD phải sử dụng ISO 9660 hoặc UDF và kể từ Windows Vista, NTFS là hệ thống tập tin duy nhất mà hệ điều hành có thể được cài đặt. Có thể cài đặt Linux trên nhiều loại hệ thống tập tin. Không giống như các hệ điều hành khác, Linux và UNIX cho phép bất kỳ hệ thống tập tin nào được sử dụng bất kể phương tiện nào được lưu trữ trong đó, cho dù đó là ổ cứng, đĩa (CD, DVD,...), ổ USB flash, hoặc thậm chí được chứa trong một tập tin nằm trên hệ thống tập tin khác.
Trình điều khiển thiết bị
Trình điều khiển thiết bị là một loại phần mềm máy tính cụ thể được phát triển để cho phép tương tác với các thiết bị phần cứng. Thông thường, điều này tạo thành một giao diện để giao tiếp với thiết bị, thông qua bus máy tính cụ thể hoặc hệ thống con giao tiếp mà phần cứng được kết nối, cung cấp các lệnh đến và/hoặc nhận dữ liệu từ thiết bị và ở đầu kia, các giao diện cần thiết cho hoạt động ứng dụng hệ thống và phần mềm. Đây là một chương trình máy tính chuyên biệt phụ thuộc vào phần cứng cũng là hệ điều hành cụ thể cho phép một chương trình khác, thường là hệ điều hành hoặc gói phần mềm ứng dụng hoặc chương trình máy tính chạy trong nhân hệ điều hành, tương tác một cách minh bạch với thiết bị phần cứng và thường cung cấp xử lý ngắt cần thiết cho bất kỳ nhu cầu giao tiếp phần cứng phụ thuộc thời gian không đồng bộ cần thiết nào.
Trong các phiên bản Windows trước Windows Vista và các phiên bản Linux trước 2.6, tất cả việc thực thi trình điều khiển là hợp tác, có nghĩa là nếu trình điều khiển đi vào một vòng lặp vô hạn, nó sẽ đóng băng hệ thống. Các bản sửa đổi gần đây hơn của các hệ điều hành này kết hợp quyền ưu tiên hạt nhân, trong đó hạt nhân ngắt trình điều khiển để cung cấp cho nó các nhiệm vụ, sau đó tự tách mình khỏi quy trình cho đến khi nó nhận được phản hồi từ trình điều khiển thiết bị hoặc cung cấp nhiều nhiệm vụ khác để thực hiện.
Nối mạng
Hiện tại hầu hết các hệ điều hành đều hỗ trợ nhiều giao thức mạng, phần cứng và ứng dụng để sử dụng chúng. Điều này có nghĩa là các máy tính chạy các hệ điều hành khác nhau có thể tham gia vào một mạng chung để chia sẻ tài nguyên như máy tính, tập tin, máy in và máy quét bằng cách sử dụng kết nối có dây hoặc không dây. Về cơ bản, mạng có thể cho phép hệ điều hành của máy tính truy cập vào các tài nguyên của một máy tính từ xa để hỗ trợ các chức năng tương tự nếu các tài nguyên đó được kết nối trực tiếp với máy tính cục bộ. Điều này bao gồm mọi thứ từ giao tiếp đơn giản, đến sử dụng hệ thống tập tin được nối mạng hoặc thậm chí chia sẻ phần cứng âm thanh hoặc đồ họa của máy tính khác. Một số dịch vụ mạng cho phép truy cập tài nguyên của máy tính một cách minh bạch, chẳng hạn như SSH cho phép người dùng mạng truy cập trực tiếp vào giao diện dòng lệnh của máy tính.
Mạng máy khách/máy chủ cho phép một chương trình trên máy tính, được gọi là máy khách, kết nối qua mạng với một máy tính khác, được gọi là máy chủ. Máy chủ cung cấp (hoặc máy chủ) các dịch vụ khác nhau cho các máy tính và người dùng mạng khác. Các dịch vụ này thường được cung cấp thông qua các cổng hoặc các điểm truy cập được đánh số ngoài địa chỉ IP của máy chủ. Mỗi số cổng thường được liên kết với tối đa một chương trình đang chạy, chương trình này chịu trách nhiệm xử lý các yêu cầu đến cổng đó. Daemon, là một chương trình người dùng, có thể lần lượt truy cập các tài nguyên phần cứng cục bộ của máy tính đó bằng cách chuyển các yêu cầu đến nhân hệ điều hành.
Nhiều hệ điều hành cũng hỗ trợ một hoặc nhiều giao thức mạng mở hoặc dành riêng cho nhà cung cấp, chẳng hạn như SNA trên hệ thống IBM, DECnet trên hệ thống của Digital Equipment Corporation và giao thức dành riêng cho Microsoft (SMB) trên Windows. Các giao thức cụ thể cho các tác vụ cụ thể cũng có thể được hỗ trợ như NFS để truy cập tập tin. Các giao thức như ESound hoặc esd có thể dễ dàng mở rộng qua mạng để cung cấp âm thanh từ các ứng dụng cục bộ, trên phần cứng âm thanh của hệ thống từ xa.
Bảo mật
Một máy tính được bảo mật phụ thuộc vào một số công nghệ hoạt động bình thường. Một hệ điều hành hiện đại cung cấp quyền truy cập vào một số tài nguyên có sẵn cho phần mềm chạy trên hệ thống và cho các thiết bị bên ngoài như mạng thông qua hạt nhân.