導航:首頁 > 編程語言 > bsd編程

bsd編程

發布時間:2023-01-07 17:02:57

A. c語言在linux和FreeBSD下Socket編程的區別

沒啥區別

//服務端server.c
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/wait.h>
#define SERVPORT 6000 /*伺服器監聽埠號 */
#define BACKLOG 10 /* 最大同時連接請求數 */
#define MAXDATASIZE 100

main()
{
char buf[MAXDATASIZE];
int sockfd,client_fd; /*sock_fd:監聽socket;client_fd:數據傳輸socket */
struct sockaddr_in my_addr; /* 本機地址信息 */
struct sockaddr_in remote_addr; /* 客戶端地址信息 */

if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
perror("socket創建出錯!");
exit(1);
}
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(SERVPORT);
my_addr.sin_addr.s_addr = INADDR_ANY;
bzero(&(my_addr.sin_zero),8);
if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1)
{
perror("bind出錯!");
exit(1);
}
if (listen(sockfd, BACKLOG) == -1)
{
perror("listen出錯!");
exit(1);
}
while(1)
{
sin_size = sizeof(struct sockaddr_in);
if ((client_fd = accept(sockfd, (struct sockaddr *)&remote_addr, &sin_size)) == -1)
{
perror("accept出錯");
continue;
}
printf("received a connection from %s\n", inet_ntoa(remote_addr.sin_addr));
if (!fork())
{ /* 子進程代碼段 */
if ((recvbytes=recv(client_fd, buf, MAXDATASIZE, 0)) ==-1)
{
perror("recv出錯!");
close(client_fd);
exit(0);
}
buf[recvbytes] = '\0';
printf("from client Received: %s",buf);

if (send(client_fd, "thanks!\n", 8, 0) == -1)
perror("send出錯!");
close(client_fd);
exit(0);
}
close(client_fd);
}
}

//客戶端client.c
#include<stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#define SERVPORT 6000
#define MAXDATASIZE 100

main(int argc, char *argv[])
{
int sockfd, recvbytes;
char buf[MAXDATASIZE];
struct hostent *host;
struct sockaddr_in serv_addr;
if (argc < 2)
{
fprintf(stderr,"Please enter the server's hostname!\n");
exit(1);
}
if((host=gethostbyname(argv[1]))==NULL)
{
herror("gethostbyname出錯!");
exit(1);
}
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
perror("socket創建出錯!");
exit(1);
}
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(SERVPORT);
serv_addr.sin_addr = *((struct in_addr *)host->h_addr);
bzero(&(serv_addr.sin_zero),8);
if (connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(struct sockaddr)) == -1)
{
perror("connect出錯!");
exit(1);
}

if (send(sockfd, "hello!\n", 7, 0) == -1)
{
perror("send出錯!");
exit(1);
}

if ((recvbytes=recv(sockfd, buf, MAXDATASIZE, 0)) ==-1)
{
perror("recv出錯!");
exit(1);
}
buf[recvbytes] = '\0';
printf("Received: %s",buf);
close(sockfd);
}

B. 在freebsd中怎麼打開編譯器編寫C啊

clang本來就是為了比gcc更方便調用調試而開發的,用 ee/vi 等編輯器都可以寫文件,編譯和執行。如果一定要和win環境對比,嗯,應該難以比較。因為1.IDE不一樣;2.桌面環境,BSD默認沒有桌面;3.clang/llvm的win版本沒法比較;4.win下還是老實點去調win本身的system庫吧。

C. 想問一下bsd系統區別於現在我們常的XP系統的不同,或著說有什麼優勢,期待高手解答,謝謝

UNIX ,是一個強大的多用戶、多任務操作系統,支持多種處理器架構,最早由Ken Thompson、Dennis Ritchie和Douglas McIlroy於1969年在AT&T的貝爾實驗室開發。經過長期的發展和完善,目前已成長為一種主流的操作系統技術和基於這種技術的產品大家族。由於UNIX具有技術成熟、可靠性高、網路和資料庫功能強、伸縮性突出和開放性好等特色,可滿足各行各業的實際需要,特別能滿足企業重要業務的需要,已經成為主要的工作站平台和重要的企業操作平台。

曾經是伺服器操作系統的首選,占據最大市場份額,但最近在跟WINDOWS SERVER以及Linux的競爭中有所失利。

詳細介紹:

Ken和Dennis最早是在貝爾實驗室開發Unix的,此後的10年,Unix在學術機構和大型企業中得到了廣泛的應用,當時的UNIX擁有者AT&T公司以低廉甚至免費的許可將Unix源碼授權給學術機構做研究或教學之用,許多機構在此源碼基礎上加以擴充和改進,形成了所謂的Unix「變種 (Variations)」,這些變種反過來也促進了Unix的發展,其中最著名的變種之一是由加州大學Berkeley分校開發的BSD產品。

後來AT&T意識到了Unix的商業價值,不再將Unix源碼授權給學術機構,並對之前的Unix及其變種聲明了版權權利。變種BSD Unix在Unix的歷史發展中具有相當大的影響力,被很多商業廠家採用,成為很多商用Unix的基礎。BSD使用主版本加次版本的方法標識,如 4.2BSD,4.3BSD,在原始版本的基礎上還有派生版本,這些版本通常有自己的名字,如4.3BSD-Net/1,4.3BSD-Net/2等。其不斷增大的影響力終於引起了AT&T的關注,於是開始了一場曠日持久的版權官司,這場官司一直打到 AT&T將自己的Unix系統實驗室賣掉,新接手的Novell公司採取了一種比較開明的做法,允許伯克利自由發布自己的BSD,但是前提是必須將來自於AT&T的代碼完全刪除,於是誕生了4.4 BSD Lite版,由於這個版本不存在法律問題,4.4BSD Lite成為了現代BSD系統的基礎版本。盡管後來,非商業版的UNIX系統又經過了很多演變,但其最終,都是建立在BSD版本上(Linux除外)。所以從這個角度上,4.4 BSD又是所有自由版(Free版)Unix的基礎,它們和Unix V及Linux等共同構成Unix操作系統這片璀璨的星空。

BSD在發展中也逐漸衍生出3個主要的分支:FreeBSD,OpenBSD和NetBSD。

此後的幾十年中,Unix仍在不斷變化,其版權所有者不斷變更,授權者的數量也在增加。Unix的版權曾經為AT&T所有,之後Novell擁有了Unix,再之後Novell又將版權出售給了SCO(這一事實雙方尚存在爭議)。有很多大公司在取得了Unix的授權之後,開發了自己的Unix產品,比如IBM的AIX,HP的HPUX,SUN的Solaris和SGI的IRIX。

Unix因為其安全可靠,高效強大的特點在伺服器領域得到了廣泛的應用。直到GNU/Linux流行開始前,Unix也是科學計算、大型機、超級計算機等所用操作系統的主流。

歷史

初創期

Unix的誕生和Multics(Multiplexed Information and Computing System)是有一定淵源的。Multics是由麻省理工學院,AT&T貝爾實驗室和通用電氣合作進行的操作系統項目,被設計運行在GE-645大型主機上,但是由於整個目標過於龐大,糅合了太多的特性,Multics雖然發布了一些產品,但是性能都很低,最終以失敗而告終。

AT&T最終撤出了投入Multics項目的資源,其中一個開發者,Ken Thompson則繼續為GE-645開發軟體,並最終編寫了一個太空旅行游戲。經過實際運行後,他發現游戲速度很慢而且耗費昂貴——每次運行會花費75美元。

在Dennis Ritchie的幫助下,Thompson用PDP-7的匯編語言重寫了這個游戲,並使其在DEC PDP-7上運行起來。這次經歷加上Multics項目的經驗,促使Thompson開始了一個DEC PDP-7上的新操作系統項目。Thompson和Ritchie領導一組開發者,開發了一個新的多任務操作系統。這個系統包括命令解釋器和一些實用程序,這個項目被稱為UNICS(Uniplexed Information and Computing System),因為它可以支持同時的多用戶操作。後來這個名字被改為UNIX。

發展期

最初的Unix是用匯編語言編寫的,一些應用是由叫做B語言的解釋型語言和匯編語言混合編寫的。B語言在進行系統編程時不夠強大,所以Thompson和Ritchie對其進行了改造,並與1971年共同發明了C語言。1973 年Thompson和Ritchie用C語言重寫了Unix。在當時,為了實現最高效率,系統程序都是由匯編語言編寫,所以Thompson和 Ritchie此舉是極具大膽創新和革命意義的。用C語言編寫的Unix代碼簡潔緊湊、易移植、易讀、易修改,為此後Unix的發展奠定了堅實基礎。

1974年,Thompson和Ritchie合作在ACM通信上發表了一片關於UNIX的文章,這是UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1975年,UNIX發布了4、5、6三個版本。1978年,已經有大約600台計算機在運行UNIX。1979年,版本7發布,這是最後一個廣泛發布的研究型UNIX版本。20世紀80年代相繼發布的8、9、10版本只授權給了少數大學。此後這個方向上的研究導致了Plan 9的出現,這是一個新的分布式操作系統。

1982年,AT&T基於版本7開發了UNIX System Ⅲ的第一個版本,這是一個商業版本僅供出售。為了解決混亂的UNIX版本情況,AT&T綜合了其他大學和公司開發的各種UNIX,開發了UNIX System V Release 1。

這個新的UNIX商業發布版本不再包含源代碼,所以加州大學Berkeley分校繼續開發BSD UNIX,作為UNIX System III和V的替代選擇。BSD對UNIX最重要的貢獻之一是TCP/IP。BSD 有8個主要的發行版中包含了TCP/IP:4.1c、4.2、4.3、4.3-Tahoe、4.3-Reno、Net2、4.4以及 4.4-lite。這些發布版中的TCP/IP代碼幾乎是現在所有系統中TCP/IP實現的前輩,包括AT&T System V UNIX 和Microsoft Windows。

其他一些公司也開始為其自己的小型機或工作站提供商業版本的UNIX系統,有些選擇System V作為基礎版本,有些則選擇了BSD。BSD的一名主要開發者,Bill Joy,在BSD基礎上開發了SunOS,並最終創辦了Sun Microsystems。

1991年,一群BSD開發者(Donn Seeley、Mike Karels、Bill Jolitz 和 Trent Hein)離開了加州大學,創辦了Berkeley Software Design, Inc (BSDI)。BSDI是第一家在便宜常見的Intel平台上提供全功能商業BSD UNIX的廠商。後來Bill Jolitz 離開了BSDI,開始了386BSD的工作。386BSD被認為是FreeBSD、OpenBSD 和 NetBSD的先輩。

AT&T繼續為UNIX System V增加了文件鎖定,系統管理,作業控制,流和遠程文件系統。1987到1989年,AT&T決定將Xenix(微軟開發的一個x86-pc上的UNIX版本),BSD,SunOS和System V融合為System V Release 4(SVR4)。這個新發布版將多種特性融為一體,結束了混亂的競爭局面。

1993年以後,大多數商業UNIX發行商都基於SVR4開發自己的UNIX變體了。

現況

UNIX System V Release 4發布後不久,AT&T就將其所有UNIX權利出售給了Novell。Novell期望以此來對抗微軟的Windows NT,但其核心市場受到了嚴重傷害,最終Novell將SVR4的權利出售給了X/OPEN Consortium,後者是定義UNIX標準的產業團體。最後X/OPEN和OSF/1合並,創建了Open Group。Open Group定義的多個標準定義著什麼是以及什麼不是UNIX。

實際的UNIX代碼則輾轉到了Santa Cruz Operation,這家公司後來出售給了Caldera Systems。Caldera原來也出售Linux系統,交易完成後,新公司又被重命名為SCO Group。

1127部門的解散

根據一項報導指出,當年負責研發UNIX與後續維護工作的貝爾實驗室1127部門已於2005年8月正式宣告解散。Ken Thompson已退休,現居加州;Dennis Ritchie調到別的部門;Douglas McIlroy在達特茅斯學院擔任教授等等。

標准

從1980年代開始,POSIX,一個開放的操作系統標准就在制定中,IEEE制定的POSIX標准現在是UNIX系統的基礎部分。

自由的類Unix系統

Richard Stallman建立了GNU項目,要創建一個能夠自由發布的類UNIX系統。20年來,這個項目不斷發展壯大,包含了越來越多的內容。現在,GNU項目開發的產品,比如Emacs,GCC等已經成為各種其他自由發布的類UNIX產品中的核心角色。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus' Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發布,並逐漸引起人們的注意。當GNU軟體與Linux內核結合後,GNU軟體構成了這個POSIX兼容操作系統GNU/Linux的基礎。今天GNU/Linux已經成為發展最為活躍的自由/開放源碼的類Unix操作系統。

1994年,BSD Unix走上了復興的道路。BSD的開發也走向了幾個不同的方向,並最終導致了FreeBSD、OpenBSD和NetBSD的出現。

類Unix操作系統

A/UX | AIX | BSD | DragonFly BSD | FreeBSD | GNU | HP-UX | IRIX | Linux | LynxOS | Mac OS X | Minix | NetBSD | NEXTSTEP | OpenBSD | QNX | SCO OpenServer | Solaris | System V | Tru64 | Xenix | 更多... |

Linux操作系統(Linux),是一種計算機操作系統。Linux操作系統的內核的名字也是「Linux」。Linux操作系統也是自由軟體和開放源代碼發展中最著名的例子。

嚴格來講,Linux這個詞本身只表示Linux內核,但在實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和資料庫的操作系統(也被稱為GNU/Linux)。基於這些組件的Linux軟體被稱為Linux發行版。一般來講,一個Linux發行套件包含大量的軟體,比如軟體開發工具,資料庫,Web伺服器(例如Apache),X Window,桌面環境(比如GNOME和KDE),辦公套件(比如OpenOffice.org),等等。
Linux內核最初是為英特爾386微處理器設計的。現在Linux內核支持從個人電腦到大型主機甚至包括嵌入式系統在內的各種硬體設備。
在開始的時候,Linux只是個人狂熱愛好的一種產物。但是現在,Linux已經成為了一種受到廣泛關注和支持的一種操作系統。包括IBM和惠普在內的一些計算機業巨頭也開始支持Linux。很多人認為,和其他的商用Unix系統以及微軟Windows相比,作為自由軟體的Linux具有低成本,安全性高,更加可信賴的優勢。

概述

絕大多數基於Linux內核的的操作系統使用了大量的GNU軟體,包括了一個shell程序、工具、程序庫、編譯器及工具,還有許多其他程序,例如Emacs。正因為如此,GNU計劃的開創者理查德·馬修·斯托曼博士提議將Linux操作系統改名為GNU/Linux。但有些人只把操作系統叫做"Linux"。
大多數系統還包括了像提供GUI界面的XFree86之類的曾經運行於BSD的程序。
除了一部分專家之外,大多數人都不自己選擇每一樣組件或自行設置,而是直接使用Linux套件。

1983年,理察·馬修·斯托曼(Richard Stallman)創立了GNU計劃(GNU Project)。這個計劃有一個目標是為了發展一個完全免費自由的 Unix-like 操作系統。自1990年代發起這個計劃以來,GNU 開始大量的產生或收集各種系統所必備的元件,像是——函式庫(libraries)、編譯器(compilers)、偵錯工具(debuggers)、文字編輯器(text editors)、網頁伺服器(web server),以及一個Unix的使用者介面(Unix shell)——除了執行核心(kernel)仍然付闕外。1990年,GNU計劃開始在馬赫微核(Mach microkernel)的架構之上開發系統核心,也就是所謂的GNU Hurd,但是這個基於Mach的設計異常復雜,發展進度則相對緩慢。

Linux內核最初只是由芬蘭人林納斯·托瓦茲(Linus Torvalds)在赫爾辛基大學上學時出於個人愛好而編寫的,當時他並不滿意Minix這個教學用的操作系統。最初的設想中,Linux 是一種類似Minix這樣的一種操作系統。Linux的第一個版本在1991年9月被大學FTP server管理員Ari Lemmke發布在Internet上,最初Torvalds 稱這個核心的名稱為 "Freax" ,意思是自由( "free") 和奇異( "freak") 的結合字,並且附上了"X"這個常用的字母,以配合所謂的 Unix-like 的系統。但是FTP server管理員嫌原來的命名「Freax」的名稱不好聽,把核心的稱呼改成「Linux」,當時僅有10000行代碼,仍必須執行於Minix操作系統之上,並且必須使用硬碟開機;隨後在10月份第二個版本(0.02版)就發布了,同時這位芬蘭赫爾辛基的大學生在comp.os.minix上發布一則信息:

Hello everybody out there using minix-
I'm doing a (free) operation system (just a hobby,
won't be big and professional like gnu) for 386(486) AT clones.

歷史

Linux 的歷史是和GNU緊密聯系在一起的。從1983年開始的GNU計劃致力於開發一個自由並且完整的類Unix操作系統,包括軟體開發工具和各種應用程序。到1991年 Linux 內核發布的時候,GNU已經幾乎完成了除了系統內核之外的各種必備軟體的開發。在Linus Torvalds和其他開發人員的努力下,GNU組件可以運行於Linux內核之上。整個內核是基於 GNU 通用公共許可,也就是GPL(GNU General Public License,GNU通用公共許可證)的,但是Linux內核並不是GNU 計劃的一部分。1994年3月,Linux1.0版正式發布,Marc Ewing成立了 Red Hat 軟體公司,成為最著名的 Linux 分銷商之一。

Unix & Linux歷史源流早期Linux的開機管理程序(boot loader)是使用LILO(Linux Loader),存在著一些難以容忍的缺陷,例如無法識別8G以外的硬碟,後來新增GRUB(GRand Unified Bootloader)克服了這些缺點,具有『動態搜尋核心檔案』的功能,可以讓您在開機的時候,可以自行編輯您的開機設定系統檔案,透過 ext2 或 ext3 檔案系統中載入 Linux Kernel。
Linux 的標志和吉祥物是一隻名字叫做 Tux 的 企鵝,標志的由來是因為Linus在澳洲時曾被一隻動物園里的企鵝咬了一口,便選擇了企鵝作為Linux的標志。Linux的注冊商標是Linus Torvalds所有的。這是由於在1996年,一個名字叫做William R. Della Croce的律師開始向各個 Linux 發布商發信,聲明他擁有Linux商標的所有權,並且要求各個發布商支付版稅,這些發行商集體進行上訴,要求將該注冊商標重新分配給 Linus Torvalds。Linus Torvalds 一再聲明 Linux 是免費的,他本人可以賣掉,但 Linux 絕不能賣。
Linux 的某些版本是不需要安裝就能使用的版本,他們稱為 LiveCD。
用戶群

GNU/Linux愛好者設計的宣傳圖,並使用GPL授權
GNU/Linux社群設計的立體圖,並使用GPL授權傳統的Linux用戶一般都安裝並設置自己的操作系統,他們往往比其他操作系統,例如微軟Windows和Mac OS的用戶更有經驗。這些用戶有時被稱作「黑客」或是「極客」(geek)。然而隨著Linux越來越流行,越來越多的原廠委託製造(OEM)開始在其銷售的電腦上預裝上Linux,Linux的用戶中也有了普通電腦用戶,Linux系統也開始慢慢搶占桌面電腦操作系統市場。同時Linux也是最受歡迎的伺服器操作系統之一。Linux也在嵌入式電腦市場上擁有優勢,低成本的特性使Linux深受用戶歡迎。使用Linux主要的成本為移植、培訓和學習的費用,早期由於會使用Linux的人較少,這方面費用較高,但這方面的費用已經隨著Linux的日益普及和Linux上的軟體越來越多、越來越方便而降低。
KDE和GNOME等桌面系統使Linux更像是一個Mac或Windows之類的操作系統,提供完善的圖形用戶界面,而不同於其他使用命令行界面(Command Line Interface,CLI)的類Unix操作系統。

未來軟體界的方向

Linux 作為較早的源代碼開放操作系統,將引領未來軟體發展的方向。
基於 Linux 開放源碼的特性,越來越多大中型企業及政府投入更多的資源來開發 Linux。現今世界上,很多國家逐漸的把政府機構內部門的電腦轉移到 Linux 上,這個情況還會一直持續。Linux 的廣泛使用為政府機構節省了不少經費,也降低了對封閉源碼軟體潛在的安全性的憂慮。

Linux的英文發音

根據Torvalds的說法,Linux的發音和「Minix」是押韻的。
「Li」中「i」的發音類似於「Minix」中「i」的發音,而「nux」中「u」的發音類似於英文單詞「profess」中「o」的發音。依照國際音標應該是['linэks]。
有一份Torvalds本人說話的音頻,音頻內容為「Hello, this is Linus Torvalds, and I pronounce Linux as Linux」。

應用

運行在SUSE上的KDE桌面環境。過去,Linux主要被用作伺服器的操作系統,但因它的廉價、靈活性及Unix背景使得它很合適作更廣泛的應用。傳統上,以Linux為基礎的「LAMP(Linux, Apache, MySQL, Perl/PHP/python的組合)」技術,除了已在開發者群體中廣泛流行,它亦是現時提供網站務供應商最常使用的平台。

基於其低廉成本與高度可設定性,Linux常常被應用於嵌入式系統,例如機頂盒、行動電話及行動裝置等。在行動電話上,Linux已經成為Symbian OS的主要競爭者;而在行動裝置上,則成為Windows CE與Palm OS外之另一個選擇。目前流行的TiVo數位攝影機使用了經過客制化後的Linux。此外,有不少硬體式的網路防火牆及路由器,例如部份LinkSys的產品,其內部都是使用Linux來驅動、並採用了操作系統提供的防火牆及路由功能。

採用Linux的超級電腦亦愈來愈多,根據2005年11月號的TOP500超級電腦列表,現時世上最快速的兩組超級電腦都是使用Linux作為其操作系統。而在表列的500套系統里,採用Linux為操作系統的,佔了371組(即74.2%),其中的前十位者,有7組是使用Linux的。

2006年開始發售的SONY PlayStation 3亦使用Linux的操作系統。之前,Sony亦曾為他們的PlayStation 2推出過一套名為PS2 Linux的DIY組件。至於游戲開發商雅達利及id Software,都有為其旗下的游戲推出過Linux桌面版本。此外,Linux Game Publishing亦有專門為Linux平台撰寫游戲,並致力於把其他在Windows平台編撰的游戲程序碼轉攜至Linux平台,及為轉攜游戲提供使用授權。
而一個打算對所有生活在發展中國家孩子提供手提電腦的名為每孩子皆有一部手提電腦(OLPC)的項目,正是使用Linux作為預設的操作系統。

發行版

Linux 主要作為Linux 發行版(通常被稱為"distro")的一部分而使用。這些發行版由個人,鬆散組織的團隊,以及商業機構和志願者組織編寫。它們通常包括了其他的系統軟體和應用軟體,以及一個用來簡化系統初始安裝的安裝工具,和讓軟體安裝升級的集成管理器。發行版為許多不同的目的而製作, 包括對不同計算機結構的支持, 對一個具體區域或語言的本地化,實時應用,和嵌入式系統,甚至許多版本故意地只加入免費軟體。目前,超過三百個發行版被積極的開發,最普遍被使用的發行版有大約十二個.

一個典型的Linux發行版包括:Linux內核,一些GNU程序庫和工具,命令行shell,圖形界面的X Window系統和相應的桌面環境,如KDE或GNOME,並包含數千種從辦公套件,編譯器,文本編輯器到科學工具的應用軟體。

Linux與其他操作系統區別

Linux可以與MS-DOS、OS/2、Windows等其他操作系統共存於同一台機器上。它們均為操作系統,具有一些共性,但是互相之間各有特色,有所區別。

目前運行在PC機上的操作系統主要有Microsoft的MS-DOS、Windows、Windows NT、IBM的OS/2等。早期的PC機用戶普遍使用MS-DOS,因為這種操作系統對機器的硬體配置要求不高,而隨著計算機硬體技術的飛速發展,硬體設備價格越來越低,人們可以相對容易地提高計算機的硬體配置,於是開始使用Windows、Windows NT等具有圖形界面的操作系統。Linux是新近被人們所關注的操作系統,它正在逐漸為PC機的用戶所接受。那麼,Linux與其他操作系統的主要區別是什麼呢?下面從兩個方面加以論述。

Linux與MS-DOS之間的區別

在同一系統上運行Linux和MS-DOS已很普遍,就發揮處理器功能來說,MS-DOS沒有完全實現x86處理器的功能,而Linux完全在處理器保護模式下運行,並且開發了處理器的所有特性。Linux可以直接訪問計算機內的所有可用內存,提供完整的Unix介面。而MS-DOS只支持部分Unix的介面。

就使用費用而言,Linux和MS-DOS是兩種完全不同的實體。與其他商業操作系統相比,MS-DOS價格比較便宜,而且在PC機用戶中有很大的佔有率,任何其他PC機操作系統都很難達到MS-DOS的普及程度,因為其他操作系統的費用對大多數PC機用戶來說都是一個不小的負擔。Linux是免費的,用戶可以從internet上或者其他途徑獲得它的版本,而且可以任意使用,不用考慮費用問題。

就操作系統的功能來說,MS-DOS是單任務的操作系統,一旦用戶運行了一個MS-DOS的應用程序,它就獨佔了系統的資源,用戶不可能再同時運行其他應用程序。而Linux是多任務的操作系統,用戶可以同時運行多個應用程序。

Linux與OS/2、Windows、Windows NT之間的區別

從發展的背景看,Linux與其他操作系統的區別是,Linux是從一個比較成熟的操作系統發展而來的,而其他操作系統,如Windows NT等,都是自成體系,無對應的相依託的操作系統。這一區別使得Linux的用戶能大大地從Unix團體貢獻中獲利。因為Unix是世界上使用最普遍、發展最成熟的操作系統之一,它是七十年代中期發展起來的微機和巨型機的多任務系統,雖然有時介面比較混亂,並缺少相對集中的標准,但還是發展壯大成為了最廣泛使用的操作系統之一。無論是Unix的作者還是Unix的用戶,都認為只有Unix才是一個真正的操作系統,許多計算機系統(從個人計算機到超級計算機)都存在Unix版本,Unix的用戶可以從很多方面得到支持和幫助。因此,Linux做為Unix的一個克隆,同樣會得到相應的支持和幫助,直接擁有Unix在用戶中建立的牢固的地位。

從使用費用上看,Linux與其他操作系統的區別在於Linux是一種開放、免費的操作系統,而其他操作系統都是封閉的系統,需要有償使用。這一區別使得我們能夠不用花錢就能得到很多Linux的版本以及為其開發的應用軟體。當我們訪問Internet時,會發現幾乎所有可用的自由軟體都能夠運行在Linux系統上。有來自很多軟體商的多種Unix實現,Unix的開發、發展商以開放系統的方式推動其標准化,但卻沒有一個公司來控制這種設計。因此,任何一個軟體商(或開拓者)都能在某種Unix實現中實現這些標准。OS/2和Windows NT等操作系統是具有版權的產品,其介面和設計均由某一公司控制,而且只有這些公司才有權實現其設計,它們是在封閉的環境下發展的。

展望

一個打算對所有生活在發展中國家孩子提供手提電腦的名為每孩子皆有一部手提電腦(OLPC)的項目,正是使用Linux作為預設的操作系統。
什麼是Linux簡單地說,Linux是一套免費使用和自由傳播的類Unix操作系統,它主要用於基於Intel x86系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的Unix兼容產品。
Linux的出現,最早開始於一位名叫Linus Torvalds的計算機業余愛好者,當時他是芬蘭赫爾辛基大學的學生。他的目的是想設計一個代替Minix(是由一位名叫Andrew Tannebaum的計算機教授編寫的一個操作系統示教程序)的操作系統,這個操作系統可用於386、486或奔騰處理器的個人計算機上,並且具有 Unix操作系統的全部功能,因而開始了Linux雛形的設計。
Linux以它的高效性和靈活性著稱。它能夠在PC計算機上實現全部的Unix特性,具有多任務、多用戶的能力。Linux是在GNU公共許可許可權下免費獲得的,是一個符合POSIX標準的操作系統。Linux操作系統軟體包不僅包括完整的Linux操作系統,而且還包括了文本編輯器、高級語言編譯器等應用軟體。它還包括帶有多個窗口管理器的X-Windows圖形用戶界面,如同我們使用Windows NT一樣,允許我們使用窗口、圖標和菜單對系統進行操作。
Linux之所以受到廣大計算機愛好者的喜愛,主要原因有兩個,一是它屬於自由軟體,用戶不用支付任何費用就可以獲得它和它的源代碼,並且可以根據自己的需要對它進行必要的修改,無償對它使用,無約束地繼續傳播。另一個原因是,它具有Unix的全部功能,任何使用Unix操作系統或想要學習 Unix操作系統的人都可以從Linux中獲益。

要想了解更多,請照參考資料.

D. 網路編程語言有哪些軟體編程語言有哪些

網路編程
CGI
CGI(common
Gateway
Interface,公共網關介面)。CGI腳本程序可以用C、C++等語言在多種平台上進行開發。
ASP
ASP是微軟公司推出的意圖取代CGI的新技術。由於A
SP使用基於開放設計環境的Active
X技術,用戶可以自己定義和製作組件加入其中,使自己的動態網頁具有幾乎無限的擴充能力。它還可利用ADO(Active
Data
Object對數據進行處理。
Script
腳本語言是介於
HTML(HyperText
Markup
Language,超文本標示語言)和Java、C++和Visual
Basic之類的編程語言之間的語言。它的語法和規則沒有可編譯的編程語言那樣嚴格和復雜。Netscape推出了JavaScript(for客戶端和
for服務端兩種),微軟則推出了VBScript和ASP兩種
JavaScript
JavaScript是一種基於對象(Object)和事件驅動(Event
Driven)並具有安全性能的腳本語言。
VBScript
你已了解Visual
Basic或Visual
Basic
for
Applications,就會很快熟悉VBScript。Microsoft公司將VBScript語言作為實施其ActiveX腳本化的最佳選擇
Perl
Perl是Practical
Extraction
and
Report
Language(實用摘錄和報告語言)的縮寫,現在Perl已經發展到5.0版本,並移植到了各種平台。
PHP
PHP,一個嵌套的縮寫名稱,是英文「超級文本預處理語言」(PHP:Hypertext
Preprocessor)的縮寫。PHP
是一種
HTML
內嵌式的語言,PHP
獨特的語法混合了
C、Java、Perl
以及
PHP
自創新的語法。
Python
是一種跨平台的開發語言,它可以運行在已知的各種操作系統之上,包括windows、Mac
OS、Unix、BSD、Palm等。python是一種支持擴展的開發語言,主要的擴展變種有CPython、JPython、PerlPython。它們分別使用C、Java、Perl做它的擴展介面基礎環境的。更准確的說,Python也可以是一種
跨語言的語言。
ColdFusion
一種快速響應且易於編寫的動態腳本語言,叫做coldfusion了JSP

E. Windows 下怎麼用 BSD Socket

用Java

F. 如何在ios的開發中使用底層的BSD套接字

設備裡面有硬碟,
有CF卡啟動和硬碟啟動兩種。
自己裝系統沒用的,系統底層bsd,
要F5的img安裝tomcat和應用系統的。

如有其他問題,可以繼續追問,
您的採納是我前進的動力!

G. 請詳細介紹BSD套接字實現TCP協議編程的基本流程

1.BSD套接字是建立在應用層網路編程介面,TCP是位於傳輸層的協議,提供數據的傳輸,而IP位於網路層,則是提供網路間兩台主機進行通信的必要條件,從而就是實現了網路上兩個終端就可以互相傳數據了。

H. 求一款BSD 下的 ANSI 標準的C++ 編程編譯工具

100%符合標準的編譯器目前沒有,不過GNU項目里的gcc/g++是標准符合度最高的,聽說是98%,你可以試試。

PS:你說的只是編譯工具,如果要尋找IDE的話,開源項目里應該有,自己找找吧。

閱讀全文

與bsd編程相關的資料

熱點內容
循環宏1命令 瀏覽:35
斐波那契數列矩陣演算法 瀏覽:674
公式保護後加密不了 瀏覽:82
java跳轉到jsp 瀏覽:819
327平方根演算法 瀏覽:216
win7美化命令行終端 瀏覽:797
免加密狗圖片 瀏覽:485
一隻透明的鳥是什麼app 瀏覽:817
空氣壓縮機油批發商 瀏覽:69
linuxifexist 瀏覽:4
加密tf卡拷入文件 瀏覽:399
山西php工資 瀏覽:673
福州看病預約用什麼小程序app 瀏覽:238
php保留兩位小數不四捨五入 瀏覽:292
黑馬程序員路徑大全 瀏覽:1000
saas平台PHP 瀏覽:333
雲伺服器科學計算配置怎麼選 瀏覽:649
jar解壓命令 瀏覽:609
php正則問號 瀏覽:299
無線已加密不可上網是怎麼了 瀏覽:466