操作系统设计与实现第3版笔记与minix3心得(3)-操作系统发展历史(1)
1、第一代計算機-真空管和插接板
(1)使用真空管
A. 真空管(英語:Vacuum Tube)是一種在電路中控制電子流動的電子元件。參與工作的電極被封裝在一個真空的容器內(管壁大多為玻璃),因而得名
但是可以在音響擴大機、微波爐及人造衛星的高頻發射機看見真空管的身影;許多音響特別使用真空管是因為其特殊音質,在音響界、老舊的真空管常與最新的數位IC共存。另外,像是電視機與電腦陰極射線管顯示器內的陰極射線管以及X光機的X射線管等則是屬于特殊的真空管。
對于大功率放大(如百萬瓦電臺)及衛星(微波大功率)而言,大功率真空管及行波管仍是唯一的選擇。
B.真空管具有發射電子的陰極(K)和工作時通常加上高壓的陽極或稱屏極(P)。燈絲(F)是一種極細的金屬絲,而電流通過其中,使金屬絲產生光和熱,而去激發陰極來放射電子。柵極(G)它一定置于陰極與屏極之間,柵極加電壓是抑制電子通過柵極的量,所以能夠在陰極和陽極之間對電流起到控制作用。
電子在于其放射過程中,因會與空氣中之組成分子相撞而產生阻力,因此電子經由如空氣之類的介質來移動的話,將會比在真空狀態來的困難,所以若想輕松的達成電子放射之移動過程,需將產生電子放射及電子收集之各項元件,也就是燈絲、陰極、柵極、屏極等封裝于玻璃管內,且將其內部成為真空狀態,才能使電子之放射動作達成最高效率。
(2)1945-1955
(3)機器語言和硬連接線完成計算
(4)數以萬計的真空管
(5)完成數值計算
(6)后期改為了穿孔卡片,不使用插接板。
孔卡(Punched card)又稱穿孔卡、霍爾瑞斯式卡或IBM卡,是一塊紙板,在預先知道的位置利用打洞與不打洞來表示數字消息
1801年,法國人約瑟夫·瑪麗·雅卡爾發明了打孔卡用在控制織布機織出的圖案。
1880年代,美國人口調查局職員赫爾曼·何樂禮發明了用于人口普查數據的穿孔卡片及機器,并用于1890年美國人口普查,僅6周就完成了統計。而此前1880年美國人口普查的數據全靠手工處理,歷時7年才得出最終結果。何樂禮創建的公司,發展為今日的IBM。
1928年,IBM發明的80列、矩形孔卡片,成為事實上的標準。其工作原理如下:編號為0至9,總計10行;以及一塊區域,用于第11、第12行(注意,沒有編號為第10的行)。
每列的穿孔組合用于表示單個字符:
數字通過在行0至行9直接打1個孔來表示。
空格符的表示,不需要打孔。
字母用2個孔表示:一個孔在第11、第12、第0行;另一個孔在第1至第9行。字母表被依次分為由9個字母組成的區(zones),每個區的字母依次在第1至第9行打孔。每個區分別在第11、第12、第0行打孔。第3區第1個字符保留未使用。
一些特殊字符使用了額外的單孔表示,或者雙孔表示。
大多數特殊字符(如標點符號等)用3孔表示:第8行被穿孔;第0、第11、第12行有1個穿孔;第1到第7行有1個穿孔。第9行保留未使用。
總計表示了67個字符。
進入到數字計算機時代,上述穿孔卡片字符表示方式發展為6比特的字符編碼:用4比特表示第0行至第9行的哪一行被穿孔;用2比特表示第11、第12行的哪一行被穿孔。這可以表示所有的單孔或者雙孔的字符表示,這被稱作“二進制編碼的十進制交換碼”(Binary Coded Decimal Information Code,BCDIC, BCD碼)。
1964年,IBM在BCDIC上又增加2個比特,形成了8比特的“擴充的二進制編碼的十進制交換碼”(Extended Binary Coded Decimal Information Code,EBCDIC),首先用于IBM System/360計算機。EBCDIC向后兼容BCDIC,擴充了小寫字母,以及從ASCII碼借鑒來的一些控制字符(穿孔卡片實際上不需要,也不表示控制字符)。因為EBCDIC脫胎于穿孔卡,所以其字母表是以9個為一組,彼此不連續編碼表示的,這給程序員帶來了很大不便。例如,字母“I”編碼為0xC9;而字母“J”編碼為0xD1,二者中間有8個碼位間斷。EBCDIC一直用到目前的IBM System/390計算機系統。
2、第二代計算機-晶體管和批處理系統
(1)使用晶體管
A.晶體管主要分為兩大類:雙極性晶體管(BJT)和場效應晶體管(FET)
B.晶體管一般都有三個極,其中一極兼任輸入及輸出端子,(B)基極不能做輸出,?集電極不能做輸入之外,其余兩個極組成輸入及輸出對。
C.晶體管之所以有如此多用途在于其信號放大能力,當微細信號加于其中的一對極時便能控制在另一對極較大的信號,這特性叫增益。
當晶體管于線性工作時,輸出的信號與輸入的訊息成比例,這時晶體管就成了一放大器。這是在模擬電路中的常用方式,例如電子放大器、音頻放大器、射頻放大器、穩壓電路;
D.當晶體管的輸出不是完全關閉就是完全導通時,這時晶體管便是被用作開關使用。
這種方式主要用于數字電路,例如數字電路包括邏輯門、隨機存取內存(RAM)和微處理器。另外在開關電源中,晶體管也是以這種方式工作。
(2)晶體管體積仍較大,計算機(主機)安裝在空調房里,由訓練有素的職業操作員操作。
(3)運行一個作業,程序員寫在紙上(匯編或fortran),穿孔機制成卡片,交給操作員。計算機完成當前作業后,操作員從打印機上撕出結果送到輸出室,程序員在輸出室拿到輸出結果。
注意:fortran在第二代計算機上就開始應用了
Fortran,音譯為福傳,源自于“公式翻譯”(英語:Formula Translation)的縮寫,是一種編程語言。1957年由IBM開發出,是世界上第一個被正式采用并流傳至今的高級編程語言。
Fortran語言是為了滿足數值計算的需求而發展出來的。1953年12月,IBM公司工程師約翰·巴科斯(J. Backus)因深深體會編寫程序很困難,而寫了一份備忘錄給董事長斯伯特·赫德(Cuthbert Hurd),建議為IBM704系統設計全新的電腦語言以提升開發效率。當時IBM公司的顧問馮·諾伊曼強烈反對,因為他認為不切實際而且根本不必要。但赫德批準了這項計劃。1957年,IBM公司開發出第一套FORTRAN語言,在IBM704電腦上運作。
歷史上第一支FORTRAN編程在馬里蘭州的西屋貝地斯核電廠試驗。
1957年4月20日星期五的下午,一位IBM軟件工程師決定在電廠內編譯第一支FORTRAN編程,當代碼輸入后,經過編譯,打印機列出一行消息:“源程序錯誤……右側括號后面沒有逗號”,這讓現場人員都感到訝異,修正這個錯誤后,打印機輸出了正確結果。而西屋電氣公司因此意外地成為FORTRAN的第一個商業用戶。1958年推出FORTRAN Ⅱ,幾年后又推出FORTRAN Ⅲ,1962年推出FORTRAN Ⅳ后,開始廣泛被使用。
1966年,美國標準化協會制定了Fortran(x3.9-1966,也就是Fortran 66)和Fortran(x3.10-1966)標準。這時Fortran語言還不是結構化的程序設計語言。
1976年,美國標準化協會重新對Fortran(x3.9-1966)進行了評估,公布了新的Fortran標準,也就是Fortran 77。Fortran 77是具有結構化特性的編程語言。Fortran77在短時間內獲取了巨大的成功,廣泛地應用于科學和工程計算,幾乎統治了數值計算領域。
1980年,Fortran 77被ISO接納為國際標準。
1991年發布的Fortran 90大幅改進了舊版Fortran的型式,加入了面向對象的觀念與提供指針,并同時加強數組的功能。
Fortran后來又陸續推出Fortran 95、Fortran 2003、Fortran 2008等更新版本。
Fortran語言的最大特性是接近數學公式的自然描述,在計算機里具有很高的執行效率。
易學,語法嚴謹。
可以直接對矩陣和復數進行運算,這點Matlab有繼承。
自誕生以來廣泛地應用于數值計算領域,積累了大量高效而可靠的源程序。
很多專用的大型數值運算計算機針對Fortran做了優化。
廣泛地應用于并行計算和高性能計算領域。
Fortran 90,Fortran 95,Fortran 2003的相繼推出使Fortran語言具備了現代高級編程語言的一些特性。
其矩陣元素在記憶空間存儲順序是采用列優先(Column major),Matlab也承襲這點,目前最多使用的C語言則采用行優先(Row major)。
下面是一個在標準輸出設備上輸出Hello World的簡單程序,這種程序通常作為開始學習編程語言時的第一個程序:
如果使用fortran編譯器,還從文檔柜中取出卡片,讀入計算機,操作員在機房里的事務就是讀卡片,運行作業,取結果等。
(4)批處理系統
原理如下:
(5)用于科學工程計算,比如偏微分方程
(6)1955-1965年
總結
以上是生活随笔為你收集整理的操作系统设计与实现第3版笔记与minix3心得(3)-操作系统发展历史(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot 使用 minio
- 下一篇: SpringBoot 自动配置实现流程