第一篇:我的股票操作系统
我的股票操作系统
原则:看大盘做个股,有效回避系统风险
做股票首先要保证是资金的安全,其次才是赢利性。
股票就是资金的运动,是由资金的流入与流出决定股价的涨跌方向。简单的说:
在股票市场中,资金流入的大小,决定了日后的涨升幅度,要选择哪些有较强主力入驻的股票。对于散户行情的股票,没有参与的必要,要坚决回避。
一、下跌趋势操作方法
我对下跌趋势的认定:以20均线连续三日向下运行,认定为下跌趋势。
1、买入的条件
(1)大盘的条件
下跌趋势中,买股票就是要做反弹,而有把握的反弹,只有大盘超跌或者跌到重要支撑位,才有产生较有力度的反弹。具体可以从以下四方面看:
A:黄金分割线达到重要支撑位。
B:均线,以60均线:120均线;250均线为原则
C:上涨趋势线的下轨,属于画线一类。
D:K线远离均线
以上这四种具体办法,只有在指数运行到此,盘面上显示出获得有效支撑。考虑介入。
(2)个股的条件
选股:以前期股票头部出货迹象不明显(主要从成交量及头部区域的时间上判断)(成交换手较小,横盘时间越短较佳),近期股价大幅下跌,出现横盘止跌迹象的股票,最少出现二根以上止跌K线,再介入。个股在均线中还有这样一个特征:在上涨一段时间后,出现的回调走势,在第一次达到重要均线30均线或60均线,多数情况下均线获得支撑,而再次向上,第二次的可信度较第一次就较差。
有以下指标做为参考:ZL吸筹指标,这个指标的作用表现为股价下跌到某个价位出现一定数量的低位回补盘,在这种情况下,后面的交易日产生反弹的可能性较高。这个指标可以做为电脑选股,而选出低位回补型的股票,再进行人工筛选。
疯牛指标:也作为电脑选择的一个工具。
犀牛指标:绿柱有绿变红
2、卖出的条件
即然是反弹,高度就不会太高。有以下几种具体的方法作为参考
(1)大盘的条件
A:上涨中阳线居多,下跌中阴线居多,而反弹虽然时间短,但也是一段上涨趋势,一但大盘出现二根阴线,那就要引起高度重视,因为反弹可能将要结束。
B:上涨触到重要压力线。压力有20日均线或30日均线为居多情况。
(2)个股的条件
A:个股反弹也是阳线居多,一发现走弱迹象,立即出局。
B:到达重要压力线。
C:盘中涨幅较高。
3、止损的条件
买入后,如果没有与预想的走势相符,而出现下跌走势。则立即止损。
止损以买入价下浮3%为卖出价。
4、赢利预期3-10%
注:下跌趋势中不做创出新高股票,宁可错过,也不能套在头部。
二、横盘操作方法
1、买入条件
(1)大盘的条件
如何才能算横盘,指数在5个交易日以上在2%这个空间内活动,可认为是横盘,对大盘来说,出现横盘的时间较少,时间上也不长,而出现横盘,基本上有以下几种情况: A:高位横盘(强势盘整);那这种横盘后的结果以下跌居多,很有可能是长时间的下跌。也有可能是中继横盘,即横盘后向上突破,如果是真突破,必须满足二个条件。有领涨板块,并且带量突破,否则,可能是诱多突破。坚决离场。
B:低位横盘(弱势盘整);指数在经过前期一个较大幅度的下跌后,出现反弹而企稳,出现低位横盘状态,低位横盘分为重心上移和重心下移,如果是上移那后面的走势可能要乐观些,重心上移,多关注成交量变化情况及有无领涨板块出现。重心下移则不参与。
(2)个股的条件
在大盘出现横盘中,做个股个人认为是较难把握的,追强势股可能被套顶部,做弱势股则可能再次下跌,而那些与大盘同步的盘整股票也不是好的对象。这个阶段的选股,个人认为如果操作,从安全与收益看,应选择股票基本面良好,盘子适用,盘口有上冲欲望,成交量有一定放大的股票。在这个阶段ZL吸筹指标同样适用,不过不是日线,而应改变为60分钟线。个股的重要支撑线对操作个股也有用,股价跌到250均线,而获得支撑,可以关注,放量拉升则做为买入目标。
2、卖出的条件
在盘整阶段从大盘看一旦出现再次向下破位的迹象,特别注意:是迹象而不是已经破位。即应清仓。从个股看一旦单日涨幅达到3%以上,应逢高即出,保存成果。
3、止损
盘整阶段,买入后没有如期上涨,如果下跌则以买入价下向3%止损出局,如果出现横盘,则以大盘出现破位迹象时止损出局。
4、赢利预期
以3-5%为目标。
三、强势操作方法
何谓强势,5日、10日、20日、30日、60日均线向上,有明显的领涨板块,成交量保持较高状态。
总结以前上升行情的经历,频繁换股对自己来说,不是上策,因为短线还未达到买入就涨停的技术与心态。因此,上升行情以后的主要操作方法是持股待涨,因为持股时间较长,选择一只好股票显得特别关键。
1、选股:在上升行情中,想获得较高的收益,选股特别重要。
(1)选择领涨板块的股票。
(2)选择股价走势较独立,大盘回调时股价不破10日线。换手率保持理想状态。2-5%。
(3)指标选股。
A:发现: 这个指标在下跌末期,能有效捕捉前期大幅下跌,而现在有资金吸纳的股票。用法:在发出信号后,观察3-6天的盘面变化,底部向上则重点关注,向下则去除。在一段时间,有大量出现信号的股票,也表明大盘就要出现底部。
B:红兄突破
C:征战股市
D:鬼眼鬼指
2、股价的运行
买入股票后,要密切关注股价的运行,观察主力的手法以及实力,在压力线处的反映,是先突破再回抽,还是先整理再突破。一般来说,先突破再回抽说明主力实力较强。
3、洗盘
对于可能出现的洗盘,持股不动
对于一只拉升状态的股票,洗盘的终结点最低在30日均线附近,在跌破均线的后二天不能拉回的,可视做有效破位,则出局。在某些时候,洗盘可能到达60日线,在跌到此位时,如果大盘良好,则再度拉升的可能性较高,成交量应同步放大。
3、卖出
以个股顶部高位放量、高位滞涨。或大盘出现头部时出局。正常回调应持股不动。
4、赢利幅度以20%-50%。
在牛市当中,止损以买入价的向下-6%为卖出价。买入股票后,如果是一只急拉股票,则出现上涨无力时抛空。如果是一只稳步上涨的股票,则在股价离均线较远时暂时出局,在股价到达5日或10日线再行补回。因为实际操作情况复杂,所以要根据实盘而定。但有一点必须要遵守,在卖出股票后,不能参与其他的股票。只有这样,才有精力继续做原来的股票。切记。
其它指标:DEAD是一个大盘与个股同样适用的指标。
操盘手指标:也是一个大盘与个股同样适用的指标,白线上穿绿线买入,反之卖出,经过长时间的应用,还不错。
BRAR人气指标实战应用
使用方法:
1.AR(黄线)在上,BR(白线)在下,好事!买气足,即使再跌,以后也必可高过现价。
2.当白黄粘合齐上行,股价买乞气足,仍会上行.3.当股价上行一段时间后白线上穿黄线并开始远离黄线或白线上行黄线走平(向下),表明买气不足,要跌了.4.股价下跌,白黄均掉头向下,白下穿黄,若双线止跌,股价要反弹.我们当初用此法寻到的黑马(例0939凯地电力 99年12月1日 2000年1月5日600720祁连山;卖出的例子600874ST渤化99年12月17日.600151航天机电99年6月29.[证券学习]股票书籍大全
《期货市场技术分析》 《期货交易技术分析-清华版》 《华尔街四十五年》
《期货决胜108篇》 《艾略特波浪理论-市场行为的关键》 《系统交易方法》《江恩实战技法》 《证券期货投资计算机化技术分析原理》 《赢家绝技》吴迪《投资理论及技巧》 《童牧野论宝塔线》 《猎豹出击》
《一目了然预测趋势》 《教会你坐庄》 《股市孙子兵法》
《精短线技术》 《魔山理论周期应用》 《只铁投资操作理念》
《魔山实战理论》 《投资大师的成功因素》 《只铁寻宝图》
《切线理论》 《江恩论述六边形的手稿》 《百胜刀法—如何识别反转和反弹》《李雨青成交量组合的使用技巧》 《交易中的非战即逃》 《K线六种形态》
《野山(高级会员篇)》 《无敌神剑系列与一招制敌系列》 《神光时间预测经典理论》《股市高级操作分析》 《图表分析》 《炒股的智慧》
《股票作手回忆录》 《股市博弈论》 《股市技术分析实战技法成本分析》
《金融炼金术证券分析的逻辑》 《金融杀手》 《精短线技术》
《漫谈投资组合的几何增值理论》 《千年作战法》 《伟大的投机家索罗斯》
《野山高级会员版》 《一字千金》 《超级短线实战经典》
《选股绝招如何抓住狂涨的黑马》 《江恩理论》 《花荣全集》
《资本市场》 《如何看盘》 《股市孙子兵法》
《江恩投资实战技法上》 《江恩投资实战技法下》 《笑傲股市》
《系统交易方法》 《超级短线实战经典》 《超级短线实战经典》
《股市技巧》 《登峰之路》作者:青木 《技术分析是科学还是玄学》
《综合战法系列-新股必胜》 《与庄斗智—如何远离庄家陷阱》 《股林秘籍》
《趋势理论》 《风险防范》 江恩《空中隧道》揭秘版
《MACD教程》 《专业操盘手》 《炒股赚钱一本通(完全版)》
《K线力学秘籍》 《十年二十倍神光实战理论》 《操盘手教程》
《选股绝招》 《“赚钱之神”华人投资奇才邱永汉》 《职业证券投资策略》
《分析家公式系统使用与提高》 《九阳真经》 《英雄无敌》
《选股绝招如何抓住狂涨的黑马》 《股票大作手操盘术》 《股墓遗书》
《漫谈投资组合的几何增值理论》 《股票操作初级教程》 《金融炼金术》
《一番股票技术》 《价值连城的精确短线交易技术》 《散户大厅》
《短线泰斗》 《金融炼金术—证券分析的逻辑》 《股市倍增术》
《天狼之灵》 《只铁综合战法》 《股票市场的迷走神经》
《股市基本分析》 《炒股不败63招》 《跟庄高手谈选股绝招》
《操盘绝招》 《股市趣文》 《金玉良言股市》
《股市理论》 《三线开花理论》作者:张卫星 《分析家公式编辑教程(全)》
《分析家证券文摘》 《全攻全守操作法》 《秘密规则股市职业炒盘手自述》
《炒股的智慧》 《认识经济论》 《花荣全集》
《战胜庄家》 《羊群效应理论对中国股市意义》 《破解专业操盘手核心机密》《秘密规则》 《股市金玉良言合集》 《商业原则》
《技术分析基础大全》 《市场理性与非理性的理论撞击》 《寂寞高手续-实战手筋16条》《赢家绝技》 《投机智慧》 《股市晴雨表》
《技术分析基础大全》 《股市操盘手》 《股路不归》
《美国期货专家经验谈》 《分析家专业版公式指南》 《绝地苍狼完整版》(只铁)《B股投资指南》 《股票作手回忆录》 《跟庄高手谈选股绝招》
《上市公司公告解读》 《华尔街传奇》 《羊群效应与股票收益的特性》
《江恩理论─金融走势分析》 《技术技法》 《教你操盘》
《数字财富》 《笑傲股市大师们的投资之道》 《基金投资指南》
《新股投资指南》 《股票基本知识》 《道氏理论(完全版)》
《股民必读》作者:李清明 《华尔街操盘高手》 《上市债券投资指南》
《股票交易指南》 《华尔街写真》 《证券投资顾问》
《松下幸之助创业之道》 《松下幸之助为人之道》 《金融杀手》
《江恩理论(精典版)》 《松下幸之助经营之道》 《股民日记》
《外汇知识》 《均衡定价理论》 《筹码雷达短线操作法》
《如何炒股才能赢钱》 《松下幸之助用人之道》 《筹码分布与筹码雷达》
《投资者维权指南》 《股市形意论》 《一字千金》
《实战分时15计》 《江恩理论(精简版)》 《一个散户的成长》
《上市公司财务分析》 《股市登龙术》青木 《形态基本图形》
《金融杀手》肖伟中著 《阴线炒股绝技》 《原版海龟交易法则》
《K线大赢家》 《与庄共舞一个散户的成长》 《黑马基因技术指标组合》
《格雷厄姆论价值投资》 《成交量研究专集增刊》 《一个职业炒手的炒股笔记》《K线理论研究》 《大赢家》 《一个投机者的告白》
《炒股绝招》作者:李贺群 《新金融大师》 《翻云覆雨—股市赢家战略》
《波浪理论精典教学课程》 《钱龙旗舰版操作手册》 《波浪理论经典教学》
《涨停K象研究》 《证券资格考试资料》 《股市博弈论》
《股市技术分析实战技法》 《职业证券投资策略》 《无招胜有招》
《抄底实战攻略》 《金融市场》 《短线必杀》
《与庄斗智》 《经济学原理》 《资本市场》
《薛斯通道》 《筹码雷达长线操作法》 《股市技术分析》
《股市操盘手》 《投资组合的熵理论和信息价值》 《操盘华尔街》
《火眼金睛盘口语言的逻辑解读》 《大阳线》 《股林秘籍》作者:李贺群
《股市技术分析实战技法目录》 《ABC三点定位分析法》 《穿杨看盘图谱》
《江湖密籍》 《世界首富沃伦·巴菲特传》 《政治经济学原理》
《经典技术分析图解(39图)》 《大道至简一》 《大道至简二》
《专业投机智慧》 《AdvancedGET之波浪理论》 《交易冠军》
《股票经典书籍大全》 《股市宝典》 《步步为赢》
《行情技术分析指南》 《股市金规玉律》 《千年作战法》
《短线诸葛》 《淘金狐狸》 《飞弧公式基础》
《黑马厚利法》 《短线是银短线高手实战股谱》 《筹码分布》
《K线力学七技巧》 《股票操作中级教程》 《股票操作高级教程》
【短线是银50集教学片VCD-破译股价密码】[RM版]作者:唐能通
附件: 价格理论.chm(2004-11-1 18:05, 1.23 M)
该附件被下载次数 145
《股市晴雨表》 股票书籍 《股票趋势技术分析》 股票书籍 《彼得原理》 股票书籍大全《投机智慧》 证券书籍 《资本市场》 证券书籍 《华尔街写真》 证券书籍大全《投资理论及技巧》 《华尔街操盘高手》 《华尔街传奇》
《道氏理论入门》 《笑傲股市-大师投资之道》 《索罗斯传奇》
《寂寞高手》续编 《成本分析实战技法》 《漫步技术分析》
《选股绝招》 《短线是银之二》 《艾略特波浪理论新解》
《形态分析图解》 《跟庄技巧》 《股票价格透视》
《股票投资格言》 A { TEXT-DECORATION: none } 《证券投资风险》 《心理实战技巧》《股票基本知识》 《股票承销发行与上市》 《证券从业人员资格与培训》
《宏观分析技术》 《战无不胜》 《走向辉煌》
《洞烛玄机》 《无处凋零》 《散户大厅》
《网络时代》 《寂寞高手》 《股市扫盲》
《与庄共舞-一个散户的成长》 《与庄斗智》 《股市技术分析》
《艾略特波动原理三十讲》 《股票市场的迷走神经》 《股民必读》
《股市操盘手-迫害散户的方法》 《股市中的红男绿女》 《股民日记-一个梦呓者的自白》《大赢家》 《股际生涯》 《无招胜有招》
《陶素宇炒股63招》 《涨停板是金》 《怎样捕捉黑马》
《 证券投资顾问》 《秘密规则》 《江恩投资十二法则》
《股市倍增术》 《股墓遗书》 《登峰之路》
《炒股的智慧》 《克罗谈投资策略》 《逃庄》
期货相关书籍下载
书名 大小 下载
期货市场技术分析——约氦·墨菲(技术分析经典丛书)11.9M 下载艾略特波浪理论——市场行为的关键(波浪理论经典丛书)3.45M 下载江恩投资实战技法(江恩理论经典丛书)5.92M 下载
日本蜡烛图技术(经典)8.23M 下载
期货交易入门 138K 下载
期货交易技术分析——清华版 10.4M 下载
江恩:华尔街四十五年 3.39M 下载
混沌操作法——大趋势 23.1M 下载
通向金融王国的自由之路 11.1M 下载
系统交易方法 2.72M 下载
股票作手回忆录 151K 下载
期货决胜108篇 3.47M 下载
华尔街操盘高手 198K 下载
投机智慧 148K 下载
《我做了一回庄》(绿豆坐庄小说)123K 下载
短线是银50集教学片VCD-破译股价密码
第二篇:如何建立股票操作系统
如何建立股票操作系统
(2009-11-27 23:57:24)
转载 标签:
股票 财经 黄金游戏 市盈率 操作系统
分类: 应对金融风暴之中国经 济
“操作系统如何构建?毕竟分析判断和实际操作是两回事,操作系统应该能有 效地把两者结合起来,需要注意些什么?”这是微博本周的核心议题,战友们热 烈讨论了很多内容,笔者今天也将自己的观点阐述一下,把《黄金游戏》后面两 本的内容和思路也透露一些,这相当于战友们对《黄金游戏》后两本的预习,也 有利于个人操作系统的建设。因此,仅以本文送给战友们特别是《黄金游戏》的 读者。这里强调《黄金游戏》读者没有任何区别其他读者的意思,只是这个思路 对于正在阅读《黄金游戏》的战友来说更好理解且更有用。要想建立操作系统,我们必须搞清楚什么是操作系统,概念不搞清楚是无法 建立操作系统思路的,也就不可能形成操作系统。为了便于理解,我们不妨来借 鉴一下计算机操作系统的概念,理论上说它们是相通的。操作系统是控制其他程序运行、管理电脑硬件与软件资源、管理系统资源并 为用户提供操作界面的系统软件的集合,同时也是计算机系统的内核与基石。计 算机的操作系统概念是这样的,股票的操作系统也是这样的。计算机是管理其硬 件、软件资源的各个系统集合,股票的操作系统也是一个个小的操作系统集合,最终形成一个大的、完整的操作系统,操作系统同样是炒股的内核与基石。一个 股票操作系统就像微软视窗、UNIX 或 LINUX。
一个类似于 WINDOWS 的股票操作系统由三个大的分系统组成,分别为判断 系统、操盘系统和风险控制系统。判断系统主要是根据当前所有外界已经发生或正在发生或将有可能发生所有 能够影响股市的信息进行逻辑推理,最终经过《黄金游戏三》中的操盘流程模块 中的流程给出一个对市场的判断。这个判断是一个不断推导的过程,是动态的,随时根据市场的变化和现实因素的变化而进行再推理,这就像流程模块里面的见 “N”返回重新进行流程一样。如此不断地推理判断和再推理再判断形成了判断系 统,判断系统的验证最终在盘面上体现。这个道理就像开车,推导出的结果就像 方向盘调整方向一样不断调整。操盘系统是根据判断和自己的操作策略所作的决策系统,与判断系统联系但 绝不是绝对一动俱动的关系。判断系统是分析、推理和判断,操盘系统则是赤裸 裸的决策;判断对错不会造成一毛钱的损失,但决策失误却绝对是真金白银。操 盘系统不但与判断系统有关,联系更紧密的是个人的操盘策略,短线、中线和长 线的策略不同最
终操盘所使用的手段和方法绝对不同,这才是操盘系统的关键。同理,与操盘系统息息相关的仓位配比同样与个人的风险喜好与操盘策略密切相 关。从根本上说,操盘系统是根据操盘策略、个人风险喜好来筛选分析系统的部 分进行决策,最终形成操盘决策。这里可以举一个例子,比如某操盘系统的短线 止损位为某个价格下方的 2%的位置,中线止损位为某个价格的下方的 8%,那 么当股价跌破 2%时采取短线策略者就应该卖出,采取中线的投资者则完全可对 这个可能是 5%的幅度调整置之不理。这里只是举例,与任何现实化的策略取向 没有任何关系,这是必须要注意的。风险控制系统是炒股的“救生系统”。股市如人生,没有绝对,谁也无法绝对 预知每一个波动,这也正是股市的魅力所在。但股市并非没有任何规律可循,投 资者完全可以根据它所表现出的某种特征而选择其中可操作的部分进行操作。因 此,这里就没有百分百的事,也就有一个概率问题。既然是概率,就可能有失误 的时候。若出现失误怎么办?当然是纠错。这个纠错的过程就是风险控制系统,也是股市的“救生系统”。有了这个救生系统,即使操盘出现了失误,也不至于出
现被深套的局面,在股市上只要原始实力能够保存,再保持较高几率,那么获利 是再正常不过的事情。操作系统有了这样三个大的子系统,那么这三个大的子系统中就可以分成更 多小的系统,比如《黄金游戏三》中的三条均线操盘法就是一个小的判断系统和 操盘系统。针对这三个子系统继续细分又可以分成更细的子系统,这样一个不断 细分的系统形成了一个完成的体系。当前《黄金游戏》三本中的任何一部分都是 这整个体系的一个小子系统,而最后一本就是将这一个个子系统有机整合起来的 部分。但需要说明的是,具体到每一个人的操作系统建设,则是必须结合个人情 况一个个的逐渐建立然后再有机整合,当然也可以先有一个轮廓再去填空,这和 自己的习惯有关,笔者之所以从浅至深是希望放低 《黄金游戏》 整个系统的门槛。有这篇文章,对《黄金游戏》有了研究且在操作上有了感觉的战友笔者以为 可以通过这篇文章对操作系统有一个大概的了解和框架,待《黄金游戏》五面世 的时候接受起来会非常容易。另:对此思路任何人都可以用,但必须注明版权属于《黄金游戏》操作系统,不注明版权也可以那就是比笔者最终成型的东西要更先进,否则就是盗版。这篇 文章花了两个多小时,盯电脑盯得眼花,周末可以不用起来看盘,要睡觉度周末 了!本文为新浪微博本周议题,新议题周
周末发上来由战友投票抉择,新浪微博的一个 热帖今天仔细一看讨论竟然超 2000 条,里面有不少战友有价值的讨论,可参考。地址:http://t.sina.com.cn/1298535315/4zQM7WBg#a_comment 《黄金游戏》交流平台(《黄金游戏》交流邮箱:goldengame@163.com。平台 交流宗旨:平等、没有门槛,大家一起游戏的技术交流平台。这里没有老师,只 有朋友和“战友”。三类问题不回答:
1、直接咨询个股;
2、过度敏感问题;
3、私人问题。特别提醒 特别提醒:,《黄金游戏》系列书籍购买、问题咨询请发邮箱: 特别提醒 Nanamail89@gmail.com,会有人及时回复。): 来信:
占兄: 你好!第一次给你写信,先说下我的情况吧,我是今年 4 月份入市的,有幸能躲过 08 年的大熊市,我是 80 后了,由于才工作不久,又没有股市经验,所以投入的资金比 较少,我想现阶段我的主要目标是锻炼自己的技术吧,等水平提高了再投入多一些 资金,赚钱是以后的事情了,呵呵。刚开始的时候频繁交易了一段时间,由于行情比 较好,像我这样的新手也略有盈利,但由于 8 月份的调整没有第一时间退出,使我的 利润几乎化为乌有,还好没有损失本金。我大概今年 5 月份在网易上看到了你的博客,看过就觉得有茅塞顿开的感觉, 以后就天天坚持看,确实从你的博客中学到很多东西,我觉得我现在的水平和刚 入市相比应该是提升了不知多少了,现在心态是平静的,比较有耐心,买入后如 果大盘或个股没出现大的异常基本上能耐心持有,就当存银行吧,这样炒股也不 影响我的工作。我相信我坚持学习下去的话,我的操作水平一定会有质的飞跃的,呵呵。《黄金游戏》也拜读了,现在已经基本形成了一套操作系统吧,我对以后的操作 还是相当有信心的。《黄金游戏》确实是一本好书,特别是新手如果在看完《黄 金游戏》再入市的话,一定会少交很多学费,以最快速度实现盈利。我能遇到占 兄的博客和《黄金游戏》,就像占兄说的这是一种缘分吧。《黄金游戏》是占兄 的多年实践总结,是你心血的结晶,价值大于黄金,占兄舍得拿出来示人,足见 占兄的胸襟,能有幸读到《黄金游戏》的人,应该向占兄致敬!另外看了《黄金游戏》之后想请教占兄几个问题,以解心头的困惑。
1、刚开始的时候面对一支股票,我是主要关注它的技术面,但慢慢我发现公 司的基本面也是比较重要的,不知占兄认为一支股票它的技术面和基本面应该各 占多大的份量?我的理解是技术面应该占更重要的位置,在技术图形差不多的情 况下再选基本面更好的,不知道对不?另外像概念股之类是不是不用太关心公司 的业绩?
2、在
《黄金游戏》1 的第五章第二节,《如何寻找绩优股》,强调了基本面 的重要性,而在第九章第四节中,你说值投资被误导为买绩优股是大错而特错的,这看起来有点矛盾,不知道这两处说的“绩优股”有何区别?
3、市盈率问题,在市盈率这一小节中,你说关注个股不要关注其市盈率,而要关 注其是否有业绩的提升,但我查了一下市盈率的概念为:股价/每股收益,这样市盈 率又可以同业绩联系起来,不知占兄是怎么看待这个问题? 希望占兄能在百忙之中抽出时间帮我解答一下上面几个问题,小弟将感激不 尽。最后祝《黄金游戏》的读者满天下,祝占兄全家幸福安康!重庆 小王 2009.11.9 交流: 第一个问题。已经出来的基本面只代表历史,意义并不大,如果非要说有参 考意义就是公司业绩的连贯性。在我看来,基本面的作用在于基本面预期如何,即未来的业绩预期如何,这才是关键中的关键。从理论上来说,技术面最终必然 反映一切,一只股票如果图形都不过关那可投资价值就大打折扣。基本面只有放 在趋势中才有意义,否则就是垃圾一堆。概念股关心的是概念,与业绩没有任何 关系,概念股不会因为业绩涨也不会因为业绩跌,那么概念在这里就相当于没有,只有概念才是决定这只股票的根本。第二个问题。第一个问题其实已经回答了这个问题,关于基本面放在趋势中 才有意义在 《黄金游戏一》 中没有论述,这是一个漏洞,未来在修订版我会补上。买绩优股不是大错特错,买股价已经透支了这个绩优的股票是大错特错,我这里 想说明的问题是不能仅因为绩优而买股票,并不是说绩优股都不能买。
第三个问题。关于这一点我之前的交流中曾经做过一个公式,比市盈率更适 用,即市盈率/业绩增长率(去掉百分号后的数字)<1 是低估,反之是高估,那 篇交流把这个问题描述得很清楚,可向前翻翻看一下。《黄金游戏》能不能满天下都是无所谓的事情,这一切都在于一个“缘”字。《黄金游戏
(三)—交易靠自己》、黄金游戏
(二)—熊市能赚钱 黄金游戏(交易靠自己》、黄金游戏(熊市能赚钱》、《黄金 黄金游戏 交易靠自己》、《黄金游戏 熊市能赚钱 黄金 游戏(从 股获利》 游戏
(一)-从 A 股获利
第三篇:操作系统试验报告
操作系统课外实践报告
项 目 名 称: 磁盘调度模拟系统 所 在 班 级: 软件工程一班 小 组 成 员:;刘清元,学号:120904012 指 导 教 师: 王蕾 起 止 时 间: 2014.6.1—2014.6.20
磁盘调度模拟系统实验报告
一:实验目标:
通过设计一个磁盘调度模拟系统,从而使磁盘调度算法更加形象化,容易使人理解,使磁盘调度的特点更简单明了,能使使用者加深对先来先服务算法、最短寻道时间优先算法、扫描算法以及循环扫描算法等磁盘调度算法的理解。
二:实验要求:
系统主界面可以灵活选择某种算法,算法包括:先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)、循环扫描算法(CSCAN)。
三:实现原理
设备的动态分配算法与进程调度相似,也是基于一定的分配策略的。常用的分配策略有先请求先分配、优先级高者先分配等策略。在多道程序系统中,低效率通常是由于磁盘类旋转设备使用不当造成的。操作系统中,对磁盘的访问要求来自多方面,常常需要排队。这时,对众多的访问要求按一定的次序响应,会直接影响磁盘的工作效率,进而影响系统的性能。访问磁盘的时间因子由3部分构成,它们是查找(查找磁道)时间、等待(旋转等待扇区)时间和数据传输时间,其中查找时间是决定因素。因此,磁盘调度算法先考虑优化查找策略,需要时再优化旋转等待策略。
平均寻道长度(L)为所有磁道所需移动距离之和除以总的所需访问的磁道数(N),即:
L=(M1+M2+„„+Mi+„„+MN)/N
其中Mi为所需访问的磁道号所需移动的磁道数。
启动磁盘执行输入输出操作时,要把移动臂移动到指定的柱面,再等待指定扇区的旋转到磁头位置下,然后让指定的磁头进行读写,完成信息传送。因此,执行一次输入输出所花的时间有:
寻找时间——磁头在移动臂带动下移动到指定柱面所花的时间。
延迟时间——指定扇区旋转到磁头下所需的时间。
传送时间——由磁头进程读写完成信息传送的时间。
其中传送信息所花的时间,是在硬件设计就固定的。而寻找时间和延迟时间是与信息在磁盘上的位置有关。
为了减少移动臂进行移动花费的时间,每个文件的信息不是按盘面上的磁道顺序存放满一个盘面后,再放到下一个盘面上。而是按柱面存放,同一柱面上的各磁道被放满信息后,再放到下一个柱面上。所以各磁盘的编号按柱面顺序(从0号柱面开始),每个柱面按磁道顺序,每个磁道又按扇区顺序进行排序。
四:算法实现
1.先来先服务算法(FCFS)
先来先服务(FCFS)调度:按先来后到次序服务,未作优化。最简单的移臂调度算法是“先来先服务”调度算法,这个算法实际上不考虑访问者要求访问的物理位置,而只是考虑访问者提出访问请求的先后次序。例如,如果现在读写磁头正在50号柱面上执行输出操作,而等待访问者依次要访问的柱面为130、199、32、159、15、148、61、99,那么,当50号柱面上的操作结束后,移动臂将按请求的先后次序先移到130号柱面,最后到达99号柱面。采用先来先服务算法决定等待访问者执行输入输出操作的次序时,移动臂来回地移动。先来先服务算法花费的寻找时间较长,所以执行输入输出操作的总时间也很长。
2.短寻道时间优先算法(SSTF)
最短寻找时间优先调度算法总是从等待访问者中挑选寻找时间最短的那个请求先执行的,而不管访问者到来的先后次序。现在仍利用同一个例子来讨论,现在当50号柱面的操作结束后,应该先处理61号柱面的请求,然后到达32号柱面执行操作,随后处理15号柱面请求,后继操作的次序应该是99、130、148、159、199。
采用最短寻找时间优先算法决定等待访问者执行操作的次序时,读写磁头总共移动了200多个柱面的距离,与先来先服务、算法比较,大幅度地减少了寻找时间,因而缩短了为各访问者请求服务的平均时间,也就提高了系统效率。但最短查找时间优先(SSTF)调度,FCFS会引起读写头在盘面上的大范围移动,SSTF查找距离磁头最短(也就是查找时间最短)的请求作为下一次服务的对象。SSTF查找模式有高度局部化的倾向,会推迟一些请求的服务,甚至引起无限拖延(又称饥饿)。
3.扫描算法(SCAN)
SCAN 算法又称电梯调度算法。SCAN算法是磁头前进方向上的最短查找时间优先算法,它排除了磁头在盘面局部位置上的往复移动,SCAN算法在很大程度上消除了SSTF算法的不公平性,但仍有利于对中间磁道的请求。
“电梯调度”算法是从移动臂当前位置开始沿着臂的移动方向去选择离当前移动臂最近的那个柱访问者,如果沿臂的移动方向无请求访问时,就改变臂的移动方向再选择。这好比乘电梯,如果电梯已向上运动到4层时,依次有3位乘客陈生、伍生、张生在等候乘电梯。他们的要求是:陈生在2层等待去10层;伍生在5层等待去底层;张生在8层等待15层。由于电梯目前运动方向是向上,所以电梯的形成是先把乘客张生从8层带到15层,然后电梯换成下行方向,把乘客伍生从5层带到底层,电梯最后再调换方向,把乘客陈生从2层送到10层。
我们仍用前述的同一例子来讨论采用“电梯调度”算法的情况。由于磁盘移动臂的初始方向有两个,而该算法是与移动臂方向有关,所以分成两种情况来讨论。
〈1〉.移动臂由里向外移动
开始时,在50号柱面执行操作的读写磁头的移动臂方向是由里向外,趋向32号柱面的位置,因此,当访问50号柱面的操作结束后,沿臂移动方向最近的柱面是32号柱面。所以应先为32号柱面的访问者服务,然后是为15号柱面的访问者服务。之后,由于在向外移方向已无访问等待者,故改变移动臂的方向,由外向里依次为各访问者服务。在这种情况下为等待访问者服务的次序是61、99、130、148、159、199。
〈2〉.移动臂由外向里移动
开始时,正在50号柱面执行操作的读写磁头的移动臂是由外向里(即向柱面号增大的内圈方向)趋向61号柱面的位置,因此,当访问50号柱面的操作结束后,沿臂移动方向最近的柱面是61号柱面。所以,应先为61号柱面服务,然后按移动臂由外向里移动的方向,依次为99、130、148、159、199柱面的访问者服务。当201号柱面的操作结束后,向里移动的方向已经无访问等待者,所以改变移动臂的前进方向,由里向外依次为32、15柱面的访问者服务。
“电梯调度”与“最短寻找时间优先”都是要尽量减少移动臂时所花的时间。所不同的是:“最短寻找时间优先”不考虑臂的移动方向,总是选择离当前读写磁头最近的那个柱面,这种选择可能导致移动臂来回改变移动方向;“电梯调度”是沿着臂的移动方向去选择离当前读写词头最近的哪个柱面的访问者,仅当沿移动臂的前进移动方向无访问等待者时,才改变移动臂的前进方向。由于移动臂改变方向是机械动作,速度相对较慢,所以,电梯调度算法是一种简单、使用且高效的调度算法。
但是,“电梯调度”算法在实现时,不仅要记住读写磁头的当前位置,还必须记住移动臂的当前前进方向。
4.循环扫描算法(CSCAN)
单项扫描调度算法的基本思想是,不考虑访问者等待的先后次序,总是从0号柱面开始向里道扫描,按照各自所要访问的柱面位置的次序去选择访问者。在移动臂到达最后一个柱面后,立即快速返回到0号柱面,返回时不为任何的访问者等待服务。在返回到0号柱面后,再次进行扫描。
由于该例中已假定读写的当前位置在50号柱面,所以,指示了从50号柱面继续向里扫描,依次为61、99、130、148、159、199各柱面的访问者服务,此时移动臂已经是最内的柱面,于是立即返回到0号柱面,重新扫描,依次为15、32号柱面的访问者服务。
除了“先来先服务”调度算法外,其余三种调度算法都是根据欲访问的柱面位置来继续调度的。在调度过程中可能有新的请求访问者加入。在这些新的请求访问者加入时,如果读写已经超过了它们所要访问的柱面位置,则只能在以后的调度中被选择执行。在多道程序设计系统中,在等待访问磁盘的若干访问者请求中,可能要求访问的柱面号相同,但在同一柱面上的不同磁道,或访问同一柱面中同一磁道上的不同扇区。所以,在进行移动调度时,在按照某种短法把移动臂定位到某个柱面后,应该在等待访问这个柱面的各个访问者的输入输出操作都完成之后,再改变移动臂的位置。
五:实现代码
#include printf(“第%d次访问的磁道:%dn”,i+1,a[i]); sum+=abs(s-a[i]); s=a[i];} printf(“平均寻道长度:%fn”,sum*1.0/n);} void SSTF(int b[],int n,int k)//最短寻道法 { int i,j,s,sum=0,p;int a[20];for(i=0;i s=a[0]; p=0; for(j=0;j<=i;j++) if(abs(a[j]-k) { s=a[j]; p=j; } a[p]=a[i]; printf(“第%d次访问的磁道:%dn”,n-i,s); sum+=abs(s-k); k=s;} printf(“平均寻道长度:%fn”,sum*1.0/n);} void SCAN1(int b[],int n,int k)//扫描算法 { int i,j,s,sum=0,p,biaoji;int a[20];for(i=0;i biaoji=0; for(j=0;j<=i;j++) if(a[j]-k<0) { biaoji=1; p=j; break; } if(biaoji==1) { s=a[p]; for(j=0;j<=i;j++) if(a[j] { s=a[j]; p=j; } a[p]=a[i]; printf(“第%d次访问的磁道:%dn”,n-i,s); sum+=k-s; k=s; } else { s=a[0]; for(j=0;j<=i;j++) if(a[j]-k<=s-k) { s=a[j]; p=j; } a[p]=a[i]; printf(“第%d次访问的磁道:%dn”,n-i,s); sum+=abs(k-s); k=s; } } printf(“平均寻道长度:%fn”,sum*1.0/n);} void SCAN2(int b[],int n,int k)//循环算法 { int i,j,s,sum=0,p,biaoji;int a[20];for(i=0;i biaoji=0; for(j=0;j<=i;j++) if(a[j]-k>0) { biaoji=1; p=j; break; } if(biaoji==1) { s=a[p]; for(j=0;j<=i;j++) if(a[j]>k&&a[j]-k { s=a[j]; p=j; } a[p]=a[i]; printf(“第%d次访问的磁道:%dn”,n-i,s); sum+=s-k; k=s; } else { s=a[0]; for(j=0;j<=i;j++) if(k-a[j]<=k-s) { s=a[j]; p=j; } a[p]=a[i]; printf(“第%d次访问的磁道:%dn”,n-i,s); sum+=abs(k-s); k=s; } } printf(“平均寻道长度:%fn”,sum*1.0/n);} void C_SCAN(int b[],int n,int k)//循环算法 { int i,j,s,sum=0,p,biaoji;int a[20];for(i=0;i biaoji=0; for(j=0;j<=i;j++) if(a[j]-k>0) { biaoji=1; p=j; break; } if(biaoji==1) } { s=a[p];for(j=0;j<=i;j++)if(a[j]>k&&a[j]-k for(;i>=0;i--){ s=a[0];for(j=0;j<=i;j++)if(a[j]-k { s=a[j]; p=j; } a[p]=a[i];printf(“第%d次访问的磁道:%dn”,n-i,s);sum+=s-k;k=s;} printf(“平均寻道长度:%fn”,sum*1.0/n); void main(){ int a[20];int i,n,k,k1,init;printf(“请输入需要访问的磁道总数:”);scanf(“%d”,&n);for(i=0;i printf(“需要访问的磁道%d:”,i+1); scanf(“%d”,&a[i]);} printf(“请输入指针所在磁道:”);scanf(“%d”,&init);k=1;while(k){ printf(“**********************************n”); printf(“$$$$$$$$$$刘清元——磁盘调度$$$$$$$$$n”); printf(“** 1.先来先服务(FCFS)**n”); printf(“** 2.最短寻道时间优先(SSTF)**n”); printf(“** 3.扫描算法(SCAN)**n”); printf(“** 4.循环算法(C-SCAN)**n”); printf(“** 0.退出 **n”); printf(“**********************************n”); printf(“&&&&&&&&&&&&谢谢使用&&&&&&&&&&&&&&n”); printf(“请在下面输入您的选择:”); scanf(“%d”,&k); switch(k) { case 1:FCFS(a,n,init);break; case 2:SSTF(a,n,init);break; case 3:k1=1; while(k1) { printf(“*********************************n”); printf(“ #刘清元——磁盘调度 ###n”); printf(“**** 1.移动臂由里向外 **n”); printf(“**** 2.移动臂由外向里 **n”); printf(“**** 0.返回上一层 **n”); printf(“*********************************n”); printf(“ ######谢谢使用 #####n”); printf(“请在下面输入您的选择:”); } } } scanf(“%d”,&k1);switch(k1){ case 1:SCAN1(a,n,init);break;case 2:SCAN2(a,n,init);break;} } break;case 4:C_SCAN(a,n,init);break;六:运行结果 1.输入数据,选择调度方法 2.先来先服务 3最短寻道时间优先 4循环算法 5.循环算法 (1)磁头由里向外移动 (2)磁头由外向里移动 七:心得体会 通过此次课程设计,我明白了实践的意义,要把书本上的知识转换为现实中的成果,创新与不懈的努力也是成功的重要因素。如果没有一定的耐心,这次的课程设计也不能成功。 “磁盘调度”是我本学期操作系统课程设计的题目。在设计此程序的过程中,我遇到过许多问题,也学到了很多东西。 本程序的设计实现主要是用C++语言实现,通过对程序算法的设计优化、输出显示的格式设计、输入过程中的异常处理等一些设计过程中的问题的考虑解决,在C++学习上也有了很大的进步。 在程序设计中先后参考了很多网络资料,也参考了一些别人写的的程序,综合这些算法思想和自己的思路对程序做了很好的设计方式,对一些算法的优越性等也作了一些考虑。此外考虑最多的就是异常错误处理的设计。在设置程序的显示优化时,发现暂停函数在不同的情况下执行顺序不同,如此等等 许昌学院 《操作系统》实验报告书 学号:姓名:闫金科班级:成绩: 5006140057 14物联网工程 2016年02月实验一 Linux的安装与配置 一、实验目的 1.熟悉Linux系统的基本概念,比如Linux发行版、宏内核、微内核等。2.掌握Linux系统的安装和配置过程,初步掌握Linux系统的启动和退出方法。3.熟悉Linux系统的文件系统结构,了解Linux常用文件夹的作用。 二、实验内容 1.从网络上下载VMware软件和两个不同Linux发行版镜像文件。2.安装VMware虚拟机软件。 3.在VMware中利用第一个镜像文件完成第一个Linux的安装,期间完成网络信息、用户信息、文件系统和硬盘分区等配置。 4.在VMware中利用第二个镜像文件完成第二个Linux的安装,并通过LILO或者GRUB解决两个操作系统选择启动的问题。 5.启动Linux系统,打开文件浏览器查看Linux系统的文件结构,并列举出Linux常用目录的作用。 三、实验过程及结果 1、启动VMware,点击新建Linux虚拟机,如图所示: 2、点击下一步,选择经典型,点击下一步在选择客户机页面选择Linux,版本选择Red Hat Enterprise Linux 5,如图所示: 3、点击下一步创建虚拟机名称以及所要安装的位置,如图所示: 4、点击下一步,磁盘容量填一个合适大小,此处选择默认值大小10GB,如图所示: 5、点击完成,点击编辑虚拟机设置,选择硬件选项中的CD-ROM(IDE...)选项,在右侧连接中选择“使用ISO镜像(I)”选项,点击“浏览”,找到Linux的镜像文件,如图所示: 6点击确定按钮后,点击启动虚拟机按钮,来到Linux的安装界面,如图所示: 7、到此页面之后,等待自动检测安装,如图所示: 8、等到出现如图所示页面后点击“skip”按钮,跳过检测,直接进入安装设置界面,如图所示: 9、安装设计界面如图所示: 10、点击Next按钮进入设置语言界面,设置语言为“简体中文”,如图所示: 11、点击Nest按钮进入系统键盘设置按钮,设置系统键盘为“美国英语式”,如图所示: 12、点击下一步按钮,弹出“安装号码”对话框,选择跳过输入安装号码,如图所示: 13、按照提示,一直点击下一步按钮,如图所示: 14、到设置最后一步,点击下一步按钮进入开始安装Red Hat Enterprise Linux Sever界面,如图所示: 15、安装完成后,进入欢迎界面,按照提示点击前进按钮知道进入Linux桌面,如图所示: 16、安装成功的Linux系统桌面如图所示,桌面包含五个图标,分别为:计算机、jk’s Home、回收站、RHEL/5.3 i386DVD。 四、实验总结 通过安装虚拟机等操作让我认识到Linux这系统一些基本特点,本次试验学会了安装虚拟机并且使用虚拟机安装操作系统,掌握了红帽Linux系统的安装和配置过程,以及对镜像ISO文件的使用,有别于我们机器上使用的系统,通过虚拟机这个软件还可以在已有系统的基础上使用其他操作系统。安装过程中一定要注意选择版本的时候要选择Red Hat Enterprise Linux 5版本,否则安装不能成功。自己动手成功的安装了Linux系统,自己对Linux的学习产生更大的兴趣。 实验二 Linux操作系统的运行模式 一、实验目的 1.熟悉Linux系统终端工作环境的使用,了解Linux命令的格式,使用学会利用常用的Linux命令来完成系统的管理和维护。 2.了解X-Windows的特点,熟悉Linux图形用户接口的使用,掌握GNOME桌面环境的基本操作。 3.了解和掌握在Linux环境下安装软件包的方法,如QQ for Linux等用软件的安装方法。 二、实验内容 1.启动Linux系统打开虚拟终端界面,使用Linux的在线帮助指令man或help获得ls、uname、date、cal、mkdir、cp等Linux命令的帮助手册,了解这些命令的具体使用方法。同时,也可以通过执行“命令名 –help”来显示该命令的帮助信息,如“ls –help”,试用这些命令。 2.通过uname命令的执行,查看并给出相关系统信息:操作系统的名称、系统域名、系统CPU名称等。 3.在主目录下创建一个名为myetc的子目录,将/etc目录下与网络相关的文件和子目录拷贝到该目录,并将这些文件的执行权限设置为可执行。 4.在主目录/home下创建目录program、music 和temp,然后在program下建立目录java和C,列出完成该过程的所有命令。 5.在图形界面环境中,查看GNOME桌面的面板和桌面,设置GNOME,包括屏幕保护程序、更改背景和指定关联程序等。6.实现对光盘的加载和访问,然后卸载。 三、实验过程及结果 1、打开终端,输入 【ls –help】来查看【ls】指令的使用方法,同理查看uname、date、cal、mkdir、cp的使用方法。 2、在终端中输入【uname –a】显示操作系统名系统cpu名和系统域名 3、重启系统,用【root】用户名进入系统,以获得权限。在终端中输入【mkdir myetc】,在主目录下创建【myrtc】的目录,【ls】查看是否创建。输入【cd..】返回至【/】文件,输入【cp –r etc root/myetc】讲etc中内容复制到myetc中,进入myetc文件【ls】查看。输入 【chmod u+x etc】赋予文件可执行的权限,输入【ll】查看。 4、在home下,输入【mkdir {program,music,temp}】,可在home下创立这三个目录,输入【ls】查看。在program下输入【mkdir{java,C}】,可创立java和C两个目录,【ls】查看。 5、在桌面上方选择【系统】-【首选项】,即可设置屏幕保护程序和更改背景和指定关联程序 5、在桌面上可见看到有CD光盘,双击浏览,右键【弹出】即卸载。 四、实验总结和体会 Linux的指令系统是学习Linux操作系统很重要的一部分,指令系统相当于在Windows操作系统下的doc,可以省去图形化界面。通过这次的实验让我了解了Linux的强大功能,了解到Linux有许多方便快捷的设置基本配置的方法,这使我更喜欢上Linux的使用。在使用指令的过程中,有时候对文件的操作需要一定的权限,这时需要在登陆时用户名使用【root】,而不是我们在安装时使用的用户名,这样就获得了管理员权限,可以对一些系统文件进行操作。 实验三 Linux应用软件与系统管理 一、实验目的 1.了解OpenOffice.Org集成办公软件,掌握利用OpenOffice.Org的套件来完成文档和图片的处理。 2.了解Linux网络管理的知识,熟悉Linux网络配置的方法,掌握在Linux环境下配置Web服务器和ftp服务的方法。 二、实验内容 1.配置Linux系统的网络环境,安装FTP和Web服务器,并配置相关的属性,利用FTP实现WINDOWS和Linux之间的数据交换。 2.利用FTP程序上传自己的照片到FTP服务器,利用OpenOffice的文字处理工具OpenOffice Writer制作一份表格形式的个人简历。个人简历中至少包含学号、姓名、性别、专业、照片和学习经历等内容,并保存为网页格式(html格式)。3.将个人简历网页设置为WEB服务器的首页,然后在客户端利用浏览器访问WEB服务器,查看效果。 4.通过读取proc文件系统,获取系统各种信息(如主机名、系统启动时间、运行时间、版本号、所有进程信息、CPU使用率等),并以比较容易的方式显示。 三、实验过程及结果 1.配置网络环境:在(服务.cmd).里面进行以下操作:在服务里选择3按回车 完成后,可在本地连接看到VMware已连接上网络 在虚拟机设置中设置以太网网络连接方式为 网关地址填虚拟机的网管,IP地址设为虚拟机的一个子网: 四、总结: 在linux系统下,make是我们经常用到的编译命令,所以关于make代码和他的操作指令一定要记清楚。所以,熟练掌握了make和makefile工具之后,源码安装软件就变的像windows下安装软件一样简单。 实验四 进程控制与管理 一、实验目的 1.掌握GCC编译器的用法,学会利用GCC编辑器来编辑C语言程序,学会利用GDB调试器来调试C语言程序。 2.理解进程和程序的区别和联系,3.掌握在Linux环境下观察进程运行情况和CPU工作情况的命令。4.了解fork()系统调用,掌握利用fork()创建进程的方法。 5.了解Linux系统其他与进程相关的系统调用,如exec、wait和exit等。6.了解Linux常用的进程通信机制。 二、实验内容 1.利用Linux的进程管理命令ps、top来监视和跟踪进程,体会进程和程序的关系。2.利用Linux的文字编辑器编写文件复制的C语言程序,并用gcc编译该程序,然后运行该程序。 3.编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符'b'和字符'c'。试观察记录屏幕上的显示结果,并分析原因。 4.修改上述程序,每一个进程循环显示一句话。子进程显示'daughter „'及'son „„',父进程显示 'parent „„',观察结果,分析原因。5.用fork()创建一个进程,再调用exec()用新的程序替换该子进程的内容。 三、实验过程及结果 1、利用Linux的进程管理命令ps、top来监视和跟踪进程,体会进程和程序的关系。<1>从用户身份切换到ROOT身份 <2>输入命令 ps 查看进程 <2>输入命令 top 跟踪进程 2、利用Linux的文字编辑器编写一个计算机100个自然数和的C语言程序,并用gcc编译该程序,然后运行该程序。 <1>创建一个.C文件 并进入进行编辑 <2>用GCC 进行编译,再查看文件,发现产生执行文件 a.out <3>执行这个可执行文件得到结果5050 1、编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符'b'和字符'c'。试观察记录屏幕上的显示结果,并分析原因。 <1>穿件一个.C文件 并进行编写程序代码 <2>反复执行2次该程序 <3>可以看出两次执行的结果 a b c 出现的顺序不同,原因是,3个进程的输出次序是随机的,并不会按规定的顺序出现,所以会出现上述结果。 4、修改上述程序,每一个进程循环显示一句话。子进程显示'daughter „'及'son „„',父进程显示 'parent „„',观察结果,分析原因。<1>重新修改代码 <3>执行这段程序 <4>原分析: 因和之前一样,可以看出执行的结果 3个单词出现的顺序不同,原因是,3个进程的输出次序是随机的,并不会按规定的顺序出现,所以会出现上述结果。 5、用fork()创建一个进程,再调用exec()用新的程序替换该子进程的内容。<1> 编写代码 <2> 执行的结果 结果表明 execl 替代了son的内容 四、实验总结和体会 这个实验考察的是进程之间存在很多可能性以及对编辑器的使用。本次实验学习了在linux环境下用gcc编译器运行c语言程序,在linux环境下编写程序用到了vi编辑器,知道了该编辑器也需要各种命令来操作。编写C语言程序时用到了fork()函数,再调用execl()用新的程序替换该子进程的内容。 实验五 进程调度模拟程序的设计与实现 一、实验目的 1.了解进程调度的概念,掌握常用进程调度算法的原理。2.掌握Linux程序设计编辑、编译和调试的技巧。 二、实验内容 1.编写程序实现进程调度调度算法先来先服务、优先级高优先和时间片轮转调度算法。(编程语言不限) 2.输入数据,输出运行结果。 三、实验过程及结果 1先来先服务 #i nclude struct { int id; float ArriveTime;float RequestTime;float StartTime;float EndTime;float RunTime;float DQRunTime;int Status;}arrayTask[4];GetTask(){ int i;float a; for(i=0;i<4;i++){arrayTask[i].id=i+1;printf(“input the number”); printf(“input the the ArriveTime of arrayTask[%d]:”,i);scanf(“%f”,&a); arrayTask[i].ArriveTime=a; printf(“input the RequestTime of arrayTask[%d]:”,i);scanf(“%f”,&a); arrayTask[i].RequestTime=a;arrayTask[i].StartTime=0;arrayTask[i].EndTime=0;arrayTask[i].RunTime=0;arrayTask[i].Status=0; } } int fcfs() { int i,j,w=0; for(i=0;i<4;i++) { if(arrayTask[i].Status==0) { t=arrayTask[i].ArriveTime; w=1; } if(w==1) break; } for(i=0;i<4;i++) { if(arrayTask[i].ArriveTime t=arrayTask[i].ArriveTime; } for(i=0;i<4;i++) { if(arrayTask[i].ArriveTime==t) return i; } } int sjf(){ int i,x=0,a=0,b=0;float g; for(i=0;i<4;i++){ if(arrayTask[i].Status==1){g=arrayTask[i].EndTime;x=1;} } if(x==0){ t=arrayTask[0].ArriveTime; for(i=0;i<4;i++){ if(arrayTask[i].ArriveTime t=arrayTask[i].ArriveTime;a=i;} } return a;} else { for(i=0;i<4;i++){ if(arrayTask[i].EndTime>g)g=arrayTask[i].EndTime;} for(i=0;i<4;i++){ if(arrayTask[i].Status==0&& arrayTask[i].ArriveTime<=g){ t=arrayTask[i].RequestTime;a=i;b=1;} /*判断有没有进程在前个进程完成前到达*/ } if(b!=0)/*有进程到达则按SJF*/ { for(i=0;i<4;i++){ if(arrayTask[i].Status==0&&arrayTask[i].ArriveTime<=g&&arrayTask[i].RequestTime return a;} else{ /*否则按FCFS*/ for(i=0;i<4;i++) {if(arrayTask[i].Status==0)t=arrayTask[i].ArriveTime;} for(i=0;i<4;i++){ if(arrayTask[i].Status==0&&arrayTask[i].ArriveTime return a;} } } new(int s)/*定义执行进程后相关数据的修改*/ { int i,g=0;for(i=0;i<4;i++){ if(arrayTask[i].Status==0)continue;else { g=1;break;} } if(g==0)/*当处理的是第一个未执行的进程时执行*/ { arrayTask[s].StartTime=arrayTask[s].ArriveTime; arrayTask[s].EndTime=arrayTask[s].RequestTime+arrayTask[s].ArriveTime;arrayTask[s].RunTime=arrayTask[s].RequestTime;arrayTask[s].Status=1;g=2;} if(g==1)/*当处理的不是第一个未执行的进程时执行*/ { arrayTask[s].Status=1;for(i=0;i<4;i++){ if(arrayTask[i].Status==1)d=arrayTask[i].EndTime;} for(i=0;i<4;i++)/*查找最后执行的进程的完成时间*/ { if(arrayTask[i].EndTime>d&&arrayTask[i].Status==1)d=arrayTask[i].EndTime;} if(arrayTask[s].ArriveTime arrayTask[s].StartTime=arrayTask[s].ArriveTime; arrayTask[s].EndTime=arrayTask[s].StartTime+arrayTask[s].RequestTime;arrayTask[s].RunTime=arrayTask[s].EndTime-arrayTask[s].ArriveTime;} arrayTask[s].DQRunTime=arrayTask[s].RunTime/arrayTask[s].RequestTime;} Printresult(int j)/*定义打印函数*/ { printf(“%dt”,arrayTask[j].id); printf(“%5.2ft”,arrayTask[j].ArriveTime);printf(“%5.2ft”,arrayTask[j].RequestTime);printf(“%5.2ft”,arrayTask[j].StartTime);printf(“%5.2ft”,arrayTask[j].EndTime);printf(“%5.2ft”,arrayTask[j].RunTime);printf(“%5.2fn”,arrayTask[j].DQRunTime);} main(){ int i,b,k,a,c=0;int d[4];clrscr(); printf(“t F.FCFS n”);printf(“t S.SFJ n”);printf(“t Q.EXIT n”);for(i=0;;i++){ if(c)break; printf(“please input the number a:n”);scanf(“%d”,&a);switch(a){ case Q: c=1;break; case F:printf(“please input the different-ArriveTime of arrayTasksn”);GetTask(); printf(“*****************************the result of fcfsn”);printf(“NumbertArrivetServertStarttFinishtTurnovetTake power turnover timen”); for(b=0;b<4;b++)/*调用两个函数改变结构体数的值*/ { k=fcfs();d[b]=k;new(k);} for(b=0;b<4;b++) Printresult(d[b]);/*调用打印函数打出结果*/ continue; case S: printf(“please input the different-RequestTime of array Tasksn”);GetTask(); printf(“******************************the result of sjfn”);printf(“NumbertArrivetRequesttStarttEndtRuntDQRun timen”);for(b=0;b<4;b++){ k=sjf();d[b]=k;new(k);} for(b=0;b<4;b++)Printresult(d[b]);continue; default:printf(“the number Error.please input another number!n”);} } } 四、实验总结和体会 通过做本实验,让我对进程或作业先来先服务、高优先权、按时间片轮转调度算法以及进程调度的概念和算法,有了更深入的认识!理解进程的状态及变化,动态显示每个进程的当前状态及进程的调度情况。进程调度是处理机管理的核心内容。优先级高优先是根据作业的优先级,总是选择优先级最高者进入队列。轮转调度算法是调度程序每次把CPU分配给就绪队列首进程/线程使用规定的时间间隔,就绪队列中都路保留巡行一个时间片。 操作系统心得体会 1925319 周浩 参考文献:Eric S.Raymond。《UNIX编程艺术》电子工业出版社 712102116 学习C语言是我第一次接触编程,也是如此近距离的接触计算机内部运行的原理,可能是在学习C的过程中没有遇到困难吧,我对编程产生了浓厚的兴趣,在这之后又学习了C++,学习C++主要是使用C++之父(B S 单词忘了)写的那本《C++程序设计语言》,700多页的书中有一句话我记得特别清楚,他说语言就是一种思维方式,C是过程的思维,C++是面向对象的思维,读另一位高手(名字首字母是 S与 B 也忘了)写的《C++编程技术》一书时也有一句话让我印象深刻——去编程就是去理解,虽然我只学了C,C++(还有VC MFC 自我感觉他们不是,是一种C++的变体)但我感觉语言只需要记得地址,然后去骗骗编译器,最重要的是对需要解决的问题的数学化,剩下的就是多实际操作,过程的积累是很重要的,因为在操作的过程中可以加深对很多方面的理解,学编译器,那是大二下花了大概三个星期把清华出版的编译原理研究了下,是学习计算机以来觉得障碍最大的一门专业课,武功只算练了一半,编译的后期没怎么学(中间代码生成以后的东西),不过最近把PL/0放在机器上实际运行了后,我找到了一种感觉要理解语法分析词法分析要从计算机的角度去理解,顺序,分支,循环,我还没有认真的去思考之间的关系,最近在忙着另外的事,这种感觉已经帮助解决了很多问题,剩下的就是多做些事去实际操作,加深理解,如果问题简化到只是时间问题了就不是问题了,我喜欢这样对自己说。 前面讲了很多与操作系统无关的体会好像有凑字的嫌疑,不要误会我在强调一种感觉,说不出来,但却很有用,这是一种理解,唯有理解才能分出高下,我用4,5个晚上我操作系统的书浏览到了系统安全,操作系统是一种程序,有着更高的特权级别,功能是提供服务与管理一些硬件的资源,存储器管理,处理机管理,文件管理,设备管理,我觉得这些问题大多数都可归结为数据结构,用数据结构的角度去解决应当不难,但是在用户程序与系统本身之间的切换方面总是感觉有些问题想不清楚,找不到我一直强调的那种会让问题变得简单的高深理解,我还需要时间去理解,我想听听老师对这方面的认识,说些高度概括的词让我思考 如何去理解这件事 UNIX操作系统的历史已经成为了一种传奇,但是我对它的历史不感兴趣,我对那些天才们的思维很感兴趣,是计算机领域宝贵财产,有时间我会去看,还有对无数人日日夜夜不辞辛苦的付出很是钦佩,我会向他们学习,对还有一件事印象深刻 UNIX在初期主要是用于DEC的机器,尽管没有正规的技术支持,但仗着灵活、快捷、容易修改和扩充以及资源丰富(包括支持的硬件设备更丰富,DEC的操作系统只支持自己的系列产品)的强大优势,很快就严重影响到DEC自身的软件推广。碰上这样的飞来横祸,DEC当然是非常恼火,他们对使用UNIX而带来的硬件问题拒不提供支持,但尽管如此也不能阻挡大家对UNX的热情。而VAX/VMS乃是DEC寄予厚望的战略级产品,技术那是相当的优秀,居然甫一推出,就又遭到UNIX的追杀,也难怪老板Olsen会口出恶言,讥讽UNIX是“蛇油”(意为“骗人的万用药”)了。DEC苦撑了几年之后,终于不支,改变态度,于1982年推出了自己的UNIX变种——DEC ULTRIX,但在推广策略上,仍是以自家的VMS为主导。DEC公司的保守作风终于酿成大祸,在别的公司推出专门针对UNIX设计的机器后,DEC的江湖地位每旷愈下,在PC问世后,更是一蹶不振,后来连年亏损,1992年把Olsen赶下台也没解决问题,终于在1998年,这个曾经的传奇——一度排名世界第二的计算机公司被后起之秀COMPAQ并购,不过96亿美元的天价也算是对它价值的承认。 DEC有他自己的想法不可否人,不过坚持有时会成为一种负担,如果用一种变通的方法 借UNIX的力量的话也许历史又会是另一种结果,这个问题我也得思考,发现自己就像是多线程处理器,有很多的事,但每件事都还没return 希望早日找到感觉,剩下的就是经验的积累,时间的付出,那就是我说的那句话了如果问题简化到只是时间问题了就不是问题了,简单第四篇:操作系统实验报告
第五篇:操作系统心得体会