an operating system

32
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

Upload: xpcuong

Post on 08-Apr-2015

78 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: An Operating System

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.

Page 2: An Operating System

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

Page 3: An Operating System

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

Page 4: An Operating System

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)

Page 5: An Operating System

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

Page 6: An Operating System

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.

Page 7: An Operating System

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

Page 8: An Operating System

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

Page 9: An Operating System

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

Page 10: An Operating System

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

Page 11: An Operating System

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

Page 12: An Operating System

đị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 multitaskingMain 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.

Page 13: An Operating System

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 switchFurther information: Preemptive multitaskingFurther 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à

Page 14: An Operating System

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.

Page 15: An Operating System

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ế

Page 16: An Operating System

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

Page 17: An Operating System

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

Page 18: An Operating System

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.

Page 19: An Operating System

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

Page 20: An Operating System

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

Page 21: An Operating System

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

Page 22: An Operating System

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.

Page 23: An Operating System

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.

Page 24: An Operating System

Đ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.

Page 25: An Operating System

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.