计算机操作系统基础
什么是计算机操作系统?
操作系统是一种系统软件程序,它使计算机系统硬件和应用程序能够相互交互。Operating System 允许用户与计算机硬件和软件进行交互。该程序执行计算机的所有基本操作,如文件管理、内存管理、进程管理、中断处理、输入输出处理,并控制连接到系统的所有外围设备。
Operating System 的主要目标是使连接到计算机系统的所有应用程序和硬件能够被所有希望执行所需操作的用户访问,这些操作可能是硬件相关的,也可能是软件应用程序。Kernel 是操作系统的主要组件,它控制和管理操作系统负责的所有操作。一些流行的 Operating System 包括 Linux、Windows、VMS、OS/400、AIX、z/OS、Mac 等。如今,操作系统几乎存在于所有设备中,如手机、个人电脑、大型机、汽车、电视、玩具等。
操作系统的特性
- 充当软件和硬件之间的接口。
- 它是一组集成的专用程序,用于管理计算机的整体资源和操作。
- 专用的系统软件,用于控制和监控系统中运行的所有其他程序的执行。
操作系统的目标
操作系统的目标包括:
- 使计算机系统使用更方便。
- 向用户隐藏技术细节。
- 为用户提供与系统轻松交互的接口。
- 充当硬件与其用户之间的中介。
- 管理计算机系统的资源。
- 在用户和程序之间提供高效且公平的资源共享。
操作系统功能
操作系统的一些最常见功能使用下面的图片进行说明 −
内存管理
OS 使用不同的技术来管理内存,以确保内存资源的有效和安全的分配与释放,从而能够正确利用内存。内存管理的关键方法包括 memory allocation、Memory Mapping、Memory Protection、Virtual Memory、Memory Paging and Swapping、Memory Management Unit (MMU) 和 Memory Cleanup。
处理器管理
将 processor (CPU) 分配给进程,并在不再需要时释放 processor。它涉及将 CPU 资源高效分配给进程,并对多个进程的操作进行并发管理。OS 的 processor management 包括进程管理方法,如 Process Scheduling、Dispatcher、Process States、Context Switching、Priority Levels、CPU Affinity 和 Pre-emption。
一般来说,管理 processor 以优化 CPU 使用率、最大化系统性能、最小化响应时间,并在多任务处理时确保公平性和响应性是必不可少的。
设备管理
跟踪所有设备。这也被称为 I/O controller,它决定哪个进程何时以及使用设备多长时间。它通常涉及控制和协调连接到计算机的硬件设备的使用。OS 使用 Device Detection and Configuration、Device Drivers、Device Allocation、Device I/O Operations、Interrupt Handling、Device Queues and Buffers、Device Synchronization and Error Handling 进行设备管理。
文件管理
操作系统在硬盘、固态驱动器和网络存储上组织、存储、检索和操作文件。文件管理通常由操作系统使用 File System Creation and Formatting、File Naming and Directory Structure、File Metadata、File Operations、File Access Control、File I/O Buffers and Caching、File System Maintenance 和 File Backup and Recovery 来处理。一般来说,有效的文件管理对于在存储设备上组织和保留数据至关重要,确保信息的完整性和安全性,并为用户和应用程序提供高效访问。
安全性
为了保护计算机系统、数据和用户免受未经授权的访问、非法活动或任何安全威胁,操作系统使用各种安全措施,并通过密码和其他类似技术防止对程序和数据的未经授权访问。操作系统使用 User Authentication、Access Control、Encryption、Firewalls、Antivirus and Anti-Malware Software、Security Updates and Patch Management、Secure Boot、Audit Trails and Logging、Sandboxing and Containerization 和 Secure Networking Protocols 等安全方法来保障系统安全。
任务记账
Job accounting 跟踪并记录进程或作业对计算机系统资源的利用情况。操作系统中的 job accounting 技术在任务执行期间跟踪 CPU、内存、磁盘 I/O 和网络活动。因此,它跟踪各种作业和/或用户使用的时间和资源。Job accounting 通常通过 Resource Monitoring、Process Identification、Accounting Records、Periodic Sampling、Event Logging、User and Group Accounting、Quotas and Limits、Reporting and Analysis 和 Integration with Accounting Systems 来完成。
总体而言,job accounting 使管理员能够获得有关进程如何使用系统资源的宝贵信息,并帮助他们在异构环境中管理系统性能、优化资源分配以及执行用户使用策略。
系统性能控制
操作系统优化资源利用率、高效管理系统资源,并确保快速可靠的操作。操作系统通过 Process Scheduling、Memory Management、I/O Management、Device Management、Power Management、Performance Monitoring and Tuning、Resource Allocation and Scheduling Policies 和 Load Balancing 等机制来实现对系统的控制。一般来说,操作系统管理硬件资源、调度进程并实施各种技术来优化性能,从而控制和优化系统性能。操作系统可以通过有效协调资源使用和工作负载规划,提供一个高效运行并符合用户和应用程序性能要求的系统。
与操作员的交互
使用设计用于方便系统管理、配置、监控和故障排除的不同接口和机制,操作系统通过 IT 管理员或用户与操作员交互。交互可能通过计算机控制台以指令形式进行。操作系统确认相同的指令,执行相应的操作,并通过显示屏通知操作结果。操作系统使用 Command-Line Interface (CLI)、Graphical User Interface (GUI)、System Configuration Tools、System Logs and Messages、Remote Administration 和 System Notifications 实现与操作员的交互。
错误检测辅助
操作系统应包含错误检测工具,以检测、报告并偶尔修复系统运行时发生的错误。操作系统使用 Error Messages、Diagnostic Tools、System Logs、Built-in Self-Tests (BIST)、Error-Correcting Code (ECC)、Watchdog Timers、Health Monitoring、Safe Mode 和 Automatic Error Reporting 实现错误检测辅助。一般来说,操作系统中的错误检测设备在识别、诊断和纠正系统错误和故障方面发挥关键作用,提高系统可靠性并确保机器的平稳运行。
与其他软件和用户之间的协调
操作系统提供平台和服务集,允许其他软件和用户之间的通信、资源共享和交互,从而促进协调。操作系统使用 System Calls and APIs、Interprocess Communication (IPC)、Concurrency and Multitasking、User Interfaces、Resource Management、Security and Access Control、Event Handling and Notifications 和 Integration with Middleware and Services 实现与其他软件和用户之间的协调。
一般来说,操作系统提供通信、资源管理、安全性和事件处理平台,这些在协调软件应用程序与用户的交互方面发挥关键作用。OS 通过高效协调软件组件与用户,提高系统的可用性、效率和可靠性。