南京大学OS笔记(1)-应用眼中的操作系统 早就想刷一刷南大JYY老师的os课.之前稍微看过几节,果然讲的风趣幽默,而且现场写代码展示水平确实很高,这次准备认真刷一刷然后好好记一下笔记.当然lab就不做了,因为已经做过mit的lab了.刷课主要是为了复习基础知识和学的更深入一点.第一节操作系统历史就不记笔记了,直接从第二节开始 1. 什么是应用程序 1. (应用)程序 这里学到和csapp里的一致的.下面看一系列代码演示 当我gcc -c a.c的时候会生成一个a.o.注意-c表示编译.这里的a…
由于本人所在的公司一般都是DELL的品牌台式机,所以以DELL台式机做小白鼠.记得在2012年的时候,在当时的那家公司为了学习自学IOS开发的Objective-C开发语言的时候,由于囊中羞涩买不起mac笔记本,只能通过网上有名的“黑苹果乐园”和“远景论坛”去学习自己尝试制作黑苹果.当时的公司也是dell台式机,也制作MAC OS X 10.7版本操作系统成功,只是当时没有破解找到其有线网卡驱动程序,不能上网,只能单机.现在黑苹果技术越来越牛了,什么硬件驱动都能搞定,这次安装后的Mac OS X…
对于鸿蒙OS,博客园有一篇文章<为鸿蒙OS说两句公道话(我对鸿蒙OS的一些看法)>.有兴趣的可以看看. 在这篇文章中,个人觉得最精彩的不是文章本身,而是评论内容. 下面我挑一些出来,和大家讨论. 论 鸿蒙OS 在某些人眼中的样子 精选评论.1 首先这个兄弟一开始居然认为鸿蒙是一个语言! 精选评论.2 这个问题问得好.借用某位网友的名言:"为什么要造原子弹?" 精选评论.3 在他眼里,HarmonyOS不过是UI. 其实看到这个评论,我基本有点火气了. 精选评论.4 这个实属…
进程描述和控制 ​ 计算机最初的主要任务之一就是高效的自动化我们的工作,完成用户交付的任务.而这种任务在计算机中的表示就是一个个的进程.从上一篇文章中描述的计算机的发展历史我们能发现,无论是单道批处理系统还是多道批处理系统,操作系统的目的都是围绕对进程的控制和调度,从而实现执行用户任务.因此,系统必须满足的大多数操作都涉及进程.而为了 控制进程,操作系统必须为每一个进程 维护一个数据结构,这个数据结构描述进程的状态和资源的所有权. 什么是进程 1.定义 正在执行的程序 正在计算机上执行的程序程序…
1.uC/OS-II中使用互斥信号对象应该注意 互斥信号对象(Mutual Exclusion Semaphore)简称Mutex,是uC/OS-II的内核对象之一,用于管理那些需要独占访问的资源,并使其适应多任务环境. 创建每一个Mutex,都需要指定一个空闲的优先级号,这个优先级号的优先级必须比所有可能使用此Mutex的任务的优先级都高! uC/OS-II的Mutex实现原理大致如下:    当一个低优先级的任务A申请并得到了Mutex,于是它获得资源访问权.如果此后有一个高优先级的任务B开…
线程.对称多处理 ​ 这一部分继续深入探讨与进程管理相关的高级概念并了解多处理机的对称多处理技术. 进程和线程 到目前为止提出的进程的概念包含两个特点: 资源所有权 存放进程映像的虚拟地址空间 调度/执行 被执行和接受操作系统调度 上述两个特点是独立的,操作系统应该能够独立的处理他们.为了区分这两个特点,分派(接受调度)的单位通常被称为 线程 或者轻量级进程.而拥有资源所有权的单位通常仍称为进程或任务.现在,我们提出了线程的概念,并对二者加以了区分. 多线程 ​ 多线程是指操作系统在单个进程内支…
操作系统概述 操作系统的目标和功能 1.目标:作为用户/计算机接口 ​ 计算机的使用人群大致可以分为三类,终端用户,程序开发者,操作系统设计人员. 对于终端用户,即应用程序的用户来说,他们通常不关注计算机程序的组成和计算机的硬件细节,因此在终端用户看来,计算机系统是一组应用程序的组合.终端用户需要学习的只是各种应用程序的使用. 对于程序开发者来说,计算机系统是由各种程序设计语言和系统调用接口组成.程序开发者可以选择一种程序设计语言去开发应用程序.而应用程序的执行脱离不了硬件的支持,如果程序开发者…
现在,TCP/IP协议的应用无处不在.随着物联网的火爆,嵌入式领域使用TCP/IP协议进行通讯也越来越广泛.在我们的相关产品中,也都有应用,所以我们结合应用实际对相关应用作相应的总结. 1.技术准备 我们采用的开发平台是STM32F407和LwIP协议栈.在开始之前,我们需要做必要的准备工作. 首先要获得LwIP的源码,在网上有很多,不同版本及不同平台的都有,不过我们还是建议直接从官方网站获得.其官方网站如下: http://savannah.nongnu.org/projects/lwip/…
在两个不同的控制器之间传递数据,可以使用代理传值或者block传值. 例子是一个简单通讯录. 主界面如下: 添加联系人界面 查看/编辑联系人界面:默认是查看模式,点击编辑后进入编辑模式 编辑模式 数据更新成功. 其中添加联系人界面的数据传递使用代理方式实现. 编辑联系人界面的数据传递使用block实现. 下面来看具体过程 1.整个界面搭建 在storyboard里拖拽四个控制器,其中联系人界面是一个UITableView.界面之间的跳转使用代码实现,但是要给每一个控制器指定一个标识.按功能分别指…
最近决定使用intellij idea工具来开发基于Grails框架的应用程序,,在安装好jdk 1.7以及配置好jdk和grails环境变量后进行grails测试,在win8.1的命令行窗口中输入以下命令发现无法创建应用程序: 图一 反复尝试,在win8.1的环境下无法像win7环境下正确创建一个application,最终找到的解决办法是: 不要首先输入grails命令后再输入create-app等命令,如果要创建grails application,那么cmd打开命令行窗口后直接输入gra…