QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 960|回复: 12

学习操作系统的一些想法

[复制链接]
发表于 2004-11-24 23:42:21 | 显示全部楼层 |阅读模式
这学期我们开操作系统课程了。
老师说我们计算机专业的学生比别的学校的学生强,因为我们会编操作系统核心程序,会编操作系统。学院的××操作系统就有不少是学生参与的。
可是我觉得我的大部分同学好像对核心编程不感兴趣,大家更喜欢用户态编程。我的师兄们的课程实习是实现linux上的用户级线程。虽然还不是真正的核心编程,但比我们的实习——一个命令解释程序要强得多。

现在开操作系统课程实习了,是在linux上编核心态编程。
我们要在linux上实现一个文件系统,usb驱动,一些信号机制和网络功能等。
有不少同学报了,可是我觉得大家更多的是希望拿学分,而不是为了少年的梦。
为什么大家不喜欢作一些底层编程呢?
我在linuxfans的论坛上不过是小小的一卒,渺小得可怜,可是同学们居然说我董的多,所以我不敢提我的学校(不是清华)。
我觉得计算机专业的学生对核心编程应该很关心啊,为什么大家更喜欢用户态编程?
人说计算机专业的合格毕业生都能设计实现操作系统,我怀疑。
发表于 2004-11-25 02:44:39 | 显示全部楼层
是哈工大?还是浙大?
回复

使用道具 举报

发表于 2004-11-25 16:56:00 | 显示全部楼层
中国那个大学都一样,计算机系的毕业生的水平都一般,好多毕业设计都是一大堆数据库管理系统,而且还是windows平台的。真正搞操作系统底层编程的又有多少呢!可这是很重要的啊!
学完了操作系统核心态编程什么都不懂。这就是我国教育的现状,看人家国外,操作系统都是
minix或linux底层代码,业无怪出中国没有自己的操作系统了!内核都是人家的!我们应该做自己的东西!
回复

使用道具 举报

发表于 2004-11-26 16:44:42 | 显示全部楼层
你的看法也偏了 作一个命令解释器绝对比作用户态线程难 语义解释现在就没有最佳方案
软件不在于内核还是表层 在于作者思考出了多少别人没想到的东西
看看现在linux强在内核 弱在应用和驱动就知道了
操作系统难么 我觉得说每一个毕业生都能那是过了 说一半能那是差不多
回复

使用道具 举报

发表于 2004-11-26 18:27:40 | 显示全部楼层
我今天就在做一个简单的命令解释器……调了一下午都没搞定……不过是tc2上写的,用了C,结果觉得很不习惯……
wsm, 说说命令解释器里主要有哪些关键……
回复

使用道具 举报

发表于 2004-11-26 19:27:40 | 显示全部楼层
[quote:c4fca22485="sjinny"]我今天就在做一个简单的命令解释器……调了一下午都没搞定……不过是tc2上写的,用了C,结果觉得很不习惯……
wsm, 说说命令解释器里主要有哪些关键……[/quote]

tc2?哇,古董啊

用yacc和lex,不是很难,写个解释器
回复

使用道具 举报

发表于 2004-11-27 09:31:34 | 显示全部楼层
语义解释的难就在于他是没有规范形的
level1 作个象解释命令参数的解释器 那就是除了特定字串之外都不理会 那不用说了
level2 作个象编译器那样 有特定规范有限词组合的语法的 这就有点难度了 并不是每个实现都是最好
level3 作个shell那样 有限词组合同时要考虑到多种输入和恶意输入的 那恐怕一般作出来都是bug多多了
level4 符合一般语言习惯的 自由组合的解释 比方说语音输入里会用到的但实际上还没实现的
level5 我想真正的解释是能够符合各种自然语言习惯的解释

以上只是我瞎掰的 只是说明 不同的需求会导致解释的要求和难度大大加大
比起内核编程这样很有规范可寻的设计来说  计算机和人类日常习惯之间的差异在软件学中还一直是难题
回复

使用道具 举报

发表于 2004-11-27 20:12:17 | 显示全部楼层
我需要的只是一个比较简单的解释器:
根据字符串或二进制数据来查找一个命令;
注册命令;
回复

使用道具 举报

 楼主| 发表于 2004-11-27 21:53:47 | 显示全部楼层
几位都不是学生了吧?但不会忘了考试吧?
我们操作系统课程试验是做一个命令解释程序。
碰巧我是课代表,就拟定了这么一个评分标准。
这能算要求高吗?就有同学要灭了我!


《操作系统》课程试验评分标准
本试验内容为Linux平台下的命令解释程序(shell)。满分为30。分四个等级。
不及格(0-14),及格(15-19),良(20-25),优秀(26—30)

不及格(0—14):
       
及格(15-19):
        1)实现改变当前目录(典型名为cd),退出(典型名为exit, quit)两个内建(build in)命令
        2) 任何形式的简单命令都能正确处理
        3)实现两个进程间管道通信
        4)实现输入输出重定向
良(20—25)
1)        实现显示,设置搜索路径等环境变量内建命令
2)        实现多个进程间的管道通信
3)        正确处理有管道,输入输出重定向的复杂组合
        4)命令编辑
优秀(26—30)
1)        用户友好的界面
1> 不对用户的输入做任何假设
2> 命令历史
3> 命令提示,补全
4>        批处理
5>        文件路径模式匹配
6>        一行输入多命令(典型分隔符’;’)
7>        支持后台
2)        良好的程序结构
3)        可编程
回复

使用道具 举报

发表于 2004-11-28 11:51:55 | 显示全部楼层
课代表? 中学生么? 那你们班如果不是什么精英班级 估计你会被严重报复的
回复

使用道具 举报

 楼主| 发表于 2004-11-28 13:08:12 | 显示全部楼层
课代表这玩意在其他大学绝迹了吧?哈!哈!
可惜我是在军校。还得做一些交作业本,登记,联络师生感情之类的事。
回复

使用道具 举报

发表于 2004-11-28 17:08:52 | 显示全部楼层
强人啊……强班啊……
回复

使用道具 举报

发表于 2004-11-28 17:18:41 | 显示全部楼层
个人觉得计算机专业因为懂得了更多的核心知识后更容易理解其它任何层面的开发。

计算机专业的毕业生能设计操作系统?我觉得是个笑话,操作系统不是玩具,没那么容易!美国的学生不见得就会(不要总是盯着那几所精英学校看,当然,完全是个人意见,有亲身体验的来说说)。我觉得达到这个程度不现实。

我想最关键的还是掌握操作系统、网络协议、算法,这是非计算机专业的弱项。也是招聘爱考的,也是做底层需要的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 23:25 , Processed in 0.043538 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表