You are on page 1of 25

An operating system (OS) is software, consisting of programs and data, that runs on computers

and manages the computer hardware and provides common services for efficient execution of
various application software.

For hardware functions such as input and output and memory allocation, the operating system
acts as an intermediary between application programs and the computer hardware, [1][2] although
the application code is usually executed directly by the hardware, but will frequently call the OS
or be interrupted by it. Operating systems are found on almost any device that contains a
computer—from cellular phones and video game consoles to supercomputers and web servers.

Examples of popular modern operating systems for personal computers are Microsoft Windows,
Mac OS X, and Linux.[3]

Một hệ điều hành (OS) là phần mềm, bao gồm các chương trình, dữ liệu, chạy trên máy
tính và quản lý phần cứng máy tính và cung cấp dịch vụ thông thường để thực hiện có
hiệu quả các phần mềm ứng dụng khác nhau. Đối với các chức năng phần cứng như đầu
vào và đầu ra và cấp phát bộ nhớ, các hoạt động hệ thống hành vi như là một trung
gian giữa các chương trình ứng dụng và phần cứng máy tính, [1] [2] mặc dù các mã ứng
dụng thường được thực hiện trực tiếp bởi phần cứng, nhưng thường xuyên sẽ gọi hệ điều
hành hoặc bị gián đoạn bởi nó. Hệ điều hành được tìm thấy trên bất kỳ thiết bị hầu như
có chứa một máy tính từ điện thoại di động và video game console cho siêu máy tính và
máy chủ web. Ví dụ về các hệ điều hành hiện đại phổ biến cho máy tính cá nhân là
Microsoft Windows, Mac OS X, và Linux. [3]

The user interface

An example of the command line. Each command is typed out after the 'prompt', and then its
output appears below, working its way down the screen. The current command prompt is at the
bottom.
Một ví dụ về dòng lệnh. Mỗi lệnh được gõ ra sau khi các 'nhắc nhở', và sau đó đầu ra
của nó xuất hiện bên dưới, làm việc theo cách của mình xuống màn hình. Các dấu nhắc
lệnh hiện hành là ở phía dưới

An example of a graphical user interface. Programs take the form of images on the screen, and
the files, folders, and applications take the form of icons and symbols. A mouse is used to
navigate the computer.
Main article: User Interface

Một ví dụ về một giao diện người dùng đồ họa. Các chương trình mang hình thức của
hình ảnh trên màn hình, và các tập tin, thư mục, và các ứng dụng mang hình thức của
các biểu tượng và biểu tượng. Một là sử dụng chuột để di chuyển các máy tính bài viết.
chính: Giao diện người dùng

Every computer that receives some sort of human input needs a user interface, which allows a
person to interact with the computer. While devices like keyboards, mice and touchscreens make
up the hardware end of this task, the user interface makes up the software for it. The two most
common forms of a user interface have historically been the Command-line interface, where
computer commands are typed out line-by-line, and the Graphical user interface, where a visual
environment (most commonly with windows, buttons, and icons) is present.

Mỗi máy tính có nhận được một số loại đầu vào của con người cần có một giao diện
người dùng, cho phép một người tương tác với máy tính. Trong khi các thiết bị như bàn
phím, chuột và màn hình cảm ứng chiếm hết phần cứng của nhiệm vụ này, các giao
diện người dùng tạo nên phần mềm cho nó. Hai hình thức phổ biến nhất của một giao
diện người dùng có lịch sử được các giao diện dòng lệnh, nơi mà các lệnh máy tính được
đánh ra line-by-đường, và giao diện người dùng đồ họa, nơi mà một môi trường trực
quan (phổ biến nhất với các cửa sổ, nút bấm, và các biểu tượng ) là hiện tại.

[edit] Graphical user interfaces


Most of the modern computer systems support graphical user interfaces (GUI), and often include
them. In some computer systems, such as the original implementations of Microsoft Windows
and the Mac OS, the GUI is integrated into the kernel.

Hầu hết các hệ thống máy tính hiện đại hỗ trợ các giao diện người dùng đồ họa (GUI),
và thường bao gồm họ. Trong một số hệ thống máy tính, chẳng hạn như việc triển khai
ban đầu của Microsoft Windows và hệ điều hành Mac, các giao diện đồ họa được tích
hợp vào hạt nhân.

While technically a graphical user interface is not an operating system service, incorporating
support for one into the operating system kernel can allow the GUI to be more responsive by
reducing the number of context switches required for the GUI to perform its output functions.
Other operating systems are modular, separating the graphics subsystem from the kernel and the
Operating System. In the 1980s UNIX, VMS and many others had operating systems that were
built this way. GNU/Linux and Mac OS X are also built this way. Modern releases of Microsoft
Windows such as Windows Vista implement a graphics subsystem that is mostly in user-space,
however versions between Windows NT 4.0 and Windows Server 2003's graphics drawing
routines exist mostly in kernel space. Windows 9x had very little distinction between the
interface and the kernel.

Trong khi kỹ thuật giao diện người dùng đồ họa không phải là một hệ điều hành dịch vụ,
kết hợp hỗ trợ cho một thành nhân hệ điều hành có thể cho phép các giao diện để đáp
ứng tốt hơn bằng cách giảm số lượng các bối cảnh tắc cần thiết cho các giao diện để
thực hiện chức năng đầu ra của nó. hệ điều hành khác được mô đun, tách các hệ thống
phụ đồ họa từ hạt nhân và hệ điều hành. Trong những năm 1980 UNIX, VMS và nhiều
người khác đã có hệ điều hành được xây dựng theo cách này. GNU / Linux và Mac OS X
cũng được xây dựng theo cách này. Phiên bản hiện đại của Microsoft Windows như
Windows Vista thực hiện một hệ thống phụ đồ họa là chủ yếu là trong không gian người
sử dụng, tuy nhiên các phiên bản từ Windows NT 4.0 và Windows Server 2003 có thói
quen vẽ đồ họa tồn tại chủ yếu trong không gian hạt nhân. Windows 9x có khác biệt rất
nhỏ giữa các giao diện và hạt nhân.

Many computer operating systems allow the user to install or create any user interface they
desire. The X Window System in conjunction with GNOME or KDE is a commonly found setup
on most Unix and Unix-like (BSD, GNU/Linux, Solaris) systems. A number of Windows shell
replacements have been released for Microsoft Windows, which offer alternatives to the included
Windows shell, but the shell itself cannot be separated from Windows.

Nhiều máy tính hệ điều hành cho phép người dùng cài đặt hoặc tạo ra bất kỳ giao diện
người dùng mà họ mong muốn. Các hệ thống cửa sổ X kết hợp với Gnome hoặc KDE là
một thiết lập thường được tìm thấy trên hầu hết các Unix và Unix-like (BSD, GNU / Linux,
Solaris) hệ thống. Một số thay thế vỏ Windows đã được phát hành cho Microsoft
Windows, trong đó cung cấp thay thế cho các hệ vỏ Windows bao gồm, nhưng vỏ tự nó
không thể tách rời khỏi Windows.

Numerous Unix-based GUIs have existed over time, most derived from X11. Competition
among the various vendors of Unix (HP, IBM, Sun) led to much fragmentation, though an effort
to standardize in the 1990s to COSE and CDE failed for the most part due to various reasons,
eventually eclipsed by the widespread adoption of GNOME and KDE. Prior to free software-
based toolkits and desktop environments, Motif was the prevalent toolkit/desktop combination
(and was the basis upon which CDE was developed).

Nhiều GUI Unix đã tồn tại qua thời gian, hầu hết xuất phát từ X11. Cạnh tranh giữa các
nhà cung cấp khác nhau của Unix (HP, IBM, Sun) đã dẫn đến sự phân mảnh nhiều, mặc
dù một nỗ lực để tiêu chuẩn hóa trong những năm 1990 để Cose và CDE thất bại phần
lớn do các lý do khác nhau, cuối cùng bị che khuất bởi các áp dụng rộng rãi của GNOME
và KDE. Trước khi bộ công cụ miễn phí dựa trên phần mềm và các môi trường máy tính
để bàn, Motif là công cụ phổ biến / máy tính để bàn kết hợp (và là cơ sở mà trên đó đã
được phát triển CDE).

Graphical user interfaces evolve over time. For example, Windows has modified its user
interface almost every time a new major version of Windows is released, and the Mac OS GUI
changed dramatically with the introduction of Mac OS X in 1999.[10]

Giao diện người dùng đồ họa phát triển theo thời gian. Ví dụ, Windows đã thay đổi giao
diện người dùng của nó hầu như mỗi khi một mới lớn phiên bản Windows được phát
hành, và Mac OS giao diện thay đổi đáng kể với sự ra đời của Mac OS X vào năm 1999.
[10]

[edit] The kernel

A kernel connects the application software to the hardware of a computer.


Main article: Kernel (computing)
With the aid of the firmware and device drivers, the operating system provides the most basic
level of control over all of the computer's hardware devices. It manages memory access for
programs in the RAM, it determines which programs get access to which hardware resources, it
sets up or resets the CPU's operating states for optimal operation at all times, and it organizes the
data for long-term non-volatile storage with file systems on such media as disks, tapes, flash
memory, etc.

Một hạt nhân kết nối các phần mềm ứng dụng cho các phần cứng của một máy tính:.
chi tiết hạt nhân (máy tính) Với sự trợ giúp của phần mềm và thiết bị điều khiển, hệ điều
hành cung cấp mức độ cơ bản nhất kiểm soát tất cả các thiết bị phần cứng của máy
tính. Nó quản lý bộ nhớ truy cập cho các chương trình trong bộ nhớ RAM, nó xác định
các chương trình được tiếp cận với nguồn tài nguyên phần cứng, nó thiết lập hoặc thiết
lập lại trạng thái của CPU hoạt động cho hoạt động tối ưu ở mọi lúc, và nó còn tổ chức
các dữ liệu để lưu trữ non-volatile dài hạn với hệ thống tập tin trên các phương tiện như
đĩa, băng, bộ nhớ flash, vv

[edit] Program execution Thực hiện chương trình

Main article: Process (computing)

The operating system acts as an interface between an application and the hardware. The user
interacts with the hardware from "the other side". The operating system is a set of services which
simplifies development of applications. Executing a program involves the creation of a process
by the operating system. The kernel creates a process by assigning memory and other resources,
establishing a priority for the process (in multi-tasking systems), loading program code into
memory, and executing the program. The program then interacts with the user and/or other
devices and performs its intended function.

Hệ điều hành hoạt động như một giao diện giữa một ứng dụng và phần cứng. Người
dùng tương tác với phần cứng từ "phía bên kia". Hệ điều hành là một tập hợp các dịch
vụ đơn giản hoá việc phát triển các ứng dụng. Thực hiện một chương trình liên quan đến
việc tạo ra của một quá trình của hệ điều hành. Hạt nhân tạo ra một quá trình của bộ
nhớ giao và các nguồn lực khác, thiết lập một ưu tiên của tiến trình này (trong các hệ
thống đa tác vụ), tải mã chương trình vào bộ nhớ, và thực hiện chương trình. Chương
trình sau đó tương tác với người dùng và / hoặc các thiết bị khác và thực hiện chức năng
dự định của mình.

[edit] Interrupts Ngắt


Main article: interrupt

Interrupts are central to operating systems, as they provide an efficient way for the operating
system to interact with and react to its environment. The alternative—having the operating
system "watch" the various sources of input for events (polling) that require action—can be
found in older systems with very small stacks (50 or 60 bytes) but fairly, unusual in modern
systems with fairly large stacks. Interrupt-based programming is directly supported by most
modern CPUs. Interrupts provide a computer with a way of automatically saving local register
contexts, and running specific code in response to events. Even very basic computers support
hardware interrupts, and allow the programmer to specify code which may be run when that
event takes place.

Ngắt là trung tâm của hệ điều hành, vì chúng cung cấp một cách hiệu quả cho hệ điều
hành để tương tác với và phản ứng với môi trường. Việc thay thế-có hệ điều hành "xem"
các nguồn khác nhau của đầu vào cho các sự kiện (phiếu) cần hành động có thể được
tìm thấy trong hệ thống cũ với chồng rất nhỏ (50 hoặc 60 byte) nhưng công bằng,
không bình thường trong các hệ thống hiện đại với khá lớn ngăn xếp. Gián đoạn lập
trình dựa trên trực tiếp hỗ trợ bởi hầu hết các CPU hiện đại. Làm gián đoạn cung cấp
một máy tính với một cách tự động đăng ký tiết kiệm bối cảnh địa phương, và chạy mã
cụ thể để đáp ứng với các sự kiện. Ngay cả các máy tính rất cơ bản hỗ trợ ngắt phần
cứng, và cho phép các lập trình để xác định mã có thể được chạy khi sự kiện diễn ra.

When an interrupt is received, the computer's hardware automatically suspends whatever


program is currently running, saves its status, and runs computer code previously associated with
the interrupt; this is analogous to placing a bookmark in a book in response to a phone call. In
modern operating systems, interrupts are handled by the operating system's kernel. Interrupts
may come from either the computer's hardware or from the running program.

Khi gián đoạn một là nhận được, phần cứng của máy tính tự động đình chỉ bất cứ
chương trình đang chạy, tiết kiệm tình trạng của nó, và chạy mã máy tính trước đây liên
quan đến việc gián đoạn, điều này tương tự như cách đặt một dấu trang trong một cuốn
sách để đáp ứng với một cuộc gọi điện thoại. Trong các hệ điều hành hiện đại, ngắt
được xử lý bởi kernel của hệ điều hành. Gián đoạn có thể đến từ phần cứng của máy
tính hoặc từ các chương trình đang chạy.

When a hardware device triggers an interrupt, the operating system's kernel decides how to deal
with this event, generally by running some processing code. The amount of code being run
depends on the priority of the interrupt (for example: a person usually responds to a smoke
detector alarm before answering the phone). The processing of hardware interrupts is a task that
is usually delegated to software called device driver, which may be either part of the operating
system's kernel, part of another program, or both. Device drivers may then relay information to a
running program by various means.
Khi một thiết bị phần cứng gây ra một ngắt, hệ điều hành của hạt nhân quyết định làm
thế nào để đối phó với sự kiện này, thường bằng cách chạy một số mã chế biến. Số tiền
chạy mã được phụ thuộc vào các ưu tiên của ngắt (ví dụ: một người thường phản ứng
với một cảnh báo phát hiện khói trước khi trả lời điện thoại). Việc xử lý của các ngắt
phần cứng là một nhiệm vụ thường giao cho lái xe phần mềm điện thoại gọi, mà có thể
là một phần của hạt nhân của hệ điều hành, một phần của một 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 cho một chương
trình chạy bằng các phương tiện khác nhau.

A program may also trigger an interrupt to the operating system. If a program wishes to access
hardware for example, it may interrupt the operating system's kernel, which causes control to be
passed back to the kernel. The kernel will then process the request. If a program wishes
additional resources (or wishes to shed resources) such as memory, it will trigger an interrupt to
get the kernel's attention.

Một chương trình cũng có thể gây ra một ngắt để hệ điều hành. Nếu một chương trình
muốn truy cập vào phần cứng ví dụ, nó có thể ngắt hạt nhân của hệ điều hành, kiểm
soát gây được chuyển về cho hạt nhân. Hạt nhân sau đó sẽ xử lý yêu cầu. Nếu một
chương trình mong muốn các nguồn lực bổ sung (hoặc muốn đổ nguồn lực) như bộ nhớ,
nó sẽ kích hoạt một ngắt để có được sự chú ý của hạt nhân.

[edit] Modes Chế độ

Main articles: Protected mode and Supervisor mode Bài chi tiết: Được bảo vệ chế độ và
phương thức giám sát
Privilege rings for the x86 available in protected mode. Operating systems determine which
processes run in each mode.

Modern CPUs support multiple modes of operation. CPUs with this capability use at least two
modes: protected mode and supervisor mode. The supervisor mode is used by the operating
system's kernel for low level tasks that need unrestricted access to hardware, such as controlling
how memory is written and erased, and communication with devices like graphics cards.
Protected mode, in contrast, is used for almost everything else. Applications operate within
protected mode, and can only use hardware by communicating with the kernel, which controls
everything in supervisor mode. CPUs might have other modes similar to protected mode as well,
such as the virtual modes in order to emulate older processor types, such as 16-bit processors on
a 32-bit one, or 32-bit processors on a 64-bit one.

When a computer first starts up, it is automatically running in supervisor mode. The first few
programs to run on the computer, being the BIOS, bootloader and the operating system have
unlimited access to hardware - and this is required because, by definition, initializing a protected
environment can only be done outside of one. However, when the operating system passes
control to another program, it can place the CPU into protected mode.

In protected mode, programs may have access to a more limited set of the CPU's instructions. A
user program may leave protected mode only by triggering an interrupt, causing control to be
passed back to the kernel. In this way the operating system can maintain exclusive control over
things like access to hardware and memory.

The term "protected mode resource" generally refers to one or more CPU registers, which
contain information that the running program isn't allowed to alter. Attempts to alter these
resources generally causes a switch to supervisor mode, where the operating system can deal
with the illegal operation the program was attempting (for example, by killing the program).

Privilege nhẫn cho x86 có sẵn trong chế độ bảo vệ. Hệ điều hành xác định các tiến trình
chạy trong mỗi chế độ CPU. hiện đại hỗ trợ nhiều chế độ hoạt động. CPU có khả năng
này sử dụng ít nhất hai chế độ: chế độ bảo vệ và phương thức giám sát. Chế độ giám
sát được sử dụng bởi kernel của hệ điều hành cho các nhiệm vụ cấp thấp mà cần hạn
chế truy cập vào phần cứng, chẳng hạn như kiểm soát như thế nào nhớ được viết và
xóa, và giao tiếp với các thiết bị như card đồ họa. chế độ bảo vệ, ngược lại, được sử
dụng cho hầu như mọi thứ khác. Các ứng dụng hoạt động trong chế độ bảo vệ, và chỉ có
thể sử dụng phần cứng bằng cách giao tiếp với hạt nhân, kiểm soát tất cả mọi thứ trong
chế độ giám sát. CPU có thể có các chế độ khác tương tự như chế độ bảo vệ cũng như
các phương thức ảo để giả lập các loại vi xử lý cũ hơn, chẳng hạn như bộ vi xử lý 16-bit
trên một bit-32, hoặc bộ vi xử lý 32-bit trên một một trong 64-bit. Khi một máy tính đầu
tiên bắt đầu lên, nó sẽ tự động chạy trong chế độ giám sát. Các chương trình đầu tiên
chạy trên máy tính, là BIOS, bộ nạp khởi động và hệ điều hành có quyền truy cập không
giới hạn phần cứng - và điều này là cần thiết bởi vì, theo định nghĩa, khởi tạo một môi
trường được bảo vệ chỉ có thể được thực hiện bên ngoài của một. Tuy nhiên, khi hệ điều
hành chuyển điều khiển đến một chương trình khác, nó có thể đặt các CPU vào chế độ
bảo vệ. Trong chế độ bảo vệ, chương trình có thể truy cập đến một giới hạn được nhiều
hướng dẫn của các CPU. Một chương trình người dùng có thể để bảo vệ chế độ chỉ bằng
cách kích hoạt một kiểm soát, gây gián đoạn sẽ được chuyển về cho các hạt nhân. Bằng
cách này, hệ điều hành có thể duy trì kiểm soát độc quyền trong những việc như truy
cập vào phần cứng và bộ nhớ. Thuật ngữ "tài nguyên chế độ bảo vệ" thường đề cập đến
nhiều CPU hoặc một sổ đăng ký, trong đó có những thông tin mà chương trình đang
chạy không được phép thay đổi. Nỗ lực để thay đổi các tài nguyên này thường gây ra
chuyển sang chế độ giám sát, nơi mà các hệ điều hành có thể đối phó với những hoạt
động bất hợp pháp các chương trình đã cố gắng (ví dụ, bằng cách giết chết các chương
trình).

[edit] Memory management Quản lý bộ nhớ

Main article: memory management

Among other things, a multiprogramming operating system kernel must be responsible for
managing all system memory which is currently in use by programs. This ensures that a program
does not interfere with memory already used by another program. Since programs time share,
each program must have independent access to memory.

Cooperative memory management, used by many early operating systems assumes that all
programs make voluntary use of the kernel's memory manager, and do not exceed their allocated
memory. This system of memory management is almost never seen anymore, since programs
often contain bugs which can cause them to exceed their allocated memory. If a program fails it
may cause memory used by one or more other programs to be affected or overwritten. Malicious
programs, or viruses may purposefully alter another program's memory or may affect the
operation of the operating system itself. With cooperative memory management it takes only one
misbehaved program to crash the system.

Memory protection enables the kernel to limit a process' access to the computer's memory.
Various methods of memory protection exist, including memory segmentation and paging. All
methods require some level of hardware support (such as the 80286 MMU) which doesn't exist
in all computers.

In both segmentation and paging, certain protected mode registers specify to the CPU what
memory address it should allow a running program to access. Attempts to access other addresses
will trigger an interrupt which will cause the CPU to re-enter supervisor mode, placing the kernel
in charge. This is called a segmentation violation or Seg-V for short, and since it is both difficult
to assign a meaningful result to such an operation, and because it is usually a sign of a
misbehaving program, the kernel will generally resort to terminating the offending program, and
will report the error.
Windows 3.1-Me had some level of memory protection, but programs could easily circumvent
the need to use it. A general protection fault would be produced indicating a segmentation
violation had occurred, however the system would often crash anyway.

Trong số những thứ khác, một hệ thống điều hành multiprogramming hạt nhân phải
chịu trách nhiệm quản lý tất cả bộ nhớ hệ thống mà hiện nay đang được sử dụng bởi các
chương trình. Đ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 sử dụng bởi các chương trình khác. Kể từ thời gian chia sẻ các chương trình, mỗi
chương trình phải có quyền truy cập độc lập vào bộ nhớ. Hợp tác xã quản lý bộ nhớ, sử
dụng hệ điều hành nhiều đầu giả định rằng tất cả các chương trình sử dụng tự nguyện
của các nhà quản lý bộ nhớ hạt nhân, và không vượt quá phân bổ bộ nhớ của họ. Hệ
thống quản lý bộ nhớ là hầu như chưa bao giờ thấy nữa, kể từ khi các chương trình
thường chứa các lỗi có thể gây ra cho họ vượt quá bộ nhớ của họ được giao. Nếu một
chương trình không nó có thể gây ra 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 ghi đè. các chương trình độc hại, hoặc virus có mục đích
có thể làm thay đổi bộ nhớ của một chương trình hoặc có thể ảnh hưởng đến hoạt động
của hệ điều hành này. Với quản lý bộ nhớ hợp tác xã phải mất chỉ có một chương trình
misbehaved sụp đổ hệ thống. Bộ nhớ cho phép bảo vệ hạt nhân để hạn chế quá trình
truy cập "một bộ nhớ máy tính của các. Nhiều phương pháp bảo vệ bộ nhớ tồn tại, bao
gồm cả phân đoạn bộ nhớ và bộ nhớ ảo. Tất cả các phương pháp đòi hỏi một số mức hỗ
trợ phần cứng (như MMU 80286) mà không tồn tại trong tất cả các máy tính. Trong cả
hai phân đoạn và phân trang, một số chế độ đăng ký bảo hộ chỉ định cho địa chỉ bộ nhớ
CPU gì nó nên cho phép một chương trình đang chạy để truy cập. Thử truy cập địa chỉ
khác sẽ kích hoạt một ngắt đó sẽ làm cho CPU phải nhập lại chế độ giám sát, đặt hạt
nhân phụ trách. Điều này được gọi là một sự vi phạm phân đoạn hoặc Seg-V cho ngắn,
và vì nó là cả hai khó để chỉ định một kết quả có ý nghĩa để hoạt động như vậy, và bởi vì
nó thường là một dấu hiệu của một chương trình hỏng, hạt nhân nói chung sẽ nghỉ mát
để chấm dứt các vi phạm chương trình, và sẽ báo cáo lỗi. Windows 3.1-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ỡ sự cần thiết phải
sử dụng nó. Một lỗi bảo vệ tổng hợp sẽ được sản xuất cho thấy một sự vi phạm phân
đoạn đã xảy ra, tuy nhiên hệ thống thường sẽ sụp đổ nào.

[edit] Virtual memory Bộ nhớ ảo

Main article: Virtual memory


Many operating systems can "trick" programs into using memory scattered around the hard disk
and RAM as if it is one continuous chunk of memory called virtual memory.

The use of virtual memory addressing (such as paging or segmentation) means that the kernel
can choose what memory each program may use at any given time, allowing the operating
system to use the same memory locations for multiple tasks.

If a program tries to access memory that isn't in its current range of accessible memory, but
nonetheless has been allocated to it, the kernel will be interrupted in the same way as it would if
the program were to exceed its allocated memory. (See section on memory management.) Under
UNIX this kind of interrupt is referred to as a page fault.

When the kernel detects a page fault it will generally adjust the virtual memory range of the
program which triggered it, granting it access to the memory requested. This gives the kernel
discretionary power over where a particular application's memory is stored, or even whether or
not it has actually been allocated yet.

In modern operating systems, memory which is accessed less frequently can be temporarily
stored on disk or other media to make that space available for use by other programs. This is
called swapping, as an area of memory can be used by multiple programs, and what that memory
area contains can be swapped or exchanged on demand.

Nhiều hệ điều hành có thể "lừa" các chương trình vào sử dụng bộ nhớ rải rác khắp ổ đĩa
cứng và RAM như thể nó là một đoạn liên tục của bộ nhớ được gọi là bộ nhớ ảo. Việc sử
dụng bộ nhớ ảo giải quyết (như phân trang hoặc phân đoạn) có nghĩa là các hạt nhân có
thể lựa chọn nhớ những gì mỗi chương trình có thể sử dụng tại bất kỳ thời gian nhất
định, cho phép hệ điều hành để sử dụng bộ nhớ cùng một địa điểm cho nhiều nhiệm vụ.
Nếu một chương trình cố gắng để truy cập vào bộ nhớ rằng không có trong phạm vi
hiện tại của bộ nhớ truy cập được, nhưng dù sao đã được giao cho nó, hạt nhân sẽ bị
gián đoạn trong cùng một cách giống như khi chương trình được vượt quá bộ nhớ của nó
được giao. (Xem phần về quản lý bộ nhớ.) Theo UNIX loại gián đoạn được gọi là một lỗi
trang. Khi hạt nhân phát hiện một lỗi trang này nói chung sẽ đ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ó truy cập vào bộ nhớ yêu cầu. Điều này
cho phép các tùy nghi điện hạt nhân trên mà cụ thể của ứng dụng bộ nhớ được lưu trữ,
hoặc thậm chí có hay không nó đã thực sự được phân bổ chưa,. Điều hành hiện đại
Trong các hệ thống bộ nhớ mà được truy cập ít thường xuyên có thể được tạm thời được
lưu trữ trên ổ đĩa hoặc các phương tiện khác để làm cho rằng không gian có sẵn để sử
dụng bởi các chương trình khác. Điều này được gọi là trao đổi, như là một vùng bộ nhớ
có thể được sử dụng bởi nhiều chương trình, và những gì mà bộ nhớ khu vực chứa có thể
được trao đổi, trao đổi theo nhu cầu.

Further information: Page fault


[edit] Multitasking Đa nhiệm

Main article: Computer multitasking


Main article: Process management (computing)

Multitasking refers to the running of multiple independent computer programs on the same
computer; giving the appearance that it is performing the tasks at the same time. Since most
computers can do at most one or two things at one time, this is generally done via time-sharing,
which means that each program uses a share of the computer's time to execute.

An operating system kernel contains a piece of software called a scheduler which determines
how much time each program will spend executing, and in which order execution control should
be passed to programs. Control is passed to a process by the kernel, which allows the program
access to the CPU and memory. Later, control is returned to the kernel through some mechanism,
so that another program may be allowed to use the CPU. This so-called passing of control
between the kernel and applications is called a context switch.

An early model which governed the allocation of time to programs was called cooperative
multitasking. In this model, when control is passed to a program by the kernel, it may execute for
as long as it wants before explicitly returning control to the kernel. This means that a malicious
or malfunctioning program may not only prevent any other programs from using the CPU, but it
can hang the entire system if it enters an infinite loop.

Modern operating systems extend the concepts of application preemption to device drivers and
kernel code, so that the operating system has preemptive control over internal run-times as well.
The philosophy governing preemptive multitasking is that of ensuring that all programs are given
regular time on the CPU. This implies that all programs must be limited in how much time they
are allowed to spend on the CPU without being interrupted. To accomplish this, modern
operating system kernels make use of a timed interrupt. A protected mode timer is set by the
kernel which triggers a return to supervisor mode after the specified time has elapsed. (See above
sections on Interrupts and Dual Mode Operation.)

On many single user operating systems cooperative multitasking is perfectly adequate, as home
computers generally run a small number of well tested programs. Windows NT was the first
version of Microsoft Windows which enforced preemptive multitasking, but it didn't reach the
home user market until Windows XP, (since Windows NT was targeted at professionals.)

Further information: Context switch


Further information: Preemptive multitasking
Further information: Cooperative multitasking

Đa nhiệm đề cập đến việc điều hành nhiều chương trình máy tính độc lập trên cùng một
máy tính; cho sự xuất hiện mà nó là thực hiện nhiệm vụ cùng một lúc. Vì hầu hết các
máy tính có thể làm được nhiều nhất một hoặc hai điều cùng một lúc, điều này thường
được thực hiện thông qua việc chia sẻ thời gian, có nghĩa là mỗi chương trình sử dụng
một phần của máy tính thời gian là để thực thi. Một nhân hệ điều hành có chứa một
phần của phần mềm được gọi là một lên lịch mà quyết định bao nhiêu thời gian mỗi
chương trình sẽ dành thực hiện, và trong đó để kiểm soát thực hiện cần được thông qua
các chương trình. Kiểm soát được thông qua một quá trình hạt nhân, cho phép truy cập
vào chương trình để các CPU và bộ nhớ. Sau đó, kiểm soát được trả về cho hạt nhân
thông qua một số cơ chế, để chương trình khác có thể được phép sử dụng CPU. Điều này
được gọi là đi qua để kiểm soát giữa các hạt nhân và các ứng dụng được gọi là chuyển
ngữ cảnh. Một mô hình đầu tiên mà quản lý việc phân bổ thời gian để chương trình được
gọi là hợp tác đa nhiệm. Trong mô hình này, khi kiểm soát được thông qua chương trình
bằng hạt nhân, nó có thể thực hiện cho đến khi nó muốn trước khi quay trở lại một cách
rõ ràng điều khiển cho hạt nhân. Điều này có nghĩa rằng một hoặc trục trặc chương
trình độc hại có thể không chỉ ngăn chặn bất kỳ chương trình khác sử dụng CPU, nhưng
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 hoạt động. Hệ thống
hiện đại mở rộng khái niệm về đánh đòn phủ đầu ứng dụng để điều khiển thiết bị và mã
hạt nhân, để hệ thống hoạt động có kiểm soát ưu tiên trong nội bộ chạy lần cũng được.
Các triết lý quản ưu tiên đa nhiệm mà đảm bảo rằng tất cả các chương trình này có thời
gian thường xuyên trên CPU. Điều này có nghĩa rằng tất cả các chương trình phải được
giới hạn trong bao nhiêu thời gian họ được phép chi tiêu vào CPU mà không bị gián
đoạn. Để thực hiện điều này, hiện đại, hoạt động hạt nhân hệ thống sử dụng một tính
thời gian gián đoạn. Một bộ đếm thời gian chế độ bảo vệ được thiết lập bởi hạt nhân đó
gây ra một sự trở về chế độ giám sát sau khi thời gian quy định đã trôi qua. (Xem ở trên
phần về ngắt và hoạt động Dual Mode.) Về sử dụng hệ điều hành đa nhiệm hợp tác xã
nhiều đơn là hoàn toàn đầy đủ, như là máy tính gia đình thường chạy một số ít chương
trình thử nghiệm tốt. Windows NT là phiên bản đầu tiên của Microsoft Windows trong đó
ưu tiên thực thi đa nhiệm, nhưng nó đã không đến được thị trường người sử dụng nhà
cho đến khi Windows XP, (kể từ Windows NT đã được nhắm mục tiêu vào các chuyên
gia.) Thông tin thêm: bối cảnh chuyển đổi thông tin thêm: phòng ngừa đa nhiệm thêm
thông tin : Hợp tác đa nhiệm

[edit] Disk access and file systems Disk truy cập và hệ thống tập tin

Main article: Virtual file system

Filesystems allow users and programs to organize and sort files on a computer, often through the
use of directories (or "folders")

Access to data stored on disks is a central feature of all operating systems. Computers store data
on disks using files, which are structured in specific ways in order to allow for faster access,
higher reliability, and to make better use out of the drive's available space. The specific way in
which files are stored on a disk is called a file system, and enables files to have names and
attributes. It also allows them to be stored in a hierarchy of directories or folders arranged in a
directory tree.

Early operating systems generally supported a single type of disk drive and only one kind of file
system. Early file systems were limited in their capacity, speed, and in the kinds of file names
and directory structures they could use. These limitations often reflected limitations in the
operating systems they were designed for, making it very difficult for an operating system to
support more than one file system.

While many simpler operating systems support a limited range of options for accessing storage
systems, operating systems like UNIX and GNU/Linux support a technology known as a virtual
file system or VFS. An operating system like UNIX supports a wide array of storage devices,
regardless of their design or file systems to be accessed through a common application
programming interface (API). This makes it unnecessary for programs to have any knowledge
about the device they are accessing. A VFS allows the operating system to provide programs
with access to an unlimited number of devices with an infinite variety of file systems installed on
them through the use of specific device drivers and file system drivers.

A connected storage device such as a hard drive is accessed through a device driver. The device
driver understands the specific language of the drive and is able to translate that language into a
standard language used by the operating system to access all disk drives. On UNIX, this is the
language of block devices.
When the kernel has an appropriate device driver in place, it can then access the contents of the
disk drive in raw format, which may contain one or more file systems. A file system driver is
used to translate the commands used to access each specific file system into a standard set of
commands that the operating system can use to talk to all file systems. Programs can then deal
with these file systems on the basis of filenames, and directories/folders, contained within a
hierarchical structure. They can create, delete, open, and close files, as well as gather various
information about them, including access permissions, size, free space, and creation and
modification dates.

Various differences between file systems make supporting all file systems difficult. Allowed
characters in file names, case sensitivity, and the presence of various kinds of file attributes
makes the implementation of a single interface for every file system a daunting task. Operating
systems tend to recommend using (and so support natively) file systems specifically designed for
them; for example, NTFS in Windows and ext3 and ReiserFS in GNU/Linux. However, in
practice, third party drives are usually available to give support for the most widely used file
systems in most general-purpose operating systems (for example, NTFS is available in
GNU/Linux through NTFS-3g, and ext2/3 and ReiserFS are available in Windows through FS-
driver and rfstool).

Support for file systems is highly varied among modern operating systems although there are
several common file systems which almost all operating systems include support and drivers for.
Operating systems vary on file system support and on the disk formats they may be installed on.
Under Windows each file system is usually limited in application to certain media, for example
CDs must use ISO 9660 or UDF, and as of Windows Vista, NTFS is the only file system which
the operating system can be installed on. It is possible to install GNU/Linux onto many types of
file systems. Unlike other operating systems, GNU/Linux and UNIX allow any file system to be
used regardless of the media it is stored in, whether it is a hard drive, a disc (CD,DVD...), an
USB key, or even contained within a file located on another file system.

Hệ thống tập tin cho phép người dùng và các chương trình để tổ chức và sắp xếp các
tập tin trên máy tính, thường là thông qua việc sử dụng các thư mục (hoặc "thư mục")
truy cập đến dữ liệu được lưu trữ trên đĩa là một tính năng trung tâm của tất cả các hệ
điều hành. Máy vi 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à để
làm cho tốt hơn sử dụng trong không gian có sẵn của ổ đĩa. Cách cụ thể, trong đó các
tập tin được lưu trữ trên đĩa được gọi là một 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 các thư
mục hoặc thư mục được sắp xếp trong một cây thư mục thường. Điều hành sớm các hệ
thống hỗ trợ một loại duy nhất của ổ đĩa và một loại duy nhất của hệ thống tập tin. Đầu
hệ thống tập tin bị hạn chế về tốc độ, năng lực của họ, và trong các loại tên file và cấu
trúc thư mục họ 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 họ đã được thiết kế cho, làm cho nó rất khó khăn cho một hệ điều
hành để hỗ trợ nhiều hơn một hệ thống tập tin. Trong khi nhiều hệ điều hành đơn giản
hỗ trợ một phạm vi giới hạn các lựa chọn để truy cập hệ thống lưu trữ, hệ điều hành như
UNIX và GNU / Linux hỗ trợ một công nghệ được biết đến như là một hệ thống tập tin ảo
hoặc VFS. Một hệ điều hành như UNIX hỗ trợ một loạt các thiết bị lưu trữ, bất kể thiết kế
của mình hoặc các hệ thống tập tin sẽ được truy cập thông qua một giao diện lập trình
phổ biến ứng dụng (API). Điều này làm cho nó không cần thiết cho các chương trình để
có bất kỳ kiến thức về thiết bị mà họ đang truy cập. VFS A cho phép hệ điều hành để
cung cấp các chương trình tiếp cận với một số lượng không giới hạn của thiết bị với
nhiều vô hạn của hệ thống tập tin cài đặt vào chúng thông qua việc sử dụng các trình
điều khiển thiết bị cụ thể và trình điều khiển hệ thống tập tin truy cập. Lưu trữ kết nối
với một thiết bị như một ổ đĩa cứng là thông qua một trình điều khiển thiết bị. Các trình
điều khiển thiết bị hiểu được ngôn ngữ cụ thể của ổ đĩa và có thể dịch một ngôn ngữ
vào một ngôn ngữ chuẩn được sử dụng bởi hệ điều hành để truy cập vào 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ó một trình điều
khiển thiết bị thích hợp tại chỗ, nó có thể truy cập các nội dung của ổ đĩa theo định
dạng thô, có thể chứa một hoặc nhiều hệ thống tập tin. Một 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 mỗi hệ thống tập tin cụ
thể vào một tập hợp các lệnh 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ể đối phó với những hệ thống tập tin
trên cơ sở các tên tập tin, và thư mục / thư mục, chứa trong một cấu trúc phân cấp. Họ
có thể tạo, xóa, mở, và các tập tin gần gũi, cũng như thu thập thông tin nhiều về họ,
bao gồm cả quyền truy cập, kích thước, không gian trống, và tạo ra và ngày sửa đổi. Sự
khác biệt nhiều giữa các hệ thống tập tin thực hiện hỗ trợ tất cả các hệ thống tập tin
khó khăn. Cho phép các ký tự trong tên file, trường hợp nhạy cảm, và sự hiện diện của
các loại thuộc tính tập tin làm cho việc thực hiện một giao diện duy nhất cho mỗi hệ
thống tập tin là một nhiệm vụ khó khăn. hệ thống điều hành có xu hướng khuyến khích
sử dụng (và do đó hỗ trợ nguyên bản) tập tin hệ thống được thiết kế cho họ, ví dụ, NTFS
trong Windows và ext3 và ReiserFS trong GNU / Linux. Tuy nhiên, trong thực tế, các ổ
đĩa của bên thứ ba thường có sẵn để cung cấp hỗ trợ cho các hệ thống tập tin được sử
dụng rộng rãi nhất trong hệ điều hành hầu hết các mục đích chung (ví dụ, NTFS có sẵn
trong GNU / Linux thông qua NTFS-3g, và ext2 / 3, ReiserFS có sẵn trong Windows thông
qua trình điều khiển-FS và rfstool). Hỗ trợ cho hệ thống tập tin là rất khác nhau giữa các
hệ thống đ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 bao gồm hỗ trợ và điều khiển cho. hệ thống điều hành khác nhau
hỗ trợ hệ thống tập tin và định dạng ổ đĩa thì có thể được cài đặt trên. Trong Windows
mỗi hệ thống tập tin thường bị hạn chế trong ứng dụng một số phương tiện truyền
thông, cho đĩa CD ví dụ phải sử dụng ISO 9660 hay UDF, và như của Windows Vista,
NTFS là hệ thống file duy nhất có hệ điều hành có thể được cài đặt trên. Nó có thể cài
đặt GNU / Linux trên nhiều ty

[edit] Device drivers Trình điều khiển thiết bị

Main article: Device driver

A device driver is a specific type of computer software developed to allow interaction with
hardware devices. Typically this constitutes an interface for communicating with the device,
through the specific computer bus or communications subsystem that the hardware is connected
to, providing commands to and/or receiving data from the device, and on the other end, the
requisite interfaces to the operating system and software applications. It is a specialized
hardware-dependent computer program which is also operating system specific that enables
another program, typically an operating system or applications software package or computer
program running under the operating system kernel, to interact transparently with a hardware
device, and usually provides the requisite interrupt handling necessary for any necessary
asynchronous time-dependent hardware interfacing needs.

Một điều khiển thiết bị là một loại hình cụ thể của phần mềm máy tính 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 này cấu thành một giao diện
để giao tiếp với thiết bị, thông qua các bus máy tính cụ thể hoặc hệ thống con truyền
thông mà phần cứng có kết nối đến, cung cấp lệnh và / hoặc nhận dữ liệu từ điện thoại,
và ở đầu bên kia, các giao diện cần thiết để vận hành hệ thống và phần mềm ứng dụng.
Nó là một phần cứng phụ thuộc vào chương trình máy tính chuyên ngành cũng là hệ
điều hành cụ thể cho phép một chương trình khác, thông thường một hệ thống điều
hành hoặc phần mềm ứng dụng trọn gói hoặc chương trình máy tính chạy dưới hệ điều
hành hạt nhân, để tương tác trong suốt với một thiết bị phần cứng, và thường cung cấp
xử lý ngắt cần thiết cần thiết cho bất kỳ phần cứng cần thiết phụ thuộc thời gian nhu
cầu giao tiếp không đồng bộ.

The key design goal of device drivers is abstraction. Every model of hardware (even within the
same class of device) is different. Newer models also are released by manufacturers that provide
more reliable or better performance and these newer models are often controlled differently.
Computers and their operating systems cannot be expected to know how to control every device,
both now and in the future. To solve this problem, operative systems essentially dictate how
every type of device should be controlled. The function of the device driver is then to translate
these operative system mandated function calls into device specific calls. In theory a new device,
which is controlled in a new manner, should function correctly if a suitable driver is available.
This new driver will ensure that the device appears to operate as usual from the operating
system's point of view.

Under versions of Windows before Vista and versions of Linux before 2.6, all driver execution
was co-operative, meaning that if a driver entered an infinite loop it would freeze the system.
More recent revisions of these operating systems incorporate kernel preemption, where the
kernel interrupts the driver to give it tasks, and then separates itself from the process until it
receives a response from the device driver, or gives it more tasks to do.

Mục tiêu thiết kế chính của các trình điều khiển thiết bị là trừu tượng. Mỗi mô hình của
phần cứng (ngay cả trong cùng một lớp học của thiết bị) là khác nhau. mô hình mới hơn
cũng được phát hành bởi các nhà sản xuất cung cấp hiệu suất đáng tin cậy hơn hoặc tốt
hơn và các mô hình này mới hơn thường được điều khiển khác nhau. Máy vi tính và hệ
thống của họ hoạt động không thể được dự kiến sẽ biết làm thế nào để kiểm soát mọi
thiết bị, cả bây giờ và trong tương lai. Để giải quyết vấn đề này, hệ thống tác cơ bản ra
lệnh như thế nào mỗi loại thiết bị phải được kiểm soát. Chức năng của các trình điều
khiển thiết bị sau đó được để dịch hệ thống này tác bắt buộc gọi chức năng vào cuộc gọi
điện thoại cụ thể. Trên lý thuyết một thiết bị mới, được kiểm soát một cách mới, nên
chức năng được nếu một người lái xe thích hợp có sẵn. Trình điều khiển mới sẽ đảm bảo
rằng thiết bị sẽ xuất hiện để hoạt động như bình thường từ hoạt động của hệ thống
điểm của xem. Theo các phiên bản của Windows trước khi Vista và các phiên bản của
Linux trước 2.6, tất cả thực hiện lái xe đã được hợp tác, có nghĩa là nếu một người lái xe
đã nhập một vô hạn vòng lặp nó sẽ đóng băng hệ thống. sửa đổi gần đây của các hệ
điều hành kết hợp đánh đòn phủ đầu hạt nhân, nơi hạt nhân gián đoạn các trình điều
khiển để cho nó nhiệm vụ, và sau đó tách mình khỏi quá trình cho đến khi nó nhận được
một phản hồi từ các trình điều khiển thiết bị, hoặc cung cấp cho nó nhiều hơn để làm
nhiệm vụ.

[edit] Networking Mạng

Main article: Computer network

Currently most operating systems support a variety of networking protocols, hardware, and
applications for using them. This means that computers running dissimilar operating systems can
participate in a common network for sharing resources such as computing, files, printers, and
scanners using either wired or wireless connections. Networks can essentially allow a computer's
operating system to access the resources of a remote computer to support the same functions as it
could if those resources were connected directly to the local computer. This includes everything
from simple communication, to using networked file systems or even sharing another computer's
graphics or sound hardware. Some network services allow the resources of a computer to be
accessed transparently, such as SSH which allows networked users direct access to a computer's
command line interface.

Hiện nay hầu hết các hệ điều hành hỗ trợ nhiều giao thức mạng, phần cứng, và các ứng
dụng cho việc sử dụng chúng. Điều này có nghĩa rằng các máy tính chạy hệ điều hành
khác nhau có thể tham gia vào một mạng lưới phổ biến cho các tài nguyên chia sẻ như
máy tính, các tập tin, máy in, và máy quét bằng cách sử dụng các kết nối có dây hoặc
không dây. Mạng lưới cơ bản có thể cho phép hệ điều hành của máy tính để truy cập
vào tài nguyên của một máy tính từ xa để hỗ trợ các chức năng giống như nó có thể nếu
những nguồn tài nguyên đã được kết nối trực tiếp vào máy tính địa phương. Điều này
bao gồm mọi thứ từ giao tiếp đơn giản, để sử dụng hệ thống tập tin mạng hay thậm chí
chia sẻ hình ảnh của một máy tính hay phần cứng âm thanh. Một số dịch vụ mạng cho
phép các nguồn tài nguyên của một máy tính được truy cập minh bạch, như SSH cho
phép người dùng kết nối mạng truy cập trực tiếp đến giao diện lệnh của máy tính dòng.
Client/server networking involves a program on a computer somewhere which connects via a
network to another computer, called a server. Servers offer (or host) various services to other
network computers and users. These services are usually provided through ports or numbered
access points beyond the server's network address[disambiguation needed]. Each port number is usually
associated with a maximum of one running program, which is responsible for handling requests
to that port. A daemon, being a user program, can in turn access the local hardware resources of
that computer by passing requests to the operating system kernel.

Khách hàng / máy chủ mạng liên quan đến một chương trình trên một máy tính một nơi
nào đó mà kết nối qua một mạng máy tính khác, được gọi là một máy chủ. Máy chủ
cung cấp (hoặc host) các dịch vụ cho các máy tính mạng khác và người sử dụng. Các
dịch vụ này thường được cung cấp qua các cảng hoặc đánh số các điểm truy cập ngoài
[định hướng cần thiết] địa chỉ mạng của máy chủ. Mỗi số cổng thường được kết hợp với
tối đa chương trình đang chạy một, đó là trách nhiệm xử lý các yêu cầu đến cổng đó.
Một daemon, là một chương trình người dùng, trong có thể biến truy cập vào tài nguyên
phần cứng của máy tính địa phương bằng cách yêu cầu cho nhân hệ điều hành.

Many operating systems support one or more vendor-specific or open networking protocols as
well, for example, SNA on IBM systems, DECnet on systems from Digital Equipment
Corporation, and Microsoft-specific protocols (SMB) on Windows. Specific protocols for
specific tasks may also be supported such as NFS for file access. Protocols like ESound, or esd
can be easily extended over the network to provide sound from local applications, on a remote
system's sound hardware.

Nhiều hệ điều hành hỗ trợ một hoặc nhiều giao thức mạng nhà cung cấp cụ thể hoặc mở
là tốt, ví dụ, trên hệ thống IBM SNA, DECnet trên hệ thống từ Tổng công ty Thiết bị kỹ
thuật số, và các giao thức Microsoft-cụ thể (SMB) trên Windows. các giao thức cụ thể
cho các nhiệm vụ cụ thể cũng có thể được hỗ trợ như NFS để truy cập file. Giao thức
như ESound, hoặc esd có thể dễ dàng mở rộng trên mạng để cung cấp âm thanh từ các
ứng dụng địa phương, trên phần cứng âm thanh một hệ thống từ xa.

[edit] Security An ninh

Main article: Computer security

A computer being secure depends on a number of technologies working properly. A modern


operating system provides access to a number of resources, which are available to software
running on the system, and to external devices like networks via the kernel.

Một máy tính được an toàn phụ thuộc vào một số công nghệ làm việc đúng cách. Một hệ
thống điều hành hiện đại cung cấp truy cập đến một số tài nguyên, trong đó có sẵn cho
phần mềm chạy trên hệ thống, và các thiết bị bên ngoài như các mạng thông qua hạt
nhân.

The operating system must be capable of distinguishing between requests which should be
allowed to be processed, and others which should not be processed. While some systems may
simply distinguish between "privileged" and "non-privileged", systems commonly have a form
of requester identity, such as a user name. To establish identity there may be a process of
authentication. Often a username must be quoted, and each username may have a password.
Other methods of authentication, such as magnetic cards or biometric data, might be used
instead. In some cases, especially connections from the network, resources may be accessed with
no authentication at all (such as reading files over a network share). Also covered by the concept
of requester identity is authorization; the particular services and resources accessible by the
requester once logged into a system are tied to either the requester's user account or to the
variously configured groups of users to which the requester belongs.

Hệ điều hành phải có khả năng phân biệt giữa các yêu cầu đó nên được cho phép để
được xử lý, và những người khác mà không được xử lý. Trong khi một số hệ thống chỉ
đơn giản là có thể phân biệt giữa "đặc quyền" và "không có đặc quyền", các hệ thống
thường có một hình thức nhận dạng người yêu cầu, chẳng hạn như tên người dùng. Để
thiết lập nhận dạng có thể có một quá trình xác thực. Thường thì một tên người dùng
phải được trích dẫn, và mỗi tên người dùng có thể có một mật khẩu. Các phương pháp
khác xác thực, chẳng hạn như thẻ từ hoặc dữ liệu sinh trắc học, có thể được sử dụng
thay thế. Trong một số trường hợp, đặc biệt là kết nối từ mạng, nguồn tài nguyên có thể
được truy cập không có chứng thực tại tất cả (chẳng hạn như đọc các tập tin trên một
mạng chia sẻ). Cũng được bao phủ bởi các khái niệm về bản sắc yêu cầu được uỷ
quyền; các dịch vụ cụ thể và nguồn lực tiếp cận của người yêu cầu một lần đăng nhập
vào một hệ thống được gắn với một trong hai tài khoản người dùng của người yêu cầu
hoặc cho các nhóm khác nhau như cấu hình của người sử dụng mà người yêu cầu thuộc.

In addition to the allow/disallow model of security, a system with a high level of security will
also offer auditing options. These would allow tracking of requests for access to resources (such
as, "who has been reading this file?"). Internal security, or security from an already running
program is only possible if all possibly harmful requests must be carried out through interrupts to
the operating system kernel. If programs can directly access hardware and resources, they cannot
be secured.

Ngoài việc cho phép / không cho phép các mô hình bảo mật, một hệ thống với một trình
độ cao về an ninh cũng sẽ cung cấp tùy chọn kiểm toán. Đây sẽ cho phép theo dõi các
yêu cầu để truy cập vào tài nguyên (chẳng hạn như, "những người đã được đọc tập tin
này?"). An ninh nội bộ, hoặc bảo mật từ một chương trình đang chạy chỉ có thể nếu tất
cả các yêu cầu có thể gây hại phải được thực hiện thông qua các ngắt cho nhân hệ điều
hành. Nếu các chương trình trực tiếp có thể truy cập phần cứng và các nguồn lực, họ
không thể được bảo đảm.

External security involves a request from outside the computer, such as a login at a connected
console or some kind of network connection. External requests are often passed through device
drivers to the operating system's kernel, where they can be passed onto applications, or carried
out directly. Security of operating systems has long been a concern because of highly sensitive
data held on computers, both of a commercial and military nature. The United States
Government Department of Defense (DoD) created the Trusted Computer System Evaluation
Criteria (TCSEC) which is a standard that sets basic requirements for assessing the effectiveness
of security. This became of vital importance to operating system makers, because the TCSEC
was used to evaluate, classify and select computer systems being considered for the processing,
storage and retrieval of sensitive or classified information.

An ninh bên ngoài liên quan đến một yêu cầu từ bên ngoài máy tính, chẳng hạn như
đăng nhập vào một kết nối giao diện điều khiển hoặc một số loại kết nối mạng. yêu cầu
bên ngoài thường được truyền qua các trình điều khiển thiết bị hạt nhân của hệ điều
hành, nơi họ có thể được thông qua vào ứng dụng, hoặc thực hiện trực tiếp. Bảo mật
của hệ điều hành này từ lâu đã là mối quan tâm bởi vì các dữ liệu nhạy cảm cao được tổ
chức vào máy tính, cả hai đều có tính chất thương mại và quân sự. Chính phủ Hoa Kỳ Bộ
Quốc phòng (DoD) tạo ra các Trusted Tiêu chí đánh giá hệ thống máy tính (TCSEC) là
một tiêu chuẩn đặt ra yêu cầu cơ bản để đánh giá hiệu quả của bảo mật. Điều này đã
trở thành có tầm quan trọng sống còn đối với các nhà sản xuất hệ điều hành, vì TCSEC
đã được sử dụng để đánh giá, phân loại và chọn hệ thống máy tính đang được xem xét
cho việc lưu trữ, xử lý, thu hồi hoặc phân loại thông tin nhạy cảm.

Network services include offerings such as file sharing, print services, email, web sites, and file
transfer protocols (FTP), most of which can have compromised security. At the front line of
security are hardware devices known as firewalls or intrusion detection/prevention systems. At
the operating system level, there are a number of software firewalls available, as well as
intrusion detection/prevention systems. Most modern operating systems include a software
firewall, which is enabled by default. A software firewall can be configured to allow or deny
network traffic to or from a service or application running on the operating system. Therefore,
one can install and be running an insecure service, such as Telnet or FTP, and not have to be
threatened by a security breach because the firewall would deny all traffic trying to connect to
the service on that port.

Các dịch vụ mạng bao gồm các dịch vụ như chia sẻ tập tin, các dịch vụ in ấn, email, các
trang web, và các giao thức truyền file (FTP), hầu hết trong số đó có thể đã bị xâm
phạm an ninh. Tại mặt trận an ninh là các thiết bị phần cứng được gọi là bức tường lửa
hoặc phát hiện xâm nhập các hệ thống phòng. Ở cấp độ hệ điều hành, có một số bức
tường lửa phần mềm sẵn có, cũng như phát hiện xâm nhập các hệ thống phòng. Hầu
hết các hệ điều hành hiện đại bao gồm một phần mềm tường lửa, mà là kích hoạt mặc
định. Một phần mềm tường lửa có thể được cấu hình để cho phép hoặc từ chối giao
thông mạng hoặc từ một dịch vụ hay ứng dụng đang chạy trên hệ điều hành. Do đó,
người ta có thể cài đặt và chạy một dịch vụ không an toàn, chẳng hạn như Telnet hoặc
FTP, và không phải bị đe dọa bởi một sự vi phạm an ninh bởi vì các bức tường lửa sẽ từ
chối tất cả lưu lượng cố gắng để kết nối với dịch vụ trên cổng đó.

An alternative strategy, and the only sandbox strategy available in systems that do not meet the
Popek and Goldberg virtualization requirements, is the operating system not running user
programs as native code, but instead either emulates a processor or provides a host for a p-code
based system such as Java.

Một chiến lược thay thế, và sandbox chiến lược chỉ có sẵn trong hệ thống không đáp
ứng yêu cầu ảo hóa Popek và Goldberg, là hệ điều hành không chạy các chương trình sử
dụng như là mã nguồn gốc, nhưng thay vào đó hoặc là giả lập một bộ xử lý hoặc cung
cấp một máy chủ cho một mã số-p dựa trên hệ thống như Java.

Internal security is especially relevant for multi-user systems; it allows each user of the system to
have private files that the other users cannot tamper with or read. Internal security is also vital if
auditing is to be of any use, since a program can potentially bypass the operating system,
inclusive of bypassing auditing.

Nội bộ an ninh đặc biệt có liên quan cho các hệ thống đa người dùng, nó cho phép mỗi
người sử dụng của hệ thống, để có tập tin cá nhân mà người dùng khác không thể làm
xáo trộn hoặc đọc. An ninh nội bộ cũng là quan trọng nếu kiểm toán là để được sử dụng
bất kỳ, kể từ khi một chương trình có khả năng có thể bỏ qua hệ điều hành, bao gồm
kiểm toán bỏ qua.

[edit] Real-time operating systems Thời gian thực các hệ điều hành

Main article: real-time operating system

A real-time operating system (RTOS) is a multitasking operating system intended for


applications with fixed deadlines (real-time computing). Such applications include some small
embedded systems, automobile engine controllers, industrial robots, spacecraft, industrial
control, and some large-scale computing systems.
Một hệ điều hành thời gian thực (RTOS) là một hệ điều hành đa nhiệm dành cho các ứng
dụng với thời hạn cố định (thời gian thực máy tính). ứng dụng này bao gồm một số hệ
thống nhúng nhỏ, bộ điều khiển động cơ ô tô, robot công nghiệp, tàu vũ trụ, kiểm soát
công nghiệp, và một số hệ thống máy tính quy mô lớn.

An early example of a large-scale real-time operating system was Transaction Processing


Facility developed by American Airlines and IBM for the Sabre Airline Reservations System.

Một ví dụ đầu của một hệ điều hành quy mô lớn thời gian thực được phát triển Cơ sở xử
lý giao dịch của American Airlines và IBM cho các hãng hàng không đặt hệ thống Sabre.

Embedded systems that have fixed deadlines use a real-time operating system such as VxWorks,
PikeOS, eCos, QNX, MontaVista Linux and RTLinux. Windows CE is a real-time operating
system that shares similar APIs to desktop Windows but shares none of desktop Windows'
codebase[citation needed]. Symbian OS also has an RTOS kernel (EKA2) starting with version 8.0b.

các hệ thống nhúng có thời hạn cố định sử dụng một hệ điều hành thời gian thực như
VxWorks, PikeOS, ECOS, QNX, MontaVista Linux và RTLinux. Windows CE là một hệ điều
hành thời gian thực mà cổ phiếu API tương tự như máy tính để bàn Windows nhưng
không có cổ phần của codebase desktop của Windows [cần dẫn nguồn]. Hệ điều hành
Symbian cũng có một hạt nhân RTOS (EKA2) bắt đầu với phiên bản 8.0b.

Some embedded systems use operating systems such as Palm OS, BSD, and GNU/Linux,
although such operating systems do not support real-time computing.

Một số hệ thống nhúng sử dụng hệ điều hành như Palm OS, BSD, và GNU / Linux, mặc
dù hệ điều hành này không hỗ trợ tính toán thời gian thực.

[edit] Hobby development Sở thích phát triển

Operating system development is one of the more involved and technical options for the
computing hobbyist. A hobby operating system is classified as one that has been written from
scratch (not based on another system) and has few developers who work in their spare time. [11]
Development usually begins with an existing operating system. The hobbyist is their own
developer, or they interact in a relatively small and unstructured group of individuals who are all
similarly situated with the same code base. Examples of a hobby operating system include
Syllable and ReactOS.
Điều hành phát triển hệ thống là một trong những lựa chọn tham gia nhiều hơn và kỹ
thuật cho người chơi cá tính. Một hệ thống sở thích hoạt động được phân loại là một
trong đó đã được viết từ đầu (không dựa trên một hệ thống khác) và đã phát triển vài
người làm việc trong thời gian rảnh rỗi của họ. [11] phát triển thường bắt đầu với một hệ
điều hành hiện có. hobbyist được phát triển riêng của họ, hoặc họ tương tác với nhau
trong một nhóm tương đối nhỏ và không có cấu trúc của các cá nhân là tất cả tương tự
nằm với các cơ sở mã cùng. Ví dụ về một hệ điều hành sở thích bao gồm Âm và
ReactOS.

[edit] Diversity of operating systems and portability Tính đa


dạng của các hệ thống điều hành và tính di động

Application software is generally written for use on a specific operating system, and sometimes
even for specific hardware. When porting the application to run on another OS, the functionality
required by that application may be implemented differently by that OS (the names of functions,
meaning of arguments, etc.) requiring the application to be adapted, changed, or otherwise
maintained.

phần mềm ứng dụng thường được viết để sử dụng trên một hệ điều hành cụ thể, và đôi
khi ngay cả đối với phần cứng cụ thể. Khi porting các ứng dụng chạy trên một hệ điều
hành, các chức năng yêu cầu của ứng dụng mà có thể được thực hiện khác nhau của hệ
điều hành (tên của chức năng, ý nghĩa của tham số, vv) yêu cầu ứng dụng sẽ được điều
chỉnh, thay đổi, hoặc nếu không duy trì.

This cost in supporting operating systems diversity can be avoided by instead writing
applications against software platforms like Java, or Qt for web browsers. These abstractions
have already borne the cost of adaptation to specific operating systems and their system libraries.

Chi phí này trong việc hỗ trợ hệ điều hành đa dạng có thể tránh được bằng cách thay vì
viết các ứng dụng chống lại các nền tảng phần mềm như Java, hoặc Qt cho các trình
duyệt web. Những khái niệm trừu tượng đã chịu các chi phí thích ứng với hệ điều hành
cụ thể và hệ thống thư viện của họ.

Another approach is for operating system vendors to adopt standards. For example, POSIX and
OS abstraction layers provide commonalities that reduce porting costs.
Một cách khác là để vận hành các nhà cung cấp hệ thống để áp dụng tiêu chuẩn. Ví dụ,
POSIX và các lớp trừu tượng hóa hệ điều hành cung cấp các điểm chung là giảm chi phí
porting.

You might also like