概述:
1.Unix系统包括用户程序和系统内核
2.内核由许多子程序构成
3.内核管理所有的程序和资源
4.进程之间的通信对Unix很重要
什么是系统编程?
系统模型:
如同所示 多用户:在系统中有多个用户运行多个程序,访问多个设备
内核(操作系统 )
计算机通过操作系统来管理所有的资源 ,并将不同的设备和不同的程序连接起来。
操作系统也是程序,与普通程序连接起来,也在内存中运行,同时它又是一个特殊程序,管理抵触硬件资源,为其他软件提供服务
系统资源
1.处理器(Processor):执行程序指令的一个硬件设备
2.输入/输出(I/O):所有的输入输出都必须进过内核,这种集中处理是有优势的:1.正确性,数据不会流错地方2.有效性,指向性3.安全性,数据不会被未被授权的程序非法访问
3.进程管理(Process Management):进程是指程序的一次运行每个进程都有自己的资源,如内存、打开的文件etc.内核中与进程有关的服务有新建Process、中止进程,进程调度etc.
4.内存(Memory):内存是计算机中很重要的资源,程序必须被放入内存才可以运行。
5.设备(Device):计算机中可以有各种各样的外设,like your keyboard etc.
6.计时器(Timers):程序的工作与时间有关,有的需要定时触发...
7.进程间通信(Interprocess Communication) :内核提供的服务,就像人与人之间的电话联系、邮件联系。
8.网络(Networking): 网络之间的通信可以看做进程通信的一种特殊模式,通过网络,不同主机上的进程,即使用不同的操作系统也可以相互通信。
学习要求:
1.分析程序
2.学习系统调用
3.编程实现
它是做什么的?
它怎么实现的?
能不能自己写一个?