unix 简介
Unix是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用
发行的版本
1. 服务器端:
redhab和Fedora属于一个公司的两个版本;
centOS 社区开发版本;
2. 桌面版
debian | ubuntu | knoppix(下载镜像就可以直接运行,免安装);
Linux 总的发行版本非常多;
普及一个知识盲区 ,对于它的版本发行号的认知,
2.2.14 偶数是稳定的内核 ,奇数是开发版的内核
系统的层次
shell和内核和用户
图来自鸟哥私房菜

多用户系统 :一个系统可以有多重身份去访问,不同的身份访问的权限不同,但是硬件的资源是相同的的,针对于 Windows 而言,有管理员身份,和用户身份,分别有不同的权限,安卓有 root权限,也就是管理员了,那么unixz作为他们的老大哥,肯定是也是有root 的身份的,对于这么多的发行版本呢,为了去开发更多的功能,对于内核的架构而言没有发生变化。
学习操作系统的移植,最重要的是了解内核的功能,我们不需要去把内核的代码拿出来,因为我们只是要把shell和内核导入到我们想用的硬件资源里,并且兼容,在这个基础上,我们给系统丰富我们用的资源,比如用户界面资源。我们留出user 不给他留开发的权限,只留操作权限,隐藏重要的配置,就像windows一样。
除了多用户系统和shell以外,最重要的就是
网络驱动 字符设备驱动
声音和视频 文件管理
进程通信 API
内核与用户之间的转换通过什么呢?
CPU 发出中断信号,并通知一个事情的发生,中断的信号由内核的处理程序来完成的
外围设备和CPU 的异步操作,所以中断的发生不可预知。
如何让内核去管理进程呢?
我们给每个进程都起个名字,就是进程的描述符。process descriptor ,来描述进程的状态
进程的描述符 存在以下几个寄存器

浙公网安备 33010602011771号