開始操作系統

習慣使然,學習總想先了解一個的概念,和這個東西的歷史,現在開始操作系統的概念和歷史吧.
一,什麼是操作系統:
1,操作系統是機器的擴展
這種觀點認爲操作系統是人機接口,硬件操作是複雜的,麻煩的。爲了隱藏硬件操作的細節,如讀寫數據,移動磁頭臂,格式化磁道,初始化,校準控制器等,建立了操作系統,來提供一個更簡潔的交互頁面,這個是從上往下的想法
2,操作系統是資源的管理者
操作系統是控制器,存儲器鼠標,鍵盤,打印機等資源的管理者,在這個角度看,操作系統的任務是在相互競爭的曾許之間有序的控制對處理器,存貯器,io設備的分配
資源管理中一個重要的概念是複用:
一種是共享複用 :如cpu輪訊
一種是空間複用 :如內存分割

二,操作系統的歷史:
對於操作系統的歷史簡單的看了一下,這裏不想寫其中的故事,雖然很多看了感覺很有趣,體會到那個時代的人對計算機的感情,但做爲一個技術者,這裏還是簡單的說一下吧:
1,無操作系統 --------------真空管和插件板計算機
2,批處理操作系統-----------晶體管計算機(初期的大型機(mainframe))
3,多道程序操作系統---------集成電路(OS/360,MuLTICS)
4,PC  --------- -----------大規模集成電路
操作系統的大概先後順序
OS360-->MULTICS-->Unix-->Minix-->linux
    Dos-->Windows

三,操作系統分類:
1,大型機操作系統
2,服務器操作系統
3,多處理機操作系統
4,個人計算機操作系統
5,實時操作系統
6,嵌入式操作系統
7,只能卡操作系統

四,個體重複發展概念
每個東西的發展都是經歷了同樣的過程
大型機開始沒有硬件保護
小型機開始也沒有硬件保護
pc開始也是如此
擁有着相同的歷程

五,計算機的構成:
1,處理器
2,存儲器
3,IO設備
4,總線

六,操作系統中的重要概念:
1,進程
2,死鎖
3,存儲管理
4,輸入,輸出
5,文件
6,安全
7,Shell

七,概念重用原理
很多概念都會因爲技術的改變而改變
比如開始的解釋執行的程序--->爲了速度編程編譯執行的程序--->java的出現變回解釋執行的程序(或者說各自一半的混合體)

八,系統調用:
1,進程管理
pid=fork() 創建與父進程相同的子進程
pid=waitpid(pid,&statloc,options)等待一個子進程中止
s=execve(name,argv,environp)替換一個進程的核心映象
exit(status)中止進程的執行
2,文件管理
fd=open(file,how,...)打開一個文件
s=close(fd)關閉一個文件
n=read(fd,buffer,nbytes) 把數據從一個文件讀到緩存
n=write(fd,buffer,nbytes)把數據從緩存寫道一個文件
position=iseek(fd,offset,whence)移動文件指針
s=stat(name,&buf)取得文件的狀態信息
3,目錄文件系統
s=mkdir(name,mode) 見目錄
s=rmdir(name)      刪目錄
s=link(name1,name2) 鏈接
s=ulink(name)      取消連接
s=mount(special,name,flag)安裝
s=umount(special)卸載
雜項
s=chdir(dirname)改變工作目錄
s=chmod(name,mode)修改一個文件的保護位
s=kill(pid,signal)發一個信號給進程
seconds=time(&seconds) 從1970,1,1起的時間

windows有一套類似的系統 

發佈了26 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章