![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
本然233
努力做一个优秀的程序媛!
展开
-
Ubuntu首次使用设置root密码
ubuntu设置root密码原创 2017-12-13 17:04:29 · 8808 阅读 · 0 评论 -
信号量解决读者-写者问题
有两组并发进程:读者和写者,共享文件F,要求: (1)允许多个读者同时对文件进行读操作 (2)只允许一个写者对文件进行写操作 (3)任何写者在完成写操作前不允许其他读者或写者工作 (4)写者在执行写操作前,应让已有的写者和读者全部退出单纯的引入信号量并不能解决此问题,必须引入计数器readcount对读进程计数,mutex是用于对计数器readcount操作的互斥信号量,writebl...原创 2018-03-24 15:53:58 · 8562 阅读 · 1 评论 -
GeekOS课程设计-project2
一、项目设计目的扩充GeekOS操作系统内核,使得系统能够支持用户级进程的动态创建和执行。二、项目设计提示1、 GeekOS进程状态及转换 GeekOS系统最早创建的内核进程有Idle、Reaper和Main三个进程,它们由Init_Scheduler函数创建:最先初始化一个核态进程mainThread,并将该进程作为当前运行进程,函数最后还调用Start_K...原创 2018-03-22 09:10:32 · 16847 阅读 · 7 评论 -
信号量解决生产者-消费者问题
单缓冲区生产者-消费者问题int B;semaphore emoty; /*可用的空缓冲区数*/semaphore full; /*缓冲区内可用的产品数*/empty = 1; /*缓冲区内允许放入一件产品*/full = 0; /*缓冲区内没有产品*/cobegin process producer(){ ...原创 2018-03-24 13:52:15 · 6750 阅读 · 1 评论 -
GeekOS-project3
完成的项目:https://github.com/abc222/project3(想要小星星>_<) 然后,做一下笔记~~~一、项目设计目的研究进程调度算法,掌握用信号量实现进程间同步的方法。为GeekOS扩充进程调度算法——基于时间片轮转的进程多级反馈调度算法,并能用信号量实现进程协作。二、项目设计要求(1)实现src/geekos/syscall.c文件中...原创 2018-03-29 21:16:47 · 14844 阅读 · 7 评论 -
GeekOS课程设计-project1
目的熟悉ELF文件格式,了解GeekOS系统如何将ELF格式的可执行程序装入到内存,建立内核进程并运行的实现技术。要求1) 修改/geekos/elf.c文件:在函数Parse_ELF_Executable( )中添加代码,分析ELF格式的可执行文件(包括分析得出ELF文件头、程序头,获取可执行文件长度,代码段、数据段等信息),并填充Exe_Format数据结构中的域值。2)...原创 2018-01-05 19:35:54 · 14253 阅读 · 2 评论 -
make工具-用于GeekOS课设
make工具简介无论是在Linux还是在UNIX环境中,make都是一个非常重要的系统开发工具。利用make工具,可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。 make能够按照规则自动完成编译工作,并且可以只对程序员在上次编译后修改过的文件进行编译,减少重复编译的工原创 2018-01-07 16:34:30 · 743 阅读 · 0 评论 -
Bochs简介-用于GeekOS课程设计
BochsPC模拟器Bochs是一个x86硬件平台的模拟器。换句话说,它可以模拟各种硬件的配置。当启动到Bochs时,看起来就好像你在自己的PC上启动了另外一个PC。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。更为有趣的是,甚至可以不使用PC硬件来运行Bochs。事实上,它可以在任何编译运行Bochs的平台上模拟x86硬件。通过改变配置,可以指定使用的CPU(386、486原创 2018-01-02 21:45:53 · 1764 阅读 · 0 评论 -
GeekOS课程设计-project0
要求项目0要求实现一个内核进程,功能是实现从键盘接收一个按键,并在屏幕上显示。主要是让学生熟悉GeekOS的编译、运行过程,了解计算机系统的启动原理。分析在这个项目里面主要用到两部分的内容:内核线程和键盘处理,相应的文件是kthread.c和keyboard.c。GeekOS 在/src/geekos/keyboard.c 和/include/geekos/keyboard.h 分原创 2018-01-02 21:42:31 · 11329 阅读 · 4 评论 -
Fedora 9下QT4简单编程
fedora9下qt4编程入门原创 2017-12-13 17:20:17 · 236 阅读 · 0 评论 -
GeekOS建立一个可运行进程单位的过程
一般来说,进程创建过程为:在进程列表中增加一项,从PCB池中申请一个空间PCB,为新进程分配唯一标识符;为新进程的进程映像分配地址空间,以便容纳进程实体,由进程管理程序确定加载至进程地址空间中的程序;为新进程分配各种资源;初始化PCB,如进程标识符、处理器初始状态、进程优先级等;把新进程的状态设置为就绪态,并将其移入就绪队列;通知操作系统某些模块,如记账程序、性能监控程序等。...原创 2018-03-21 10:56:28 · 1619 阅读 · 0 评论