Linux初学笔记[Ⅰ]

一: 操作系统的简单认识:
     
作系统是计算机系统的基本系统软件,是唯一直接和计算机硬件打交道的软件,它的作用就是协调,管理其他软件,使他们正常有序运行。说的简单点就像造房子一样,只有先打好地基才能在上面进行各种作业,当然事先还要在地基里铺设好各种管道,线路等。而操作系统就像这地基,地基上面建设的所有东西就像计算机中的各种其他软件。而那些管道、线路则好比是操作系统提供的各种api等。(个人见解,如有不妥,欢迎讨论)

       linux系统和windows系统最大的区别应该是它完全遵循GPL(GNU General Public License, GNU通用公共许可证),我一直简单理解为开源。

       同时具有多道批处理、分时、实时处理功能,或者其中两种以上功能的系统,称为通用操作系统。
-多道批处理:内存中有多个程序运行,保证系统使用效率处于较高状态。
-分时处理:将 处理机的运行时间分成多个时间片,按照时间片轮转分配给不同的联机用户。(可以让用户感觉当前独占系统)
-实时处理:就是给一个指定的时候内让单个程序快速运行并返回信息。(那如果在指定时间内没有完成或者中途异常呢?)

       操作系统提供的接口可以根据服务对象的不同而划分为两类:一是程序级的接口,提供给程序员使用,即系统调用;二是作业级的接口,提供给用户使用,即操作命令。

       操作系统的主要功能是1,处理机管理2,存储管理3,设备管理4,文件管理。

小注:在Linux系统中,提高处理机使用率的技术措施主要是多道和分时,处理机在进程之间切换,按照一定的规则轮流执行每个进程。对于单个处理机的系统,这些进程宏观上看似并行执行,而微观上来看仍然是串行执行的,这种执行方式被称为并发执行。

二:处理机管理
      
作业:作业是用户向计算机系统提交一项工作的基本单位,是用户在一次事务处理或计算过程中要求计算机所做工作的总和,可以由一个或多个程序组成。(怎么样算是一个完整的程序呢?作业是否和通常说的任务是同一个概念呢??)

       进程是操作系统资源分配和系统调度的基本单位,每一个进程都有自己独立的地址空间和各种资源,线程也是一种系统调度的基本单位,多个线程可以共享一个进程的资源,在存储方面,线程占用的资源更少。进程的调度主要由操作系统完成,而线程根据其类型的不同,可以由系统调度(内核级线程),也可以由用户进行调度(用户级线程)。进程调度的过程中要进行切换,切换现场的保护与恢复要求对进程上下文做完整的记录,要消耗一定的存储资源和处理机时间;线程共享进程的资源,可以在进程内部切换,不涉及资源保存和内存地址变换等操作,可以节约大量的空间和时间资源。因此,对于切换频繁的工作任务,多线程方式比多进程方式可以提供更高的响应速度。多个线程共享同一进程的资源,线程相互间通讯容易。而进程间通讯一般必须要通过系统提供的进程间通讯机制。
进程和线程都是用来描述程序的运行活动,是存在于系统存储区中的动态实体,都有自己的状态,整个生命周期都在不同的状态之间切换。

三:存储管理

四:设备管理
      
在Linux等操作系统中,所有的设备统一当作文件来处理,称为设备文件,和其他文件一样,这种文件可以使用处理文件的标准系统调用打开、关闭和读写。
设备->设备驱动->应用程序->用户

       设备介绍:操作系统中用于设备管理的内核代码在整个内核中是数量最多的部分。外部设备给用户提供进行计算机基本操作以及完成各种特定功能的接口,用户需要交给计算机处理的所有数据都必须通过特定的外部设备来传输到内存和CPU。
设备可以被简单地看作是由机械部分和电子部分组成。在微机系统中,控制器一般都有自己的控制和状态寄存器,独立于系统的内存空间,所有设备的寄存器组成计算机的输入/输出空间(称为I/O空间),操作系统通过设备驱动程序访问I/O空间,管理设备控制器,由控制器具体操纵设备完成预定的任务。

五:文件系统

你可能感兴趣的:(多线程,linux,应用服务器,windows,活动)