计算机教育是一门理论与实践相结合的课程,在教学过程中有多种教学形式,主要的有理论课、上机课和课外实践课3种。计算机教育需要理论联系实际,两者相辅相成,以理论为基础,以实践为手段,实现计算机教育的目的。以下主要谈谈笔者对计算机教育重要性的认识。由于现代社会环境的变化,人们的人生观、价值观都发生了重大的改变,尤其是处于学生时代,对任何事物都充满了好奇心,但是对事物的`认知能力有限,所以对于计算机教育的认识不正确或者有偏差,教师应该正确引导学生正确认识计算机教育。随着计算机的普及,计算机已经进入每一个家庭和生活,多数学生对计算机都有一定的接触[4]。但是学生对计算机技术的认识仅仅停留在网上聊天、玩游戏、发邮件等层次的理解上,没有真正意义上认识现代社会生活学习工作中计算机技术的重要作用和强大功能。同时每一个学生对计算机的认识有一定的差异,理解也不尽相同,教师必须从实际出发摸清学生的差异,从而因材施教,对不同层次的学生给予不同的教育和指导,禁止一刀切的教育方式。避免计算机教育过程中,出现严重的分化,部分计算机基础水平较高的学生会认为上课没有意义,打消积极学习的兴趣,相反计算机基础水平较差的学生听不动,产生学习的抵触心理,从而导致计算机教育效果差。加之我国应试教育模式,计算机教育不是升学考试的科目,不被学生、家长和教师重视,错误的认为其教育没有考试科目重要,只要简单的学习就可以。面对当前计算机教育的实际情况,应该提高高校教师以及学生和家长对计算机教育重要性的认识。
计算机系统结构学习心得
在大四上学期课程中对于计算机系统结构的学习已经结束,老师细心的讲解,耐心的辅导,是我从中学到很多的知识。
从中我了解到计算机系统结构(Computer Architecture)也称为计算机体系结构,它是由计算机结构外特性,内特性,微外特性组成的。经典的计算机系统结构结构的定义是指计算机系统多级层次结构中机器语言机器级的结构,它是软件和硬件固件的主要交界面,是由机器语言程序、汇编语言源程序和高级语言源程序翻译生成的机器语言目标程序能在机器上正确运行所应具有的界面结构和功能。 计算机系统结构指的是什么? 是一台计算机的外表? 还是是指一台计算机内部 的一块块板卡安放结构? 都不是,那么它是什么? 计算机系统结构就是计算机的的机器语言程序员或编译程序编写者所看到的外特性。所谓外特性,就是计算机的概念性结构和功能特性。用一个不恰当的比喻一,比如动物吧,它的“系统结构”是指什么呢? 它的概念性结构和功能特性,就相当于动物的'器官组成及其功能特性,如鸡有胃,胃可以消化食物。至于鸡的胃是什么形状的、鸡的胃部由什么组成就不是“系统结构”研究的问题了。系统结构只管到这一层。关于计算机系统的多层次结构,用“人”这种动物的不恰当的例子列表对比如下。 计算机系统 ,人 ,应用语言级 ,为人民服务级 ,高级语言级 ,读书、学习级 ,汇编语言级 ,语言、思维级 ,操作系统级 ,生理功能级 ,传统机器级 ,人体器官级 ,微程序机器级 ,细胞组织级 ,电子线路级 ,分子级 。
传统机器级以上的所有机器都称为虚拟机,它们是由软件实现的机器。软硬件的 。 功能在逻辑上是等价的,即绝大多部分硬件的功能都可用软件来实现,反之亦然。 计算机系统结构的外特性,一般应包括以下几个方面(这也就是我们要分章学习的几个章节)把这几个方面弄清了,系统结构也就基本明确了:(1)指令系统 (2)数据指令 (3)作数的寻址方式 (4)寄存器的构成定义 (5)中断机构和例外条件 (6)存储体系和管理 (7)I/O结构 (8)机器工作状态定义和切换 (9)信息保护。所以在以后的学习中常回头想想这是系统结构的哪一方面,这对把握全局有好处。 这里提一下计算机系统结构的内部特性,计算机系统结构的内特性就是将那些外特性加以“逻辑实现”的基本属性。所谓“逻辑实现”就是在逻辑上如何实现这种功能,比如“上帝”给鸡设计了一个一定大小的胃,这个胃的功能是消化食物,这就是鸡系统的某一外特性,那怎么消化呢,就要通过鸡喙吃进食物和砂石,再通过胃的蠕动、依靠砂石的研磨来消化食物,这里的吃和蠕动等操作就是内特性。还有一个就是计算机实现,也就是计算机组成的物理实现。它主要着眼于器件技术和微组装技术。拿上面的例子来说,这个胃由哪些组织组成几条肌肉和神经来促使它运动就是“鸡实现”。据此我们可以分清计算机系统的外特性、内特性以及物理实现之间的关系。 在所有系统结构的特性中,指令系统的外特性是最关键的。因此,计算机系统结构有时就简称为指令集系统结构。我们这门课注重学习的是计算机的系统结构,传统的讲,就是处在硬件和软件之间介面的描述,
也就是外特性。 这些不恰当的比喻只是帮助理解,不可强求对应,不然会有损科学的严密性。计算机系统结构的分类:按“流”分类的方法,这是Flynn教授提出的按指令流和数据流的多倍性概念进行分类的方法。共有四大类,即:(S-single 单一的。
I-instruction 指令 M-multiple 多倍的 D-data 数据) 。SISD 单指令流单数据流,传统的单处理机属于SISD计算机。 SIMD 单指令流多数据流,并行处理机是SIMD计算机的典型代表。我国的YH-I型是此类计算机型。 MISD 多指令流单数据流,实际上不存在,但也有学者认为存在。 MIMD 多指令流多数据流,包括了大多数多处理机及多计算机系统。我国的YH-II型计算机是这种类型的计算机。一般将标量流水机视为SISD类型,把向量流水机视为SIMD类型。 按“并行级”和“流水线”分类:这是在计算机系统中的三个子系统级别上按并行程度及流水线处理程度进行分类的方法。 计算机系统的设计准则:
1.只加速使用频率高的部件 ,这是最重要也是最广泛采用的计算机设计准则。因为加快处理频繁出现事件对系统的影响远比加速处理很少出现事件的影响要大。
2.阿姆达尔(Amdahl)定律 ,这个定律就是一个公式。应会运用此公式做一些计算或分析,所以要记住并理解其意义。 3.程序访问的局部性规律 。程序访问的局部性主要反映在时间和空间局部性两个方面,时间局部性是指程序中近期被访问的信息项可能马上将被再次访问,空间局部性指那些在访问地址上相邻近的信息项很可能被一起访问。
计算机系统结构的发展冯诺依曼计算机的主要特点是:存储程序方式;指令串行执行,并由控制器加以集中控制;单元定长的一维线性空间的存储器;使用低级机器语言,数据以二进制表示;单处理机结构,以运算器为中心。 改进后的冯·诺依曼计算机使其从原来的以运算器为中心演变为以存储器为中心。 从系统结构上讲,主要是通过各种并行处理手段高提高计算机系统性能。 软件、应用和器件对系统结构发展的影响 。软件应具有可兼容性,即可移植性。为了实现软件的可移植性,
《深入理解计算机系统》读后感
这是一本多么伟大的书籍!我希望我曾去过卡耐基梅隆大学并参加这门课程。这本书是卡耐基梅隆大学的教授在讲授计算机系统课程后的几年时间里写的。从程序员的观点看(作为标题来说更为恰当),这本书涵盖了广泛的主题范围,包括操作系统,编译器,计算机系统结构,集级编程,内核的内部,连接器等。我正在寻找字眼来形容这本书的用途。在我的经历中,我几乎没有时间去学习一些操作系统,处理器和编译器的`尖端科技。例如,连接器和装载机,卸载程序使用的内核逆向工程,还有虚拟内存等等。在所有的努力过后,我找到了这本合适的书,书中将不同领域的所有著名书籍加以研究,最后给出了真正程序员所需要的东西去咀嚼和消化。
MSN(中国大学网)
高一计算机系统测试题
1、操作系统是一种。
A、 通用软件 B、系统软件 C、应用软件 D、软件包
2、操作系统是对
A、 软件 B、硬件 C、计算机资源 D、应用程序
3、从用户的观点看,操作系统是
A、用户与计算机之间的接口
B、控制和管理计算机资源的软件
C、合理地组织计算机工作流程的软件
D、由若干层次的程序按一定的结构组成的'有机体
4、操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的 方便用户使用计算机而配备的一种系统软件。
A、 速度 B、利用率 C、灵活性 D、兼容性
1. 什么是进程
进程是处于执行期的程序以及它所包含的所有资源的总称,包括虚拟处理器,虚拟空间,寄存器,堆栈,全局数据段等,
在Linux中,每个进程在创建时都会被分配一个数据结构,称为进程控制块(Process Control Block,简称PCB)。PCB中包含了很多重要的信息,供系统调度和进程本身执行使用。所有进程的PCB都存放在内核空间中。PCB中最重要的信息就是进程PID,内核通过这个PID来唯一标识一个进程。PID可以循环使用,最大值是32768。init进程的pid为1,其他进程都是init进程的后代。
除了进程控制块(PCB)以外,每个进程都有独立的内核堆栈(8k),一个进程描述符结构,这些数据都作为进程的控制信息储存在内核空间中;而进程的用户空间主要存储代码和数据。
2.进程的创建
进程是通过调用:fork,::vfork()和:clone()系统调用创建新进程。在内核中,它们都是调用do_fork实现的。传统的fork函数直接把父进程的所有资源复制给子进程。而Linux的:fork()使用写时拷贝页实现,也就是说,父进程和子进程共享同一个资源拷贝,只有当数据发生改变时,数据才会发生复制。通常的情况,子进程创建后会立即调用exec(),这样就避免复制父进程的全部资源。
三者的区别如下:
::fork():父进程的所有数据结构都会复制一份给子进程(写时拷贝页)。
::vfork():只复制task_struct和内核堆栈,所以生成的只是父进程的一个线程(无独立的用户空间)。
::clone():功能强大,带了许多参数。::clone()可以让你有选择性的继承父进程的资源,既可以选择像:vfork()一样和父进程共享一个虚拟空间,从而使创造的是线程,你也可以不和父进程共享,你甚至可以选择创造出来的进程和父进程不再是父子关系,而是兄弟关系,
3. 进程的撤销
进程通过调用exit()退出执行,这个函数会终结进程并释放所有的资源。父进程可以通过wait4()查询子进程是否终结。进程退出执行后处于僵死状态,直到它的父进程调用wait()或者waitpid()为止。父进程退出时,内核会指定线程组的其他进程或者init进程作为其子进程的新父进程。当进程接收到一个不能处理或忽视的信号时,或当在内核态产生一个不可恢复的CPU异常而内核此时正代表该进程在运行,内核可以强迫进程终止。
4. 进程管理
内核把进程信息存放在叫做任务队列(task list)的双向循环链表中(内核空间)。链表中的每一项都是类型为task_struct,称为进程描述符结构(process descriptor),包含了一个具体进程的所有信息,包括打开的文件,进程的地址空间,挂起的信号,进程的状态等。
Linux通过slab分配器分配task_struct,这样能达到对象复用和缓存着色(通过预先分配和重复使用task_struct,可以避免动态分配和释放所带来的资源消耗)。 内核把所有处于TASK_RUNNING状态的进程组织成一个可运行双向循环队列。调度函数通过扫描整个可运行队列,取得最值得执行的进程投入执行。避免扫描所有进程,提高调度效率。5. 进程的内核堆栈
Linux为每个进程分配一个8KB大小的内存区域,用于存放该进程两个不同的数据结构:thread_info和进程的内核堆栈。
进程处于内核态时使用不同于用户态堆栈,内核控制路径所用的堆栈很少,因此对栈和描述符来说,8KB足够了。
3.1学校要认识计算机教育的重要性
作为学校要改变传统观以应试教育为中心的教育理念,增强对计算机教育课程的重视,加大对计算机课程的安排,多安排实践课,促进学生对计算机技术的应用。同时学校要适应社会对人才的需求和培养要求,不断的转变计算机教育的观念。
3.2教师要多方面兼顾
学校要从计算机教育的实际出发,从学生的实际出发,结合学生和学校的教学水平和教学设施,多层次加强教学力度,不仅保持基础理论知识的有效传授,并且加强对学生学习兴趣和爱好的培养。教师要与学生积极沟通,共同分析计算)(机课程内容,思考计算机应用的重要性[5]。重点是培养学生自主学习的能力,尽量减少老师的讲述,促进学生自己思考和应用。
3.3改变教师教育理念
计算机教育的关键是教师必须具备新的理念,从而才能改变学生的创新能力。教师必须正确的认识到,教育不仅仅是学习和教育学生的一种工具,更是培养学生自主学习知识的一种方式。教师可以引导学生自主学习,在学习过程中引导学生自主思考不断拓展自己的创造力和思维力。
3.4提高学生和家长对计算机教育的重视度
由于部分家长认为计算机课程不属于升学考试科目,所以在一定程度上制约了学生对计算机的学习。学生如果明确学习计算机的重要性之后,在学习的过程中会更加的用心。改变了被动学习,并且可以自主的获取知识,并加以分析和运用。由此可见,学生和家长的正确认识是培养学生自我学习能力的必要条件。教师要多与家长沟通,进一步积极配合教师的教学。例如课外家长可以适当的允许学生使用电脑,增加学生对计算机的运用,并且要鼓励学生大胆发表自己观点和意见,长期形成一个自主学习的心理。在教学过程中,教师可以充分结合教育内容和学生兴趣,进一步调动学生自主学习的热情。
4结语
综上所述,教师要改变传统理念对计算机教育的认识,实现计算机理论联合实践,不断提高学生计算机学习水平,充分体现现代计算机教育理念,满足现代社会对计算机教育的要求,正确的认识计算机教育的重要性。总之要重视大学计算机教育的建设,为计算机的广泛应用和教育奠定基础。
/proc 文件系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息,在运行中 (on the fly) 改变设置 (通过改变内核参数)。 与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。如果你察看文件 /proc/mounts (和 mount 命令一样列出所有已经加载的文件系统),你会看到其中 一行是这样的:
grep proc /proc/mounts/proc /proc proc rw 0 0
/proc 由内核控制,没有承载 /proc 的设备。因为 /proc 主要存放由内核控制的状态信息,所以大部分这些信息的逻辑位置位于内核控制的内存。对 /proc 进行一次 'ls -l' 可以看到大部分文件都是 0 字节大的;不过察看这些文件的时候,确实可以看到一些信息。这怎么可能?这是因为 /proc 文件系统和其他常规的文件系统一样把自己注册到虚拟文件系统层 (VFS) 了。然而,直到当 VFS 调用它,请求文件、目录的 i-node 的时候,/proc 文件系统才根据内核中的信息建立相应的文件和目录。