操作系统概论

上学期学习操作系统的时候没怎么认真听讲,到了现在深入学习java的时候发现操作系统还是很重要的所以现在重新再来学习操作系统,顺便写写博客就当记笔记了,不然到时候又不知道自己学了些啥。

 

第一章 操作系统引论

很多同学觉得引论都不重要所以直接跳过,其实不然引论其实可以让我们整体的了解操作系统,了解一个大的方向,整体的把握操作系统。

1.什么是操作系统呢?

   操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,主要作用是管理好这些硬件设备,提高它们的利用率和系统的吞吐量,并为用户和应用程序提供一个简单的接口

 

2.操作系统的发展过程

  a.未配置操作系统的计算机系统

     1)人工操作方式

           这样的计算机全部的操作都是由用户采取人工操作的方式进行的(可以知道其效率是多么的低)。由程序员将事先已穿孔的纸带,装入纸带输入机,再启动它们将纸带上的程序和数据输入计算机,然后启动计算机运行,运行完毕并取走计算结果后,才允许下一个用户上机。

            缺点:用户独占计算机,CPU等待人工操作。

      2)脱机输入/输出(off-line I/O)方式

        为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,20世纪50年代出现了脱机I/O技术。该技术是事先将装有程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带上的数据(程序)输入到磁带上,当CPU需要这些程序和数据的时候再从磁带上高速地调入内存。类似的,当CPU需要输出时,可先由CPU把数据直接从内存高速输到磁带上,然后在另一台外围机的控制下,再讲磁带上的结果通过相应的输出设备输出。

    B.单道批处理系统

       为了能充分提高计算机的利用率,应尽量保持系统的连续运行,即在处理完一个作业后,紧接着处理下一个作业,以减少机器的空闲等待时间。

      

       单道批处理系统的处理过程:

       为了实现对作业的连续处理,需要先把一批作业以脱机的方式输入到磁带上,并在系统中高配置监督程序(Moniter),在它的控制下,使这批作业能一个接一个的连续处理。单道批处理系统是在解决人机矛盾和CPU与I/o设备不匹配矛盾的过程中形成的。换言之,批处理系统旨在提高系统资源的利用率和系统的吞吐量,但是单道批处理系统任然不能充分的利用系统资源,故现在已经很少使用。

      

        单道批处理系统的缺点:系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才继续运行,因为I/O设备的低速性,更使CPU的利用率显著降低。

 

    C.多道批处理系统

         在该系统中,用户所提交的作业先存放在外存上,并排成一个队列,称为“后备队列”。然后由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存,是它们共享CPU和系统中的各种资源。由于同时在内存中有若干道程序,这样便可以在运行程序A时,利用其因I/O操作而暂停执行时的CPU空档时间,再调度另一道程序B运行,使多道程序交替运行,这样便可以保持CPU处于忙碌状态。

        1)多道批处理系统的优缺点:

        资源利用率高,系统吞吐量大,

        平均周转时间长:由于作业要排队依次进行处理,因而作业的周转时间较长。

        无交互能力:用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,修改和调试程序。

       2)多道批处理系统需要解决的问题:

          处理机争用问题,内存分配和保护问题,I/O设备分配问题,作业管理问题。

       

 

      D:分时系统(Time Sharing System)

        如果说推动多道批处理系统形成和发展的主要动力是提高资源利用率和系统吞吐量,那么推动分时系统形成和反正的主要动力,则是因为满足用户对人机交互的需求。这里不多说这个了

 

      E:实时系统(Real Time System)

 

3.微机操作系统的发展

  1.单用户单任务操作系统:只允许一个用户上机,且只允许用户程序作为一个任务运行。

  2.单用户多任务操作系统:只允许一个用户上机,单运行用户把程序分为若干个系统,是它们并发执行,从而有效的改善了系统的性能。我们熟悉的win xp,win vista,win 7 都是这种系统。

  3.多用户多任务操作系统:允许多个用户通过各种的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可以进一步分为多个任务,使它们能并发执行,从而可以进一步提高资源利用率和系统吞吐量。如 unix,linux.

 

4。操作系统的主要功能

     A.处理器管理功能:1.进程控制

                                   2.进程同步

                                   3.进程通信

                                   4.调度:作业调度,进程调度

       B.存储器管理功能:1.内存分配

                                     2.内存保护

.                                    3.地址映射

                                     4.内存扩充

        C.设备管理功能,文件管理功能

     现代操作系统的新功能:

                                         1.系统安全

                                         2.网络的功能和服务

                                         3.支持多媒体

 

   好了以上是对《计算机操作系统 第四版》汤小丹 梁红兵 西安电子科技大学出版社 第一章操作系统引论的 总结。大家如果想详细了解请阅读原书。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,作为人工智能,我无法直接创建存储过程或自定义函数。但是,我可以提供相应的 SQL 语句示例供您参考: (1) 利用读者姓名查询该读者借阅的书籍名称、借阅时间、书籍的作者。 ``` SELECT b.book_name, r.borrow_time, b.author FROM Reader r INNER JOIN Borrow b ON r.reader_id = b.reader_id WHERE r.reader_name = 'xxx'; ``` (2) 查询书籍的最高价格和最低价格。 ``` SELECT MAX(price), MIN(price) FROM Book; ``` (3) 利用读者姓名和书籍名检索该书籍的作者、价格、书籍的借阅时间和归还时间。 ``` SELECT b.author, b.price, br.borrow_time, br.return_time FROM Reader r INNER JOIN Borrow br ON r.reader_id = br.reader_id INNER JOIN Book b ON br.book_id = b.book_id WHERE r.reader_name = 'xxx' AND b.book_name = 'xxx'; ``` (4) 根据书籍名统计该书籍借阅的人数,并给出借阅“数据结构”书籍的人数。 ``` SELECT b.book_name, COUNT(br.reader_id) AS borrow_count FROM Book b INNER JOIN Borrow br ON b.book_id = br.book_id WHERE b.book_name = '数据结构' GROUP BY b.book_name; ``` (5) 根据书籍名查询借阅该书籍的读者姓名、年龄、教育程度、借阅时间、归还时间,并给出“操作系统概论”书籍的查询信息。 ``` SELECT r.reader_name, r.age, r.education, br.borrow_time, br.return_time FROM Reader r INNER JOIN Borrow br ON r.reader_id = br.reader_id INNER JOIN Book b ON br.book_id = b.book_id WHERE b.book_name = '操作系统概论'; ``` 对于用户自定义函数,您可以使用 CREATE FUNCTION 语句创建。以下是示例: (1) 创建一个函数,要求:根据读者姓名和借阅书籍名查询该读者借阅的时间。 ``` CREATE FUNCTION get_borrow_time(reader_name VARCHAR(20), book_name VARCHAR(50)) RETURNS DATETIME AS BEGIN DECLARE borrow_time DATETIME; SELECT br.borrow_time INTO borrow_time FROM Reader r INNER JOIN Borrow br ON r.reader_id = br.reader_id INNER JOIN Book b ON br.book_id = b.book_id WHERE r.reader_name = reader_name AND b.book_name = book_name; RETURN borrow_time; END; ``` (2) 创建一个函数,要求:根据书籍名查询该书籍被借阅的信息,包括读者名、读者年龄、读者的教育程度、书籍借阅时间、归还时间,并按书籍借阅时间降序排序。 ``` CREATE FUNCTION get_borrow_info(book_name VARCHAR(50)) RETURNS TABLE AS RETURN SELECT r.reader_name, r.age, r.education, br.borrow_time, br.return_time FROM Reader r INNER JOIN Borrow br ON r.reader_id = br.reader_id INNER JOIN Book b ON br.book_id = b.book_id WHERE b.book_name = book_name ORDER BY br.borrow_time DESC; ``` (3) 创建一个函数,要求:统计各书籍被借阅的次数、读者平均年龄。 ``` CREATE FUNCTION get_book_stats() RETURNS TABLE AS RETURN SELECT b.book_name, COUNT(br.reader_id) AS borrow_count, AVG(r.age) AS avg_age FROM Book b INNER JOIN Borrow br ON b.book_id = br.book_id INNER JOIN Reader r ON r.reader_id = br.reader_id GROUP BY b.book_name; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值