操作系统学习

  操作系统作为用户和计算机硬件之间的接口且控制各种程序执行的一系列程序。它是计算机系统的资源管理着,它负责管理并调度对系统各种资源的使用。

  操作系统的“开端”一般被认为是引导程序(Boot),它是操作系统程序中最早被计算机硬件系统加载入内存并执行的部分,引导程序一般规定长度为512个字节,就是从这512字节开始,操作系统被一步步装载入计算机内存,进而最终控制整台计算机。那么引导程序是如何被找到并加载入计算机内存的呢?这里涉及到硬件厂商和软件厂商的协调。协调的结果如下:当计算机加电启后,首先转去执行BIOS中的程序进行硬件自检,如果自检成功,则开始尝试在可引导介质中依次寻找引导程序,可引导介质就是我们计算机的软盘驱动器,光盘驱动器以及硬盘等存储设备,搜索的顺序是按照BIOS里设置的引导顺序进行的。具体地说,它具有五大功能:CPU、内存、文件、外部设备、作业的控制和管理。按照功能分,可以将操作系统分为单用户单任务、单用户多任务、多用户多任务三种类型。按照操作系统的作用,可以将操作系统分为桌面操作系统、网络操作系统和移动终端操作系统三种类型。按照人机界面,可以将系统分为命令行操作系统和图形界面操作系统两种类型。文件系统是数据在硬盘上的组织方式,常见的文件系统类型包括:FAT16、FAT32和NTFS这三种。FAT16单个分区<=2GB,单个硬盘的最大容量<=8GB,不支持长文件名,即8个字符的文件名加3个字符扩展名的限制;FAT32单个硬盘的最大容量达到2TB,支持长文件名;NTFS(32位内核)可以支持的分区大小可以达到2TB,支持长文件名。

  进程具有独立功能程序在某个数据集合上的一次执行过程线程进程内的一个执行实体或执行单元。进程和线程的区别:

  (a)不同进程的地址空间是独立的,而同一进程内的线程共享同一地址空间。一个进程的线程在另一个进程内是不可见的。

  (b) 在引入线程的操作系统中,进程是资源分配和调度的单位,线程是处理机调度和分配的单位,资源是分配给进程的,线程只拥有很少资源,因而切换代价比进程切换低。

  死锁多道程序系统中当一组进程中的每个进程均无限期地等待被改组进程中的另一进程所占有且永远不会释放的资源,此时的系统处于死锁状态。死锁产生的原因:

  (a)系统提供的资源有限;

  (b)进程推进顺序不当。

  产生死锁的必要条件:互斥条件、不可剥夺条件、请求和保持条件、循环等待条件

  程序进程区别:

  (1)进程是一个动态概念,而程序是一个静态概念。

  (2)进程具有并行特征,而程序不反映执行所以没有并行特征

  (3)进程是竞争计算机系统资源的基本单位,而程序不反映执行也就不会竞争计算机系统资源

  (4)不同的进程可以包含同一程序,只要该程序所对应的数据集不同。

  Windows下的内存的管理

  Windows提供了3种方法来进行内存管理:虚拟内存最适合用来管理大型对象或者结构数组;内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行多个进程之间共享数据;内存堆栈,最适合用来管理大量的小对象。

  Windows操纵内存可以分两个层面:物理内存和虚拟内存。

  分段分页

  页是信息的物理单位分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。

  段是信息的逻辑单位它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。

  页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。

  分页的作业地址空间是一维的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。

posted @ 2014-04-19 22:56  xieh  阅读(350)  评论(0编辑  收藏  举报