目录
23 关系: /dev/null,可用性,BSD,C/S,状态机,线程,线程池,Epoll,随机存取存储器,記憶池,高性能轎車,软件开发,IOCP,Microsoft Windows,Select,Solaris,TCP,UDP,XML,消息队列,服务器,日志,数据库。
/dev/null
在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF。 在程序员行话,尤其是Unix行话中,/dev/null被称为比特桶或者黑洞。.
可用性
可用性(英文:Availability)是和易用性(英文:Usability)不同的两个概念。 在电信和可靠性理论中,可用性是指:.
查看 服务器开发和可用性
BSD
伯克利軟件套件(Berkeley Software Distribution,縮寫為BSD),也被稱為伯克利Unix(),是一個操作系統的名稱。衍生自Unix(類Unix),1970年代由伯克利加州大學的學生比爾·喬伊(Bill Joy)開創,也被用來代表其衍生出的各種套件。 BSD常被當作工作站級別的Unix系統,這得歸功於BSD用戶許可證非常地寬鬆,許多1980年代成立的計算機公司,不少都從BSD中獲益,比較著名的例子如DEC的Ultrix,以及Sun公司的SunOS。 1990年代,BSD很大程度上被System V 4.x版以及OSF/1系統所取代,但其開源版本被採用,促進了因特網的開發。.
查看 服务器开发和BSD
C/S
#重定向 主從式架構.
查看 服务器开发和C/S
状态机
#重定向 有限状态机.
查看 服务器开发和状态机
线程
线程(thread)是操作系统能夠進行運算调度的最小單位。它被包含在进程之中,是进程中的實際運作單位。一条线程指的是进程中一个单一顺序的控制流,一個进程中可以並行多個线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。 线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIX Thread;或者由内核与用户进程,如Windows 7的线程,进行混合调度。 同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。 一个进程可以有很多线程,每条线程并行执行不同的任务。 在多核或多CPU,或支持Hyper-threading的CPU上使用多线程程序设计的好处是显而易见,即提高了程序的执行吞吐率。在单CPU单核的计算机上,使用多线程技术,也可以把进程中负责I/O处理、人机交互而常被阻塞的部分与密集计算的部分分开来执行,编写专门的workhorse线程执行密集计算,从而提高了程序的执行效率。.
查看 服务器开发和线程
线程池
线程池(thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。 例如,线程数一般取cpu数量+2比较合适,线程数过多会导致额外的线程切换开销。 任务调度以执行线程的常见方法是使用同步队列,称作任务队列。池中的线程等待队列中的任务,并把执行完的任务放入完成队列中。 线程池模式一般分为两种:HS/HA半同步/半异步模式、L/F领导者与跟随者模式。.
查看 服务器开发和线程池
Epoll
於Linux 2.5.44首度登場的epoll是Linux核心的可擴展I/O事件通知機制。它設計目的旨在取代既有POSIX select(2)與poll(2)系統函式,讓需要大量操作檔案描述子的程式得以發揮更優異的性能(舉例來說:舊有的系統函式所花費的時間複雜度為O(n),epoll的時間複雜度O(log n))。epoll與FreeBSD的kqueue類似,底層都是由可組態的作業系統核心物件建構而成,並以檔案描述符(file descriptor)的形式呈現於使用者空間。.
查看 服务器开发和Epoll
随机存取存储器
随机存取存储器(Random Access Memory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以隨時读写(重新整理時除外,見下文),而且速度很快,通常作为操作系统或其他正在运行中的程式的临时資料存储媒介。 主記憶體(Main memory)即電腦內部最主要的記憶體,用來載入各式各樣的程式與資料以供CPU直接執行與運用。由於DRAM的性價比很高,且擴展性也不錯,是現今一般電腦主記憶體的最主要部分。2014年生產電腦所用的主記憶體主要是DDR3 SDRAM,而2016年開始DDR4 SDRAM逐漸普及化,筆電廠商如華碩及宏碁開始在筆電以DDR4記憶體取代DDR3L。.
記憶池
記憶池 (Memory Pool),又被稱為固定大小區塊規劃 (fixed-size-blocks allocation),允許程式設計師以類似 C語言 的 malloc 或是 C++ 的 new 運算元進行動態的記憶體規劃。對於其它動態記憶體規劃的實踐來說,因為會變動記憶體區塊大小導致的碎片問題,導致在實時系統上受限於效能因此,根本無法使用。記憶池提供了一個更有效率的解決方案:預先規劃一定數量的記憶體區塊,使得整個程式可以在執行期規劃 (allocate)、使用 (access)、歸還 (free) 記憶體區塊。 有許多實時作業系統採用了記憶池,IBM 的 Transaction Processing Facility 便是其中一個例子。.
查看 服务器开发和記憶池
高性能轎車
性能轎車(sports sedan、sports saloon)乃指具有運動化外觀、操控性能更為提升的轎車,廣義來說,與轎跑車、敞篷車、跨界休旅車的某些性質混合。 本來高性能轎車這個字眼其實就和跑車重複的,但當時已經習慣把跑車指雙門雙座位(或後座很窄小的2+2形式)的,比普通轎車輕和小得多的,突化於性能的轎車。所以現在高性能轎車多是指平衡於性能和內部空間的四或五門,有四座位的高性能私家車。 如果高性能轎車的外觀十分平實通俗,有時會被英美人士稱為Q汽車或睡車。.
查看 服务器开发和高性能轎車
软件开发
软件开发(Software development)是根据用户要求建造出软件系统或者系统中软件部分的一个产品开发的過程。软件开发是一项包括需求获取、开发规划、需求分析和设计、编程实现、软件测试、版本控制的系统工程。换句话说,软件开发就是一系列最终构建出软件产品的活动。软件开发可能包括研究、新的开发工作、修改、复用、重新设计(再工程)、维护,或者任何最终获得软件产品的其他活动。尤其是在软件开发过程的初始阶段,其中可能会涉及许多的部门,包括市场营销、工程设计、研究与开发以及一般意义上的管理 Joseph M.
查看 服务器开发和软件开发
IOCP
输入输出完成端口(Input/Output Completion Port,IOCP), 是支持多个同时发生的异步I/O操作的应用程序编程接口,在Windows NT的3.5版本以後,或AIX 5版以後或Solaris第十版以後,開始支持。 IOCP特别适合C/S模式网络服务器端模型。因为,让每一个socket有一个线程负责同步(阻塞)数据处理,one-thread-per-client的缺点是:一是如果连入的客户多了,就需要同样多的线程;二是不同的socket的数据处理都要线程切换的代价。.
查看 服务器开发和IOCP
Microsoft Windows
Microsoft Windows(中文有时譯作微軟--,通常不做翻译)是微軟公司推出的一系列操作系统。它問世於1985年,起初是MS-DOS之下的桌面環境,其後續版本逐漸發展成為主要为個人電腦和服务器用户設計的操作系統,并最终获得了世界个人电脑操作系統的垄断地位。此操作系統可以在几种不同类型的平台上运行,如个人电脑(PC)、移动裝置、服务器(Server)和嵌入式系統等等,其中在个人电脑的领域应用内最为普遍。在2004年國際數據資訊公司一次有关未来发展趋势的会议上,副董事长Avneesh Saxena宣布Windows拥有终端操作系统大约70%的市场份额 www.linuxworld.com.au。 Windows操作系統目前最新的穩定版是於2015年7月29日發佈的 Windows 10。Windows Server目前最新的穩定版是2016年9月26日發佈的Windows Server 2016。.
Select
Select 可能是:.
查看 服务器开发和Select
Solaris
Solaris原先是太阳微系统公司研制的类Unix操作系统,在Sun公司被Oracle併購後被稱作Oracle Solaris。目前最新版为Solaris 11。早期的Solaris是由BSDUnix发展而来。这是因为昇陽公司的创始人之一,比爾·喬伊(Bill Joy)来自柏克萊加州大學(U.C.Berkeley)。但是随着时间的推移,Solaris现在在接口上正在逐渐向System V靠拢。2005年6月14日,Sun公司将正在开发中的Solaris 11的源代码以CDDL许可开放,这一开放版本就是OpenSolaris。2010年8月23日,OpenSolaris項目被Oracle中止。2011年11月9日,Solaris 11發佈。 Sun的操作系统最初叫做SunOS,SunOS 5.0开始,SUN的操作系统开发开始转向System V 4,并有了新名字Solaris 2.0;Solaris 2.6以后,SUN删除了版本号中的「2」,因此,SunOS 5.10叫做Solaris 10。Solaris的早期版本后来又被重新命名为Solaris 1.x。因为“SunOS”这个词被用做专指Solaris操作系统的内核,因此Solaris被认为是由SunOS、图形化的桌面计算环境以及它的网络增强部分组成。.
TCP
TCP可能指:.
查看 服务器开发和TCP
UDP
UDP是一个缩略语,在不同的领域指不同的事物,它可以代表:.
查看 服务器开发和UDP
XML
可扩展标记语言(Extensible Markup Language,简称:XML),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。.
查看 服务器开发和XML
消息队列
在计算机科学中,消息队列(Message queue)是一种进程间通信或同一进程的不同线程间的通信方式,軟體的貯列用來處理一系列的輸入,通常是來自使用者。消息队列提供了异步的通信协议,每一個貯列中的紀錄包含詳細說明的資料,包含發生的時間,輸入裝置的種類,以及特定的輸入參數,也就是说:消息的发送者和接收者不需要同时与消息队列交互。消息会保存在队列中,直到接收者取回它。 一個 WIMP 環境像是 Microsoft Windows,藉由優先的某些形式(通常是事件的時間或是重要性的順序)來儲存使用者產生的事件到一個 事件貯列 中。系統把每個事件從事件貯列中傳遞給目標的應用程式。.
查看 服务器开发和消息队列
服务器
服务器(Server)指:.
查看 服务器开发和服务器
日志
日志有以下含义:.
查看 服务器开发和日志
数据库
--,簡而言之可視為電子化的檔案櫃——儲存电子檔案的處所,使用者可以對檔案中的資料執行新增、擷取、更新、刪除等操作。 所謂「資料庫」係以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。.
查看 服务器开发和数据库