Linux: 操作系统

Linux: 操作系统

=========

计算机本身就是一堆硬件,最核心

就是CPU和存储器设备,
为了能够计算机获得数据,有输入设备和输出设备,
输入输出设备通过南桥(北桥接入cache)接入系统的,
彼此之间还有总线,比如内存到CPU的叫系统总线,
各种键盘,鼠标需要的总线也是不一样的。为了进可能
利用计算机的资源,需要一个协调器,叫操作系统。
操作系统的内核负责管理硬件资源,并将硬件资源虚拟
成其他样子提供给上层应用程序。
如果一个程序运行在硬件上,那么程序可以控制硬件的各种
属性,其他程序如果在想运行在该硬件上,会操作干扰,
一个恶意的程序会导致其他程序都退出,所以需要一个统一
管理者,而且任何程序想使用资源,必须经过内核来完成,
内核也不允许硬件直接访问硬件,通过硬件提供的运算能力
(系统调用,system call)实现的。
系统调用,是一种比较底层的功能,程序员通过系统调用
编程比较麻烦,而且许多程序包含的功能是相同,比如几个
程序都有打印模块,这样就重复而且浪费资源。
操作系统除了提供内核之外,还需要将内核提供的一些
系统调用输出出来,通过较为高层一点的接口实现,叫做
库,库本身是一堆应用程序,被其它程序调用才能执行。
程序可以调用内核提供的功能,也可调用库的功能。
调用库,叫library call.


Linux和windows的库不一样,所以在Linux上开发的程序,移植到
windows上,不一定能执行,但如果接口一样,则可以运行。


程序可以直接运作在内核上,也可以运行在库上。
后台程序和交互程序。
在交互程序中,用户通过键盘输入时,首先产生中断,cpu通过
内核处理,内核知道这个是由哪个进程发起,所有的线程的监控
都是有内核完成。


操作系统也是一个程序,又指令和数据构成,放在内存中。
如果应用程序可以改内核,就不安全,需要一种隔离机制。
Intel有4个级别,4个环构成,最内层是0坏,内核运行在该
级别,应用程序运行在最外成,中间2层没用。




当程序运行起来,在内存分成3段,第一段是bois映射程序,
host加电自检,自检完成后加载操作系统(内核),第二段是
内核空间(kernel space),第三段是被各个应用程序
共享的。


操作系统提供一个shell程序,能接受用户指令,将用户操作
的操作解析成系统能解析的指令,传输
给操作系统内核。
包括图形界面shell(GUI)和命令行的shell(CLI)。


内核功能:
(1)进程管理
(2)内存管理
(3)文件系统
(4)网络功能
(5)硬件驱动
(6)安全机制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值