操作系统 入门篇

article/2025/9/24 2:11:48

操作系统的基本功能,进程管理,虚拟内存,Linux和Windows区别 。

目录

基本功能

1. 进程管理

2. 内存管理

3. 文件管理

4. 设备管理

常见概念

1. 并发

2. 共享

3. 虚拟

虚拟内存到底是啥?

宏内核和微内核

# 1. 宏内核

# 2. 微内核

 系统调用

微内核操作系统具有哪些优点?它为何能有这些优点?

Linux系统是什么? 有哪些优点?

Linux系统是什么?

优点:

Linux和windows的区别在哪里? 为什么服务器多用linux?


基本功能

1. 进程管理

进程控制、进程同步、进程通信、死锁处理、处理机调度等。

深入理解操作系统原理之进程管理(一)_想作会飞的鱼的博客-CSDN博客_进程管理

2. 内存管理

内存分配、地址映射、内存保护与共享、虚拟内存等。

操作系统内存管理(思维导图详解)_黄规速博客:学如逆水行舟,不进则退-CSDN博客_内存管理

3. 文件管理

文件存储空间的管理、目录管理、文件读写管理和保护等。

操作系统总结之文件管理_Tattoo的博客-CSDN博客_操作系统文件管理

4. 设备管理

完成用户的 I/O 请求,方便用户使用各种设备,并提高设备的利用率。

主要包括缓冲管理、设备分配、设备处理、虛拟设备等。

常见概念

1. 并发

并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。

并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。

操作系统通过引入进程和线程,使得程序能够并发运行。

2. 共享

共享是指系统中的资源可以被多个并发进程共同使用。

有两种共享方式:互斥共享和同时共享。

互斥共享的资源称为临界资源,例如打印机等,在同一时刻只允许一个进程访问,需要用同步机制来实现互斥访问。

3. 虚拟

虚拟技术把一个物理实体转换为多个逻辑实体。

主要有两种虚拟技术:时(时间)分复用技术和空(空间)分复用技术。

多个进程能在同一个处理器上并发执行使用了时分复用技术,让每个进程轮流占用处理器,每次只执行一小个时间片并快速切换。

虚拟内存使用了空分复用技术,它将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行页面置换算法,将该页置换到内存中。

操作系统的内存管理主要负责内存的分配与回收( malloc 函数:申请内存, free 函数:
释放内存),另外地址转换也就是将逻辑地址转换成相应的物理地址等功能也是操作系统内存管
理做的事情。

虚拟内存到底是啥?

https://blog.csdn.net/m0_37447818/article/details/108303500
什么是虚拟内存?| 一分钟系列 - 知乎

宏内核和微内核

# 1. 宏内核

宏内核是将操作系统功能作为一个紧密结合的整体放到内核。

由于各模块共享信息,因此有很高的性能。

# 2. 微内核

由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。

在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。

因为需要频繁地在用户态和核心态之间进行切换,所以会有一定的性能损失。

华为最新发布的鸿蒙系统采用了微内核架构,而安卓系统采用了宏内核。采用微内核架构的还有windows系统内核、塞班系统、google正在研发的Fuchsia系统(用于替代android)。 

 系统调用

微内核操作系统具有哪些优点?它为何能有这些优点?

微内核操作系统具有哪些优点?它为何能有这些优点?__牛客网

1) 提高了系统的可扩展性

2) 增强了系统的可靠性

3) 可移植性强

4) 提供了对分布式系统的支持

5)融入了面向对象技术

原因:微内核os结构是建立在模块化,层次化结构基础上的,并且采用了客户/服务器模式和面对对象的程序设计技术。

Linux系统是什么? 有哪些优点?

Linux系统是什么?

Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

优点:

稳定的系统 :打个比方,安装Linux的主机连续运行一年以上不曾宕机、不必关机是很平常的事,我的windows系统今早打开时是黑屏,强行关机之后才恢复,原因不明
安全性和漏洞的快速修补 :Linux有众多电脑高手在使用,所以维护者众多,更新维护很快,而windows则是所有人都会用,且不开源
多任务,多用户 :你可以在一个Linux主机上规划出不同等级的用户,而且每个用户登录系统时工作环境可以不同,此外你还可以允许不同用户在同一时间登陆主机以使用主机的资源
用户和用户组的规划 :在linux的机器上,文件可分为可读可写可执行三类(windows上也可以设置这些属性,在命令行里,会在以后的windows博客里写出来)此外,这些属性还可以分为三类:分别是文件拥有者、文件所属用户组、其他非拥有着与用户组者,这对于项目或者其他项目开发者具有良好的保密性
相对较少的系统资源占用 :这是最吸引眼球的地方,目前市面上任何一款个人计算机都可以达到使用Linux搭建一个服务上百人以上的主机
可定制裁剪,移植到嵌入式平台(如安卓设备)
可选择的多种图形用户界面(如GNOME,KDE)

模块化程度高
Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分;其独特的模块机制可根据用户的需要,实时地将某些模块插入或从内核中移走,使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要。

————————————————
版权声明:本文为CSDN博主「可爱的爹」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lou19991221/article/details/80113456

Linux和windows的区别在哪里? 为什么服务器多用linux?

linux可以自由定制想要的功能,只保留自己需要的,相比而言winserver太冗余。

Linux的服务器要比Win的稳定不少。

Linux 作为服务器的优势是,他目前具有最好的生态系统,服务器端的各种软件都为它而设计,默认都认为你是在 Linux 上跑,你要是整一个非 Linux 的服务器,你得有足够的心理准备,因为出现任何问题,你可能未必能找到能帮你解决问题的人。

作者:pansz
链接:https://www.zhihu.com/question/19738282/answer/15530861
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这里我想引申说一个例子:

为什么 android 中的一部分软件质量比较差?因为那些公司已经为 iOS 写了个软件,到了 android 就根本不想重新开发,只想把原先的一些资源稍微修补一下弄上去用,所以搞出了一个很糟糕的软件,那些用惯 iOS 的人,到了 android 里面可能首先想找那些 iOS 程序的替代品,结果那些程序往往都很糟糕。

反过来常常也是一样,有些软件,天生是在 android 下诞生的,他们去做 iOS 的时候,也经常是糊弄一下子就解决问题,而那些长期用惯了 android 的人,到 iOS 下,首先去找自己用惯的那些软件在 iOS 里面的对应软件,结果就还是发现这些在 android 下的优秀软件『在 iOS 里面的表现糟透了』。

上面的例子实际上就是所谓『生态系统锁定』的问题。

现在 Linux 就面临这些现状,他本身构建的生态系统,太多的软件本来在 Linux 下开发,也只适合在 Linux 下运行,虽然通常他们可能被移植到了 Windows,可是这些血统来源于 Linux 的软件,在 Windows 下安装部署的用户体验全都糟糕透了,于是乎服务器端开发者越发反感使用 Windows 作为服务器的部署平台。生态系统锁定之势已成。


http://chatgpt.dhexx.cn/article/eQ3mhAPR.shtml

相关文章

操作系统入门

文章目录 页面置换算法1.最佳置换算法(OPT,OPTimal replacement)2.先进先出置换算法(FIFO,First-In First-out replacement)3.最近最少使用置换算法(LRU,Least Recently Used replac…

操作系统教程总结

操作系统教程总结 一、基础知识点 1. 操作系统的资源管理技术 资源管理解决物理资源数量不足和合理分配资源这两个问题。 操作系统虚拟机为用户提供了一种简单、清晰、易用、高效的计算机模型。虚拟机的每种资源都是物力资源通过复用、虚拟和抽象而得到的产物。 虚拟机提供…

操作系统基础教程

目录 第二章:处理器管理 概览 进程调度的层次 进程的调度方式: 调度的评价标准: 典型的调度算法: 第三章:同步、通信和死锁 什么是进程同步? 什么是进程互斥? 进程同步的实现方式 进程…

linux fedora安装教程,u盘安装fedora图文教程

u盘安装fedora系统大家不知道尝试过没有,fedora作为一款被誉为可以超越windows的系统,它具有稳定、快速、开源的优秀品质。相信有很多朋友想要使用fedora系统却不知道如何u盘安装fedora,这是时候就需要小编使出吃奶的力气给大家带来u盘安装fe…

Fedora-i3折腾笔记

Fedora-i3折腾笔记 介绍安装 * 下载fedora-i3 * 制作安装盘 * 开始安装配置 * 添加软件源 * 高分辨率屏幕 * 触摸板 * neovim * 常用软件 * 输入法 * ohmyzsh(终端美化) * v2rayA * refind我的配置文件的使用 介绍 这里推荐下我个人的GitHub主页&#xf…

安装Fedora系统和一些系统配置

1,在VMware上安装Fedora工作站系统 新建Fedora虚拟机系统,配置好内存、处理器、硬盘、CD、网络配置等参数。 配置内容配置2GB处理器2硬盘20GB网络模式桥接模式(自动)系统版本Fedora-Workstation-Live-x86_64-30-1.2 &#xff08…

安装Fedora 36 Server

How to Install Fedora 36 Server with Screenshots Fedora 36针对桌面、服务器和云环境以及物联网发布,在本教程中,我们将通过屏幕截图了解如何安装Fedora 36服务器的各个步骤。 服务器版有一些重要的改进,在我们继续安装步骤之前&#xf…

fedora下载中的kde、xfce、workstation区别

简介 在fedora的官网下载中有workstation(工作站版)、server(服务器版)、IOT(物联网版本) 个人开发着首选工作站版,然后到清华找镜像,发现了还有两??啥玩意 …

Fedora-14源配置

By: Ailson Jack Date: 2022.11.26 个人博客:http://www.only2fire.com/ 本文在我博客的地址是:http://www.only2fire.com/archives/149.html,排版更好,便于学习,也可以去我博客逛逛,兴许有你想要的内容呢。…

Fedora添加国内源

1. 下载配置文件 // 阿里源 root# curl -o /etc/yum.repos.d/fedora.repo http://mirrors.aliyun.com/repo/fedora.repo/repo/fedora.repo root# curl -o /etc/yum.repos.d/fedora-updates.repo http://mirrors.aliyun.com/repo/fedora-updates.repo // 清华源 root# curl -o …

VMware安装Fedora 35 Workstation及使用体验

一、Fedora Fedora为硬件、云和容器创建了一个创新的、免费的和开源的平台,使软件开发人员和社区成员能够为他们的用户构建定制的解决方案。 Fedora Linux(第七版以前为Fedora Core)是由Fedora项目社区开发、红帽公司赞助,目标是…

Fedora系统配置中文输入法

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

选Ubuntu 还是 Fedora ?

提起开发,程序员们更青睐于不同版本的Linux操作系统而不是Windows。 为什么?因为Linux操作起来更安全、快捷,最重要的是,它的发行版本众多。你可以根据需要挑选最适合的那一款。那么,问题来了,到底哪个版本…

Fedora从安装到基本配置

Fedora从安装到基本配置目录 系统简单介绍系统安装系统基本配置软件源配置1.添加RPMFusion源free仓库non-free仓库 2.替换官方软件源3.flatpak包支持4.snap包支持5.添加fedy源 系统配置修改1.修改dnf配置2.修改SELinux配置3.家目录文件夹切换为英文 Gnome基本配置相关资源主题配…

Windows下使用net user命令管理账户

准备工作-以管理员身份运行命令提示符(cmd) 鼠标左键单击Windos标志或者按下键盘Windows键,下滑菜单,在Windows系统 中找到命令提示符。 2.右键,更多->以管理员身份运行 net user 命令用法 1.查看所有用户 net…

9个非常实用的计算机网络命令

1、ping 命令 ping 是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状况十分有用。 简单的说,ping 就是一个测试程序,如果 ping 运行正确,大体上就可以排除网络访问层…

net start mysql net不是内部或外部命令

安装MYSQL测试本地服务: 提示:net start mysql net不是内部或外部命令 解决方法 1.右击“我的电脑”,属性——高级——环境变量,在“系统变量”(用户变量)里找到path,编辑,将变量值添加C:\windows\system…

两行命令查看wifi密码

在终端输入两行命令查看连接过的wifi的密码 1.winr后输入cmd打开终端 2.输入netsh wlan show profile查看wifi名称 3.输入netsh wlan export profile folderC:\ keyclear,回车后在c盘根目录下会看到以wifi名称命名的xml文件。 4.直接打开xml文件或右键点击xml文…

net use 命令使用

WINDOWS2003(或其他的windows服务器)在局域网共享文件时,有时候测试的时候要更换登陆的用户名。使用NET USE 命令可以方便处理。 1)删除已有的连接,避免出现“一个用户使用...多重连接”的问题。 net use * /delete …

解决net不是此命令的问题

我相信绝大部分的net命令出错都是:(net不是内部或外部命令,也不是可运行的程序) 解决办法: 这是因为我们在使用的这个命令,在这个文件目录下并不存在,或者是我们的环境变量的path没有设置net命…