20 世纪的最后几天似乎是一场奥威尔式的噩梦:法律阻止发表软件科学研究成果;法律阻止共享软件;过多的软件专利阻碍开发;最终用户许可协议剥夺了用户的所有自由——包括所有权、隐私、共享和了解其软件的工作原理。Richard M. Stallman 的这本论文集和演讲集解决了其中许多问题。最重要的是,Stallman 讨论了自由软件运动背后的哲学。这场运动与联邦法律和邪恶的最终用户许可协议的压迫作斗争,希望传播软件自由的理念。在数十万开发人员致力于创建 GNU 软件和 GNU/Linux 操作系统的力量下,自由软件在控制互联网的服务器上占据了一席之地,并且——随着它进入台式计算机市场——对微软和其他专有软件公司构成了威胁。这些文章面向广泛的读者群;您不需要计算机科学背景即可理解其中的哲学和思想。但是,有一个“软件注释”,可帮助不太懂技术的读者熟悉一些常见的计算机科学术语和概念,以及整篇文章的脚注。其中许多文章已根据其最初发布的版本进行了更新和修订。每篇文章都允许重新分发逐字副本。文章的顺序相当随意,因为阅读文章没有要求的顺序,因为它们是在 18 年的时间里独立撰写的。第一部分“GNU 项目和自由软件”旨在让您熟悉自由软件和 GNU 项目的历史和理念。此外,它还为开发人员、教育工作者和商界人士提供了路线图,以便务实地将自由软件融入社会、商业和生活。第二部分“版权、Copyleft 和专利”讨论了版权和专利制度的哲学和政治基础,以及它在过去几百年中是如何变化的。此外,它还讨论了当前的专利和版权法律法规如何不符合软件、音乐、电影和其他媒体的消费者和最终用户的最佳利益。相反,本节讨论了法律如何帮助企业和政府压制您的自由。第三部分“自由、社会和软件”继续讨论自由和权利,以及它们如何受到专有软件、版权法、全球化、“可信计算”和其他有害社会的规则、法规和政策的威胁。行业和政府试图说服人们放弃某些权利和自由的一种方式是使用暗示共享信息、想法和软件是坏事的术语;因此,我们附上了一篇文章,解释某些令人困惑且可能应该避免的词语。第四部分“许可证”包含 GNU 通用公共许可证、GNU 宽通用公共许可证和 GNU 自由文档许可证;GNU 项目的基石。如果您希望帮助进一步推动软件自由事业,如果您希望为自己、课堂使用或分发购买此书,请写信给自由软件基金会 (FSF),地址为 sales @ fsf.org,或访问 http://order.fsf.org/。
•端到端系统生态构成实验室,在我们的报道或实验过程中,在介绍或实验过程中,与内部客户或访问者有关新数字系统的一些创新,与分析,大数据,机器学习,“边缘”解决方案有关。这些创新是通过客户遇到的问题及其代表的附加价值讨论的。•Stallman实验室,专门针对网络安全,在网络领域将测试Schneider Electric Products和Systems的阻力。•IoT传感器实验室,用于测试和IoT系统所需的智能传感器的演示。
教授 ML Cook**、HS James**、LMJ McCann**、W. Thompson**、CB Valdivia**、RE Westgren**、P. Westhoff** 副教授 MK Hendrickson**、KL Jacobs**、H. Qin**、T. Skevas**、ME Sykuta**、助理教授 M. Segovia** 推广教授 R. Massey** 推广副教授 DS Brown* 助理教学教授 M. Sveum* 研究助理教授 K. Clark、J. Binfield*、J. Grashuis 讲师 M. Foreman、J. Moreland、LF Sowers 名誉教授 M. Bennett、C. Braschler、ME Bredahl、T. Brown、J. Dauve、BJ Deaton、G. Devino、J. Findeis、GA Grimes、C. Headley、NA Hein、JE Ikerd、V. Jacobs、N. Kalaitzandonakes、MS Kaylen、T. Johnson、SF马修斯、WH 迈耶斯、DD 奥斯本、R. 普莱恩、AA 普拉托、VJ 罗兹、K. 施内伯格、JI 斯托尔曼、DL 范戴恩、PF 沃肯、H. 威廉姆森 Jr.、AW 沃马克
1.Linux 基金会和 OpenSSF,“开源软件安全动员计划”,白皮书,2022 年,第 3 页。2.ANSSI 和 CEA,“ANSSI 和 CEA 加强网络安全合作”,新闻通讯,2022 年 6 月 29 日,网址:www.ssi.gouv.fr。3.有必要证明“开源”一词的选择是合理的,并将其与“自由软件”一词区分开来。自由软件基于自由软件基金会的 Richard Stallman 在 1980 年代后期定义的四项自由:运行程序的自由、研究程序如何运行的自由、重新分发副本的自由(免费或付费)、改进的自由以及共享副本的自由。通过开源开发的软件通常满足“自由”软件的要求,反之亦然;事实上,人们经常提到“自由和开源软件”。但是,开源是指一种开发软件的方式,而不是一种许可证,因为大多数专有软件中都有开源组件。在本研究中,我们更喜欢使用“开源”一词,它不加区分地指代软件或其组件。4.摘要,“2022 年开源安全和风险分析报告”,2022 年 4 月; K. Szulik,“开源无处不在:调查结果”,Tidelift,2018 年 4 月 12 日,网址:https://blog.tidelift.com;T. Herr,“应对 Log4Shell 漏洞并从中吸取教训”,向美国参议院国土安全和政府事务委员会作证,2022 年 2 月 8 日。5.D. Nalley,“应对 Log4Shell 漏洞并从中吸取教训”,向美国参议院国土安全和政府事务委员会作证,2022 年 2 月 8 日。
要求出版商授予500,000多本书的访问权限。操作系统(OS),例如计算机的大脑,都可以管理资源,包括中央处理单元(CPU),内存,存储,输入/输出设备和网络连接。与其他程序不同,OS连续运行,直到关闭计算机为止,从而有效地在任务之间分配了资源。现代系统允许多个过程同时运行,每个过程都有自己的“线程”计算。时间共享技术使许多用户可以通过迅速在之间共享计算机访问。这需要仔细的控制和虚拟内存,以防止程序相互干预。现代操作系统最微妙的任务是分配CPU;在放弃控制之前,每个过程的时间有限,直到下一个回合。第一台数字计算机一次没有操作系统,一次运行一个程序,但是早期的主管程序在1950年代中期提供了基本的I/O操作和多编程功能。在1960年代出现了CTSS,达特茅斯学院基本系统,Atlas和IBM的OS/360,在1972年以后,使用了通用电气公司的GE 645 Computer和Honeywell Inc.的计算机,在1972年后变得更加复杂,具有多编程和时间共享功能。在1970年代,操作系统受到计算机内存能力受限的限制,这些计算机需要较小的操作系统。在此期间,UNIX作为一个关键操作系统出现,该系统由AT&T开发,用于大型微型计算机,作为更精简的多技术替代方案。2。3。它在1980年代的广泛采用可以归因于其可用性,这是无需代表大学及其设计的,该公司融合了一套熟练的程序员可以访问的强大工具。最近,Linux是UNIX的开源变体,在个人计算机和更大的系统上都广受欢迎,这在一定程度上要归功于Linus Torvalds和Richard Stallman的贡献。除了通用操作系统之外,特殊用途系统可用于监督装配线,飞机和家用电器的小型计算机,其特征是它们对传感器输入和机械控制的实时响应。操作系统的开发也已扩展到智能手机和平板电脑等移动设备,其中包括Apple的iOS和Google Android在内的示例。从用户或应用程序的角度来看,操作系统提供了一系列服务,涵盖简单的用户命令和低级系统调用,可促进与硬件组件进行交互的。当代的个人计算机操作系统通常具有图形用户界面(GUI),它可能是系统不可或缺的或作为单独的程序层运行的。此外,这些系统还提供网络服务,文件共享功能以及不同的系统之间的资源共享,由TCP/IP(例如TCP/IP)启用。本质上,操作系统是计算机用户和硬件之间的中介,为有效且方便的程序执行提供了一个环境。操作系统的历史反映了持续的进化,多年来发生了重大发展。4。它同时管理计算机硬件和软件,以确保在各个程序中正确分配内存,处理器和输入/输出设备等资源。操作系统及其关键特征的演变**表:OS的历史** |时代|关键发展| | --- | --- | | 1956年| gn-naa i/o(属;电动机)| | 1960年代| IBM的时间共享系统(TSS/360,OS/360,DOS/360)| | 1970年代| UNIX和CP/M出现,普及简单性和多任务处理| | 1980年代|基于GUI的OSS增益牵引力,Apple Macintosh(1984)和Windows(1985)| | 1990年代|开源Linux出现了,Windows和Mac OS的GUI改进| | 2000年代至上|移动OSS主导,iOS(2007)和Android(2008),推进云和虚拟化技术| **操作系统的特征**1。**设备管理**:操作系统管理设备,分配资源。**文件管理**:它分配和交易列出了资源,确定谁可以访问。**工作会计**:跟踪各种作业或用户使用的时间和资源。**错误检测AIDS **:包含用于调试和错误检测的方法。5。**内存管理**:管理主要内存,分配和交易资源。6。**处理器管理**:将处理器的时间分配到流程。7。**控制系统性能**:服务请求和系统响应之间的记录延迟。8。**安全**:防止使用密码或保护技术未经授权访问。9。**便利**:使计算机更方便使用。10。**效率**:允许有效利用计算机资源。**通用操作系统列表**1。** Windows OS ** *开发人员:Microsoft *密钥功能:用户友好的接口,软件兼容性,硬件支持,强大的游戏支持 *优点:易于使用,广泛的第三方应用程序支持,频繁更新和支持2.** macos ** *开发人员:Apple *关键功能:光滑的用户界面,与其他Apple产品集成,强大的安全功能,高性能和稳定性 *优点:针对Apple硬件进行了优化,跨越Apple Ecosystem的无缝体验,优越的图形和多媒体功能3。** Linux ***开发人员:社区驱动的操作系统具有高度可定制的,并且具有各种分布(例如Ubuntu,Ubuntu,Fedora,Debian),可满足不同的需求。一些关键功能包括稳健的安全性和稳定性,适用于旧硬件的轻量级设计以及大量发行版。主要优势之一是在社区支持的强烈支持下自由使用和分发。这使其适用于服务器,开发环境和个人计算。UNIX开发人员最初来自AT&T Bell Labs,但现在可以使用各种商业和开源版本。关键功能包括多任务和多任务功能,功能强大的命令行界面以及跨不同硬件平台的便携性。优点包括可靠的性能,适用于高性能计算和服务器以及对网络的广泛支持。这包括资源分配和交易,以减少系统的负载。操作系统同时访问系统时,通过担任资源管理器来有效地管理资源。其他功能包括过程管理(进程的调度和终止),存储管理(NIFS,CIFS,CFS,NFS等文件系统。),使用密码和诸如Kerberos的身份验证协议,内存管理和安全/隐私管理。一台通用计算机由硬件,操作系统,系统程序和应用程序程序组成。操作系统在各种系统程序和应用程序中为多个用户协调硬件的使用,从而为其他程序提供有效工作的环境提供了有效的工作。它管理简单的任务,例如输入识别,文件管理,输出显示和外围控制。操作系统的分层设计显示了它如何与扩展机器交互,提供了诸如上下文保存,派遣,交换和I/O启动之类的操作。操作系统由多层组成,顶层是操作系统本身,下层提供了称为扩展机器的抽象。这种分离通过将算法与实现隔离来简化编码和测试。与整体OS相比,在分层结构中测试,调试和修改OS模块更容易。通过操作系统执行几个任务,包括用户和任务之间的资源分配,为程序员提供接口,创建和修改程序以及处理输入/输出操作。编译器一次性制作机器代码,而口译员则按线进行此行。操作系统管理I/O的流量控制器,设备处理程序,内存管理组件和特定硬件设备的驱动程序。高级语言,例如C,C ++,Java,Python等,由编译器或口译员处理,这些语言将代码转换为机器语言。加载程序通过加载,重新定位并将其链接到内存来准备对象程序进行执行。高级语言的示例包括C,Fortran,Cobol,C ++,Rust和Go,它们是编译语言的,而解释的语言(如Java,Python等)要求解释器将代码转换为机器语言。加载程序可以是绝对的,重新定位或直接链接的,通过将其加载到内存中来准备对象程序进行执行。在辅助设备上和加载程序上的程序的机器语言翻译将其置于核心中。加载程序将控件传输到用户程序的机器语言版本,与汇编器相比,由于其尺寸较小,因此可提供更多的核心。操作系统有两个基本组件:Shell和内核。Shell处理与用户的交互,管理用户的输入并解释OS的输出。它提供了用户和OS之间的更好的通信。内核是一个核心组件,可作为操作系统和硬件之间的接口。它控制系统呼叫,管理I/O,内存和应用程序。有四种类型的内核:整体,微核,混合和外壳。32位操作系统需要32位处理器,并提供低效的性能,与64位OSS相比,管理更少的数据。相比之下,64位操作系统可以在任何处理器上运行,从而提供高效的性能,并具有存储大量数据的能力。操作系统的基本目标是:有效利用资源,用户便利性和不干预。操作系统必须确保有效利用计算机资源,例如内存,CPU和I/O设备,同时还提供了使用系统并防止干扰用户活动的方便方法。多年来,计算中用户便利性的概念已经显着发展。最初,具有执行用高级语言编写的程序的能力被认为是足够的,但是要求更好的服务导致了更快的响应时间和更高级的接口的发展。引入图形用户界面(GUIS)带来了新的可访问性水平,使用户可以使用图标和菜单等视觉提示与计算机进行交互。随着计算变得越来越普遍,需要更简单的接口,从而使非技术用户能够利用计算机的功能。GUIS的演变可以比作20世纪初期的汽车驾驶技能的传播,那里的专业知识变得越来越少,随着时间的推移更加容易获得。但是,操作系统(OS)也提出挑战,例如其他用户或恶意参与者的干扰,这些挑战可能会破坏计算活动。OS在管理数据,有效地利用计算机硬件,维持安全性和确保平稳的应用程序性能中起着至关重要的作用。运行系统可能会给用户带来许多挑战。尽管有好处,但OS还是很复杂,维护昂贵,并且容易受到黑客入侵的影响。随着各种操作系统的扩散,包括Windows,MacOS,Linux,Android和iOS,用户必须选择适合其特定需求的操作系统。随着技术的进步,OS将继续在管理安全和增强用户体验等任务中发挥至关重要的作用。最终,OS充当用户和系统硬件之间的中介,实现了无缝的计算体验。这是下面列出的某些类型的操作系统。操作系统是任何计算机系统的关键组成部分,其缺失使系统无功能。作为用户与硬件之间的接口,操作系统可确保无缝的系统操作。结构良好的操作系统应以用户为中心,即使知识有限的人也可以轻松地导航和使用它。在计算术语中,一个过程是指包含程序代码及其操作的计算机实例。这可以包括在系统内运行的单线读取或多线程进程。