「操作系统」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停下当前的工作任务,去处理其他事情,处理完后回来继续执行刚才的任务,这一过程便是中断。

相关文章
|
6月前
|
人工智能 算法 安全
AI少儿英语学习APP的开发
专为3-12岁儿童打造的AI英语学习APP,以“AI玩伴”为核心,融合语音交互、多模态识别(识物/绘本)、故事共创与游戏化闯关;采用儿童优化ASR、端侧安全模型及自适应难度算法;兼顾趣味性、安全性与家长透明度,支持学龄前语感启蒙或小学阶段应试表达。
|
人工智能 计算机视觉 开发者
阿里Replace Anything:一键替换万物,让图像编辑更简单
【2月更文挑战第17天】阿里Replace Anything:一键替换万物,让图像编辑更简单
1745 1
阿里Replace Anything:一键替换万物,让图像编辑更简单
|
11月前
|
缓存 安全 Java
JUC系列之《CountDownLatch:同步多线程的精准发令枪 》
CountDownLatch是Java并发编程中用于线程协调的同步工具,通过计数器实现等待机制。主线程等待多个工作线程完成任务后再继续执行,适用于资源初始化、高并发模拟等场景,具有高效、灵活、线程安全的特点,是JUC包中实用的核心组件之一。
|
9月前
|
SQL HIVE
十一、Hive JOIN 连接查询
在 Hive 的世界里,JOIN 就像是数据间的红线,把原本分散在各自表里的信息串联起来。无论是内连接、外连接,还是 Hive 特有的左半连接,都各有“武功招式”,适用于不同场景。
504 12
|
11月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
469 0
|
11月前
|
缓存 运维 文字识别
《大模型驱动的智能文档解析系统:从领域适配到落地优化的全链路开发实践》
本文聚焦大模型在高端装备制造企业智能文档解析系统的落地实践,针对领域术语理解断层、长文档上下文限制、知识提取精准度不足、响应缓慢、微调成本高、稳定性差等核心痛点,提出对应解决方案:构建领域术语知识底座适配行业语境,以语义分块+关联图谱突破长文档解析瓶颈,用多轮校验+规则库保障知识可靠性,通过分层部署+多级缓存优化响应速度,采用增量微调+prompt工程降低成本并提升泛化能力,依托全链路监控+自动化运维保障长期稳定。优化后,术语识别准确率、知识逻辑完整性显著提升,单文档初步解析响应缩至3秒内,故障发生率降至1.2%,印证大模型落地需全链路协同且贴合领域需求。
819 15
|
监控 数据可视化 算法
基于高德MCP2.0的智能旅游攻略系统设计与实现
MCP2.0(Map-based Collaborative Planning)是新一代旅游攻略系统,通过Web端可视化界面与高德地图API深度集成,实现了从静态攻略到动态智能规划的升级。系统核心功能包括可视化地图生成、高德地图APP深度集成、智能行程规划、实时路况优化和多端同步。技术栈采用Vue.js、Node.js、MongoDB和WebSocket,支持实时通信和数据同步。系统通过智能算法优化行程,结合实时路况动态调整路线,提升用户体验。未来发展方向包括AI推荐、AR导航和多语言支持,进一步扩展系统的
939 4
基于高德MCP2.0的智能旅游攻略系统设计与实现
|
人工智能 开发框架 算法
《C++巧筑智能框架根基:开启 AI 开发新航道》
在科技飞速发展的今天,C++作为高效强大的编程语言,在构建人工智能开发框架基础架构中扮演着重要角色。本文探讨如何利用C++的优势,从数据处理、模型构建、训练及评估等模块出发,打造稳定、高效的AI开发框架,支持计算密集型任务,促进人工智能技术的发展与应用。
543 8
|
Web App开发 XML 网络协议
|
大数据 开发工具 UED