计算机操作系统 第一章 绪论 1.1 操作系统与计算机体系结构的关系 1.2 操作系统的形成与发展 手工操作阶段——无软件;特点:有人工干预、独占性、串行性;CPU速度提高后存在人机矛盾 批处理阶段 联机批处理: ① 特点 监督程序、作业自动过渡 ② 问题 CPU高速与I/O慢速的矛盾 ③ 解决办法 由卫星机负责I/O 脱机批处理: ① 特点 主机与卫星机并行操作 ② 问题 调度不灵活;保护问题 ③ 解决办法 硬件技术的发展——通道技术、中断技术 执行系统:借助于通道与
2024-11-30linux下忘记系统密码情况下 1.centos系统 先开机,然后根据图中选择第一个选项,按下e进入编辑模式 然后根据提示想图中代码ro后删除替换为 rw rd.break 然后按下ctrl x 依次输入以下命令。 # chroot /sysroot # passwd //这步会提示修改密码,输入两次密码后提示密码修改成功 # touch /.autorelabe # exit # reboot chroot /sysroot password touch /.autorelabel exi
2024-11-30执行一个应用程序的过程: 1.执行./hello USB 控制器收到中断信号,通过控制总线 中断信号到达CPU 。(南桥到北桥) 2.CPU通过控制总线向主存发送控制信号,向主存写数据 3.磁盘控制器接到总线的控制权, 通过DMA 机制将磁盘数据搬运到主存。 4.磁盘向主存写完后,向CPU 发送结束信号。
2024-11-30批处理系统中采用的调度算法 重要指标(吞吐量,周转时间,CPU利用率,公平平衡) 非抢占式的先来先服务算法(FCFS):按照进程就绪的先后顺序使用CPU 特点:公平,实现简单,但是长进程后面的短进程需要等待很长时间,不利于用户体验。非抢占式的最短作业优先(SJF):具有最短完成时间的进程优先执行最短剩余时间优先(SRTN):SJF抢占式版本,即当一个新就绪的进程比当前运行进程具有更短完成时间时,系统抢占当前进程,选择新就绪的进程执行。 短作业优先调度算法特点:改善短作业的周转时间,但如果源源不
2024-11-30为防止漏洞被利用,需要采取必要措施,关闭以上端口,以保证系统更加安全。 window2003 关闭135端口的方法 要关闭此端口,只需停止DCOM接口服务即达到目的。下面是详细操作过程。 1、打开“组件服务”控制台 按 WIN+R 组合键打开运行对话框,输入“dcomcnfg”,单击“确定”,打开组件服务控制台。 2、点击“计算机”节点点击“组件服务”下面的“计算机”项目,如图: 3、打开“我的电脑”属性设置窗口 在“计算机”选项右边,右键单击“我的电脑”,选择“属性”。如图: 4、禁止
2024-11-30进程间的通信-共享内存 共享内存机制 两种常用的共享内存方式 System V版本的共享内存 shmm 多进程直接共享内存 文件映射mmap 如果一个文件需要频繁进行读写,那么将它映射到内存中。 将特殊文件进行匿名内存映射,为有关联的进程提供共享内存空间。 为无关联的进程提供共享内存空间,将一个普通文件映射到内存中。 System V版本的共享内存 shmm 原理: 共享内存的使用 ftok 作用:创建一个唯一的key,来标识一块共享内存。(用不用都行)函数原型
2024-11-30yum install libmcrypt libmcrypt-devel mcrypt mhash wget http://pecl.php.net/get/mcrypt-1.0.1.tgz tar xf mcrypt-1.0.1.tgz cd mcrypt-1.0.1 /www/server/php/72/bin/phpize ./configure --with-php-config=/www/server/php/72/bin/php-config && make && make i
2024-11-30AppArmor 因为最近在研究OJ(oline judge)后台的安全模块的实现,所以一直在研究Linux下沙箱的东西,同时发现了Apparmor可以提供访问控制。 AppArmor(Application Armor)是Linux内核的一个安全模块,AppArmor允许系统管理员将每个程序与一个安全配置文件关联,从而限制程序的功能。简单的说,AppArmor是与SELinux类似的一个访问控制系统,通过它你可以指定程序可以读、写或运行哪些文件,是否可以打开网络端口等。作为对传统Unix的自主
2024-11-301)假如只有一个栈 函数A在线程1中执行的时候,调用了函数B,将函数A中下一条指令的地址入栈(104),然后执行函数B;函数B中又执行了Yield()函数(蓝色,Yield()的作用可以理解为切换线程),Yield()切换到地址300处的线程,执行线程2,同时将下一条指令的地址入栈(204);接下来执行函数C,同样道理调用方法D,304入栈;最后执行函数D,Yield() 会跳到地址204继续执行204;紧接着,函数B执行完,会返回,返回地址是栈顶的值(404),这里的返回地址本应该是10
2024-11-30准备centos操作系统,安装docker [root@localhost ~]# yum install docker 启动 docker 并将其设置为开机启动 [root@localhost ~]# systemctl start docker [root@localhost ~]# systemctl enable docker 如果操作系统不支持systemctl 语法的话,可以用下面的方式启动 [root@localhost ~]# service do
2024-11-30