「操作系统」1. 基础

简介: 「操作系统」1. 基础

前言:操作系统基础八股文


文章目录


🚀 作者简介:作为某云服务提供商的后端开发人员,我将在这里与大家简要分享一些实用的开发小技巧。在我的职业生涯中积累了丰富的经验,希望能通过这个博客与大家交流、学习和成长。技术栈:Java、PHP、Python、Vue、React


本文收录于三木的🔥「面试」这个专栏的灵感来自于许多粉丝私信,大家向我咨询有关面试的问题和建议。我深感荣幸和责任,希望通过这个专栏,能够为大家提供更多关于面试的知识、技巧和经验。我们将一起探讨面试。期待粉丝们ssp的offer喜讯。

🎈 「Java探索者之路」系列专栏,这个专栏旨在引领Java开发者踏上一段真正探索Java世界的旅程。

我们将深入探讨Java编程的方方面面,从基础知识到高级技巧,从实践案例到最新趋势,帮助你成为一名卓越的Java探索者。如果有想进入Java后端领域工作的同学,这个专栏会对你有所帮助,欢迎关注起来呀

🌼 本人也会持续的去关注AIGC以及人工智能领域的一些动向并总结到博客中,大家感兴趣的可以关注一下我的「AI」专栏


🌹一起学习,互三互访,顺评论区有访必回,有关必回!!!


一 、操作系统基础

1.1 什么是操作系统?

  1. 操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的程序,是计算机的基石。
  2. 操作系统本质上是一个运行在计算机上的软件程序 ,用于管理计算机硬件和软件资源。
  3. 操作系统存在屏蔽了硬件层的复杂性。
  4. 操作系统的内核(Kernel)是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理以及应用程序的管理。

1.2 什么是系统调用

系统调用 是内核提供给应用程序使用的功能函数,由于应用程序一般运行在 用户态,而处于用户态的进程有诸多限制(如不能进行 I/O 操作),所以有些功能必须由内核代劳完成。而内核就是通过向应用层提供 系统调用,来完成一些在用户态不能完成的工作。

说白了,系统调用其实就是函数调用,只不过调用的是内核态的函数。与普通的函数调用不同的是,系统调用不能使用 call 指令来调用,而是需要使用 软中断 来调用。

系统调用按功能大致可分为如下几类:

  • 进程控制。完成进程的创建、撤销、阻塞及唤醒等功能。
  • 进程通信。完成进程之间的消息传递或信号传递等功能。
  • 内存管理。完成内存的分配、回收以及获取作业占用内存区大小及地址等功能。
  • 文件管理。完成文件的读、写、创建及删除等功能。
  • 设备管理。完成设备的请求或释放,以及设备启动等功能。

1.3 什么是中断

简单来说就是CPU停下当前的工作任务,去处理其他事情,处理完后回来继续执行刚才的任务,这一过程便是中断。

相关文章
|
存储 算法 安全
操作系统
一、操作系统 操作系统是计算机系统中的一个重要组成部分,它是管理和控制计算机硬件和软件资源的软件系统。操作系统提供了一个统一的接口,使得用户和应用程序可以方便地与计算机系统进行交互和使用。 操作系统的主要功能包括: 1. 进程管理:操作系统负责管理和调度计算机系统中的各个进程(程序的执行实例),包括进程的创建、调度、切换、同步和通信等。它通过分配和管理CPU时间片,使得多个进程可以并发执行,提高计算机系统的利用率和响应速度。 2. 内存管理:操作系统管理计算机系统中的内存资源,包括内存的分配和回收、虚拟内存的管理、页面置换算法等。它通过内存管理机制,为应用程序提供统一的地址空间,并保证应用程序
81 0
|
23天前
|
存储 运维 安全
深入理解操作系统:设计与实现的全面指南
【10月更文挑战第2天】 本文旨在为读者提供关于操作系统设计原理及其实现的深入理解。操作系统作为计算机系统的核心,其设计直接影响着整个系统的性能和稳定性。本文将详细介绍操作系统的基本概念、主要功能以及设计过程中需要考虑的关键因素。通过阅读本文,读者将能够获得对操作系统工作原理的清晰认识,并了解如何设计一个高效、可靠的操作系统。
|
3月前
|
前端开发 Ubuntu 安全
部署在什么操作系统上比较好
【8月更文挑战第25天】部署在什么操作系统上比较好
60 3
|
4月前
操作系统的主要功能
操作系统的主要功能
|
6月前
|
Linux Android开发 iOS开发
操作系统的作用与常见操作系统介绍
操作系统的作用与常见操作系统介绍
|
6月前
|
存储 算法
操作系统:虚拟存储管理技术
操作系统:虚拟存储管理技术
139 0
|
算法 安全 调度
操作系统学习(二):浅析多级反馈队列MLFQ
在上篇文章操作系统学习(一):浅析操作系统进程调度算法中讲到,在一个通用的操作系统中,操作系统通常对每个作业的长度知之甚少。因此,我们如何建立一个没有这种先验知识的 SJF/STCF?更进一步,我们如何能够将已经看到的一些想法与 RR 调度程序结合起来,以便响应时间也变得很好?没有工作长度的先验(priori)知识,如何设计一个能同时减少响应时间和周转时间的调度程序? 多级反馈队列是用历史经验预测未来的一个典型的例子,操作系统中有很多地方采用了这种技术。
281 0
操作系统学习(二):浅析多级反馈队列MLFQ
|
存储 算法 调度