一、操作系統
1.操作系統的作用
(1) 管理軟硬件資源
(2) 管理調度計算機內部任務
(3) 提供給用戶和其他計算機服務接口
2.操作系統的歷史
(1) 手工處理
效率低,每個任務之間都有等待的時間
(2) 批處理
(3) 聯機批處理系統
CPU還是要等待,忙等
(4) 分時處理系統 50-60年代
一個一個的執行(串行)
採用了分時之後,對用戶來講,任務好像是併發的
缺點:
每個任務花費時間更長
不能實時處理
(5) 通用處理系統
主流的unix系統
ibm(第一塊鍵盤出生):AIX
惠普:hp-unix
sun:Solaris
Berkeley Software Distribution(BSD)
主流的Linux發行版
debian --> ubuntu, 優麒麟
slackware --> suse, opsuse
redhat --> enterprise, centOS, oracleLinux
Fedroa
windows
蘋果與微軟的區別:蘋果綁定硬件
Android
2003年 創辦,基於Linux內核的開放移動操作系統。
2005年,Android公司被google收購。
2007年11月5日,谷歌正式發佈Android操作系統。
Louts
做辦公系統
Azure Amazon 阿里雲
Google OS - 雲操作系統
發展過程引用:操作系統簡史
二、二進制
2048 1024 512 256 128 64 32 16 8 4 2 1
1 1 1 1 1 1 1 1 1 1 1 1
三、編碼
001 = 1 -> a
010 = 2 -> b
011 = 3 -> c
001 010 011 = abc
- ASSII—每個字符統一需要8個bit來存儲
四、計算機容量
1 位 = 1 bit
1 字節(bytes) = 8 bit
1024 bytes = 1 kbytes = 1 KB
1024 KB = 1 MB = 1 Million Bytes = 1 兆
1024 MB = 1 GB = 1 GigaBytes
1024 GB = 1 TB
五、編程語言介紹
-
- 什麼是編程語言
- 定義好一套與計算機交互的語法規則,這套規則就稱爲一門編程語言
學編程 = 學語法規則
-
- 編程能幹什麼
- print hello world
eject cd
一堆指令的組合 == 軟件
- 開發軟件
-
有很多套與計算機交互的語法規則,就像世界上有很多種語言
-
- 600多種編程語言
- C:各個操作系統的開發語言 1973年
C++:C語言的加強版 1983年
java:1995年 由sun公司開發 idk 可以同時與windows和Linux交互,跨平臺
php:1994年,純web開發語言
python: 1989年跟linux同年誕生,1991年正式版本
C#: c sharpe C#是微軟公司發佈的一種面向對象的、運行於.NETFramework和.NETCore(完全開源,跨平臺)之上的高級程序設計語言。並定於在微軟職業開發者論壇(PDC)上登臺亮相。
Ruby:Ruby,一種簡單快捷的面向對象(面向對象程序設計)腳本語言,在20世紀90年代由日本人松本行弘(Yukihiro Matsumoto)開發,遵守GPL協議和Ruby License。
perl:Unix平臺上開發出來的語言,做文字處理非常強大,可以寫出沒人能看的懂的代碼。
scala:Scala是一門多範式的編程語言,一種類似java的編程語言 [1] ,設計初衷是實現可伸縮的語言 [2] 、並集成面向對象編程和函數式編程的各種特性。
erlang:Erlang(['ə:læŋ])是一種通用的面向併發的編程語言,它由瑞典電信設備製造商愛立信所轄的CS-Lab開發,目的是創造一種可以應對大規模併發活動的編程語言和運行環境。Erlang問世於1987年,經過十年的發展,於1998年發佈開源版本。
go:Go語言是谷歌2009年發佈的第二款開源編程語言。Go語言專門針對多處理系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持並行進程。
javascript:是當下使用最爲廣泛的語言,主要寫前端的語言。
nodejs:後端,全棧式的語言。
vb:微軟的腳本語言。
lua:Lua是一個小巧的腳本語言。一個完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。這一切都決定了Lua是作爲嵌入式腳本的最佳選擇。
六、Python初探
Python介紹
Python是一種計算機程序設計語言。是一種面向對象的動態類型語言,最初被設計用於編寫自動化腳本(shell),隨着版本的不斷更新和語言新功能的添加,越來越多被用於獨立的、大型項目的開發。
運用領域:
編譯型 = 全部翻譯,在執行 翻譯=編譯:c,c++
解釋型 = 邊執行邊翻譯, python php java c# perl ruby javascript
發展史:
被解救的姜戈
Python 2.6 - October 1,2008
Python 3.0 - December 3,2008
Python 2.7 - July 3,2010
print “hello world” #in 2.x
print(“hello world”) #in 3.x
系統位數:
區別:
-
32bit:內存的最大尋址空間是2**32,4GB
-
64bit:隨着硬件提升,內存的最大尋址空間是16TB,
-
運算速度不同:64位CPU GPRs(General-Purpose Registers,通用寄存器)的數據寬度爲64位,64位指令集可以運行64位數據指令,也就是說處理器一次可提取64位數據(只要兩個指令,一次提取8個字節的數據),比32位(需要四個指令,一次提取4個字節的數據)提高了一倍,理論上性能會相應提升1倍。
-
設計初衷不同:64位操作系統的設計初衷是爲了滿足機械設計和分析、三維動畫、視頻編輯和創作,以及科學計算和高性能計算應用程序等領域中需要大量內存和浮點性能的客戶需求。
運轉機制:
cpu從硬盤取數據在內存中運算