linus Torvalds写的第一篇关于linux的文章
- 格式:doc
- 大小:54.00 KB
- 文档页数:8
linux操作系统实验报告Linux操作系统实验报告一、引言Linux操作系统是一种开源的、免费的操作系统,其内核由Linus Torvalds于1991年首次发布。
Linux操作系统具有稳定性高、安全性强、灵活性大等优点,因此在互联网、服务器、嵌入式系统等领域得到广泛应用。
本实验报告将介绍Linux操作系统的基本特点、安装过程以及常用命令的使用。
二、Linux操作系统的基本特点1. 开源性Linux操作系统的内核及相关软件源代码对用户开放,任何人都可以查看、修改和分发。
这使得Linux操作系统具有高度的透明度和可定制性,用户可以根据自己的需求进行定制和优化。
2. 多用户、多任务Linux操作系统支持多用户同时登录,并且可以同时运行多个任务。
这使得多个用户可以在同一台计算机上独立地进行工作,提高了计算机的利用率。
3. 稳定性和安全性Linux操作系统具有良好的稳定性和安全性。
由于其内核的设计和实现方式,Linux操作系统可以长时间运行而不会出现系统崩溃或死机的情况。
同时,Linux操作系统提供了丰富的安全机制,如文件权限控制、用户身份验证等,可以有效保护系统和用户的数据安全。
三、Linux操作系统的安装过程1. 准备安装介质在安装Linux操作系统之前,需要准备一个可启动的安装介质,如光盘或USB闪存驱动器。
这些介质可以从Linux官方网站或其他可信渠道下载。
2. 进入安装界面将安装介质插入计算机,并按下开机键启动计算机。
在启动过程中,选择从安装介质启动。
随后,将进入Linux操作系统的安装界面。
3. 设置安装选项在安装界面中,可以设置安装选项,如语言、时区、键盘布局等。
根据实际需要进行选择和设置。
4. 分区和格式化磁盘在安装界面中,可以对硬盘进行分区和格式化操作。
根据实际需求,可以选择使用整个硬盘或者将硬盘分为多个分区。
5. 安装系统在分区和格式化完成后,可以开始安装Linux操作系统。
根据安装界面的提示,选择安装位置和安装选项,然后等待安装过程完成。
Linux发展历史Linux的前⾝Unix,Unix⼤约在1970年代就是⼀个相对稳定⽽且成熟的作业系统存在Linux的发展历程:1、1969年以前,Bell(贝尔)、MIT(⿇省理⼯)、GE(奇异)的Multics系统1960年代初MIT发明了《相容分时系统(Compatible Time-Sharing System,CTSS)》,让⼤型的主机通过提供数个终端机(Terminal)连接进⼊主机进⾏运算⼯作,架构如下:注:中能使⽤终端机进⾏输⼊输出的作业,本⾝不具备任何运算或软件的能⼒,⽐较先进的主机也只能提供30个不到的Terminal。
1965年,Bell实验室、MIT、GE共同发起Multis计划,主要⽬的:让⼤型主机可以提供300个以上的terminal终端机连接。
1969年,项⽬进度落后,资⾦短缺,Bell退出了Multis计划,但是最后Multis还是完成了,但是不被重视。
2、1969年:ken Thomson的⼩型file server system为了⾃⼰的需要,开发⼀个作业系统,最终以组合语⾔(Assembler)写出了⼀组核⼼程序、核⼼⼯具程式、⼩的档案系统,这就是Unix原型,主要讲Multis庞⼤的复杂系统简化了不少,将这个Unix原型系统称为:Unics。
3、1973 年:Unix 的正式诞⽣,Ritchie等⼈以C 语⾔写出第⼀个正式Unix核⼼Thompson写的那个作业系统实在太好⽤了,所以在贝尔实验室内部⼴为流传,但是因为Unics本来是以组合语⾔写成,组合语⾔具有专⼀性,加上当时的机器都不太相同,所以每次要安装到不同的机器都得要重新编写组合语⾔。
Ritchie合作想将Unics改以⾼阶程式语⾔来撰写。
当时现成的⾼阶程式语⾔有B 语⾔。
但是由B语⾔所编译出来的核⼼效能不是很好。
后来Dennis Ritchie将B语⾔重新改写成C语⾔,再以C语⾔重新改写与编译Unics的核⼼,最后正名与发⾏出Unix的正式版本!4、1977 年:重要的Unix 分⽀:BSD 的诞⽣1973年以后,Unix便得以与学术界合作开发!最重要的接触就是与加州柏克莱(Berkeley)⼤学,柏克莱⼤学的Bill Joy在取得了Unix的核⼼原始码后,着⼿修改成适合⾃⼰机器的版本,并且同时增加了很多⼯具软体与编译程式,最终将它命名为Berkeley Software Distribution (BSD)5、1979 年:⼀个措⼿不及的版权宣告AT&T由于商业的考量,以及在当时现实环境下的思考,于是将想Unix的版权收回去,因此,AT&T在1979年发⾏的第七版Unix 中,特别提到了『不可对学⽣提供原始码』的严格限制(贝尔属于AT&T)6、1984 年之⼀:x86架构的Minix诞⽣,Minix(Mini Unix)既然1979 年的Unix 第七版可以在Intel的x86架构上⾯进⾏移植,意味着可以将Unix改写并移植到x86,于是Andrew Tanenbaum(谭宁邦)教授在1984年开⾃⼰动⼿写了Minix 这个Unix Like 的核⼼程式,1986年终于完成。
关于黑客故事的作文英语英文回答:Hackers are often portrayed as enigmatic figures in popular culture, but their motivations and methods are often misunderstood. True hackers are not malicious criminals, but rather curious and passionate individuals who enjoy exploring the complexities of computer systems. They are driven by a desire to learn, innovate, and push the boundaries of technology.While some hackers may engage in illegal activities, such as hacking into computer networks or stealing data, the vast majority are simply curious explorers who are fascinated by the inner workings of computers. They are often self-taught and possess a deep understanding of computer programming and systems.One of the most common misconceptions about hackers is that they are all criminals. This is simply not true. Whilesome hackers may engage in illegal activities, the vast majority are simply curious explorers who are fascinated by the inner workings of computers.Another common misconception is that hackers are always working alone. This is also not true. Hackers often collaborate with each other, sharing knowledge and insights in order to advance their understanding of computer systems.In reality, hackers come from all walks of life andhave a wide range of motivations. Some hackers are drivenby a desire to help others, while others are simply curious about the world around them. Whatever their motivations, hackers play an important role in the development and evolution of computer technology.Here are some examples of famous hackers who have made significant contributions to the world:Richard Stallman is a hacker who founded the Free Software Foundation and developed the GNU operating system. Stallman is a strong advocate for software freedom and hasbeen instrumental in the development of the free software movement.Linus Torvalds is a hacker who created the Linux operating system. Linux is one of the most popularoperating systems in the world and is used by millions of people around the globe.Tim Berners-Lee is a hacker who invented the WorldWide Web. The World Wide Web has revolutionized the way we communicate and share information.中文回答:关于黑客的刻板印象往往是神秘莫测的,但他们的动机和方法却常常被误解。
林纳斯·托瓦兹(Linus Torvalds)是一位计算机科学家和开源软件的倡导者,以创建Linux操作系统而闻名于世。
托瓦兹于1969年出生于芬兰,他在年轻时就对计算机和编程产生了浓厚的兴趣。
尽管他的家庭并不富裕,但他通过奖学金和零用钱拼凑出了购买一台昂贵电脑的资金。
这台电脑成为了他创造Linux的起点。
1991年,托瓦兹出于对MS-DOS和MINIX的不满,决定从头开始制作自己的UNIX复制品。
他利用自己的编程技能,创造出了Linux操作系统的雏形。
Linux 最初是为了满足托瓦兹自己的需求而开发的,但随着时间的推移,它逐渐吸引了来自全球的开发者们的关注和贡献。
托瓦兹将Linux加入了GNU计划(自由软件集体协作计划),并宣布这款操作系统完全免费,可以销售、改动程序,但必须将同样的自由传递下去,并免费公开修改后的代码。
这一举措激发了无数开发者的热情,他们为Linux增补、修改代码,推动了开源运动的自由主义精神。
随着时间的推移,Linux逐渐成长为全球最受欢迎的开源操作系统之一,广泛应用于各个行业的后端设备。
托瓦兹也因此成为了开源软件的代表人物之一。
尽管托瓦兹在Linux项目中扮演着重要角色,但他并不喜欢过多地参与项目的日常管理工作。
相反,他更倾向于专注于自己的编程工作,并在必要时为项目提供指导和支持。
托瓦兹的个性和直率也让他在开源社区中备受关注。
他有时会发表一些引起争议的言论,比如对C++的批评,但这些言论也反映了他对编程和开源软件的热爱和执着。
总的来说,林纳斯·托瓦兹的故事是一个充满激情、创造力和自由的故事。
他通过自己的努力和才华,创造了一个影响世界的开源操作系统,并推动了开源软件运动的发展。
linux版本发展史Linux是一种自由、开放源代码的操作系统,最早的Linux版本发展可以追溯到1991年,这一年,芬兰的一位程序员Linus Torvalds开始将他的程序公开发布,从此,Linux进入了一个长久的发展历程。
1991年第一个Linux版本发布:Linux 0.011991年,Linus Torvalds在Helsinki University开始开发出Linux,并在同年9月份发布了第一个版本Linux 0.01。
这个版本具有非常小的内核,只有10个文件,能够支持8086处理器,并能够在AT机上运行。
1992年:进入GNU计划并发布版本0.121992年初,Linus加入了Richard Stallman领导的GNU计划,开始把Linux与GNU项目合并,从而成为自由软件的象征之一。
同年8月,Linus Torvalds发布了Linux 0.12版本,这个版本增加了对386处理器的支持,同时还添加了对多个tty的支持。
1993年:采用了GPL1993年,Linus Torvalds决定将Linux采用GNU通用公共许可证(GPL),这意味着Linux源代码可以免费使用和分发,并允许其他人对其进行修改和分发。
这个决定使得Linux成为了一种可持续、稳定的项目。
1994年3月,Linux 1.0版本正式发布。
这个版本带来了很多改进,例如支持了网络协议等,并在台式机和服务器上得到了广泛应用。
此外,这个版本也诞生了很多开源社区,例如Linux User Group(LUG)等。
1996年:X Window系统集成1996年,Linux开始集成X Window系统,这使得Linux操作系统有了一个漂亮的图形化界面,大大提升了用户体验。
1998年:Red Hat和Debian诞生1998年,Red Hat和Debian分别成立,并开始提供Linux服务器和桌面操作系统等,这标志着Linux开始向商业化、专业化方向发展,并且Linux的安全性和稳定性也得到了极大的提升。
第一代linux代码
首先,让我们回顾一下Linux的起源和发展历程。
Linux操作系统的代码最早是由芬兰计算机科学家Linus Torvalds在1991年编写的。
此时,他只是希望能够在自己的个人计算机上运行一个类UNIX操作系统。
因此,他基于Minix操作系统的源代码进行了修改和扩展,最终诞生了第一代Linux代码。
第一代Linux代码的发布并不具备完整的功能,也没有经过广泛的测试。
然而,正是这个初步版本奠定了Linux操作系统的基础,为后续版本的发展铺平了道路。
第一代Linux代码的开发主要集中在核心系统和基本组件上。
它包括了操作系统内核和一些基本的工具和驱动程序。
这些代码是以C语言编写的,并且遵循开源软件的哲学,允许用户自由地使用、修改和分发。
第一代Linux代码采用了分布式开发模式,即许多人参与其中,每个人都可以贡献自己的代码或改进。
这种开放的开发模式为Linux的快速发展提供了良好的基础,并吸引了越来越多的开发者和用户加入其中。
随着时间的推移,Linux的代码库逐渐壮大,并吸引了全球范围内的开发者社区。
不断的改进和完善使得Linux操作系统逐渐成为一个强大而稳定的选择,被广泛应用于各种领域,从个人计算机到服务器、嵌入式系统和超级计算机等。
总结起来,第一代Linux代码是Linus Torvalds在1991年编写的初步版本,它为Linux操作系统的发展奠定了基础,并引领了开源软件的发展潮流。
这个简单的代码开始了Linux的传奇之路,让我们今天能够享受到一个功能强大、灵活可定制的操作系统。
第1章Linux系统概述和安装Linux系统是一种类UNIX的完整操作系统。
它不仅功能强大、运行稳定,而且用户可免费使用,分析其源代码。
Linux系统支持x86、ARM等大多数常见硬件架构和TCP/IP 等主流网络协议,有良好的跨平台性能,应用面极其广阔。
本章将介绍Linux系统的基本概念,并演示如何安装一套带有X Window图形操作界面的Linux系统发布版。
1.1 引言计算机系统由硬件系统和软件系统所组成,软件系统中最为重要的是操作系统。
Linux 作为操作系统管理着计算机内所有的硬件资源和软件资源,仿佛是计算机的灵魂。
Linux 系统基于GPL协议发布,该协议是GNU项目所创立开放源代码的公共许可证。
要理解Linux系统并以一种全新的方式开发和发布软件,首先则需要了解GNU项目和Linux系统的渊源。
1.1.1 GNU项目简介GNU项目在1983年由理查德·斯托曼(Richard Stallman)创立,最初的目标是通过使用必要的工具从源代码开始创建一个自由的类UNIX操作系统。
此前的软件均以源代码的形式发布,用户可以根据自己需要修改源代码。
但自从那时起,软件厂商为了保护自己的商业利益,开始使用编译所得的二进制文件发布软件,从而使软件的源代码变为“商业秘密”。
为了改变当时不利于软件技术发展的格局,GNU项目花了十余年时间创建了GCC编译器、Emacs编辑器等多个工具。
所有的工具以源代码形式发布,并且无需支付任何费用,只是这些工具的改进版本和衍生品必须遵循同样的发布形式,这就形成了GPL协议。
但它在20世纪80年代缺少了一个最关键的组件,即操作系统核心,直到Linux系统的诞生。
GNU项目组织结构如图1.1所示。
1.1.2 Linux起源安德鲁·塔能鲍姆(Andrew Tanenbaum)出于教学目的编写了名为Minix的类UNIX 操作系统。
芬兰赫尔辛基大学在读的学生林纳斯·托瓦兹(Linus Torvalds)认为Minix有许多地方不合理,于是开始为自己AT 386微机设计新的操作系统核心。
Linux操作系统的发展历程Linux操作系统是一个基于UNIX操作系统内核的自由软件。
它的发展历程可以追溯到20世纪90年代初。
1. 诞生与发展初期:Linux操作系统的诞生可以追溯到1991年,当时芬兰大学生Linus Torvalds开发了一个基于Minix操作系统内核的原型。
他发布了这个原型的代码,并邀请其他开发者一同参与,这标志着Linux的开始。
在此后的几年里,Linux社区不断扩大,开发者们致力于不断改进和完善Linux操作系统。
2. 核心技术的发展:Linux操作系统的发展受益于一些重要的核心技术的引入和发展。
其中最重要的是Linux在1992年采纳了GNU项目的代码,形成了GNU/Linux操作系统。
GNU是一个自由软件运动,将自由软件的理念融入操作系统开发。
此外,Linux还采用了虚拟内存管理、多任务处理和多用户支持等关键技术,使得其在功能和性能上得以大幅提升。
3. 商业应用与市场影响:Linux操作系统在商业应用领域的发展也逐渐受到关注。
随着大型企业开始使用Linux作为服务器操作系统,并且许多公司开始提供相关的技术支持和服务,Linux逐渐在商业市场站稳脚跟。
此外,开源模式的采用使得企业可以根据自身需求对Linux进行定制和优化,进一步增加了Linux操作系统的商业竞争力。
4. Linux在移动设备和嵌入式系统的应用:随着智能手机和其他移动设备的盛行,Linux操作系统也逐渐应用于这些设备中。
与此同时,Linux在嵌入式系统领域的应用也在不断增加。
由于Linux的灵活性和开放性,它成为了移动设备和嵌入式系统的首选操作系统之一。
例如,Android系统就是基于Linux内核开发的。
5. 社区发展与开源文化:Linux操作系统的发展得益于庞大而活跃的开源社区。
开发者和用户能够共同参与到Linux的开发与改进中,并且分享他们的贡献和经验。
这种开源文化的发展促进了Linux操作系统的创新和稳定性,使得Linux能够持续不断地迭代和演进。
《《嵌入式Linux开发》》一、嵌入式Linux开发的历程Linux操作系统是由Linus Torvalds在1991年开发的,从最初的个人项目到现在的开源操作系统它的发展历程充满着波折和机遇。
随着Linux操作系统的普及和应用场景的增多,人们发现Linux操作系统在嵌入式系统领域也有着广泛的应用。
在过去,嵌入式系统采用的是实时操作系统(Real-Time Operating System,RTOS)进行开发,它的硬实时性和精实时性需求比较高,但是应对不了复杂的嵌入式应用场景,而Linux操作系统因为有着资源丰富、标准化、安全稳定等优点,迎合了嵌入式应用领域的要求,成为了主流的嵌入式开发操作系统。
经过了多年的发展,如今的嵌入式Linux操作系统已经可以在全球各种各样的嵌入式设备中运行,如智能手机、平板电脑、智能电视、汽车导航、智能家居、工业控制和医疗设备等。
二、嵌入式Linux系统的应用现状目前,嵌入式Linux系统广泛应用在各领域,如智能家居、工业自动化、智能医疗、智能交通等领域,这些领域的需求为嵌入式Linux系统的发展和创新提供了契机。
下面,我们以智能家居为例进行探讨。
在智能家居领域中,嵌入式Linux系统能够控制家庭设备,例如:门禁系统、安全系统、灯光控制、温度控制、智能音响、智能电视等。
随着智能家居对嵌入式Linux系统硬件性能的要求越来越高,当前的开发者也必须面对越来越多的智能家居相关的技术挑战。
基于嵌入式Linux操作系统的智能家居应用必须考虑网络安全、性能稳定、实时性、硬件兼容性等方面的问题。
由于各种设备和厂商之间的差异,嵌入式Linux的代码库、驱动等需要满足这样一种通用和可定制的状态,开发人员必须根据智能家居中的特定需求进行适配和优化。
除了智能家居之外,嵌入式Linux还可以应用于医疗设备、消费电子、家电、军事、工业自动化、智能交通等领域,应用范围广泛,未来的嵌入式Linux发展可期。
linux系统发展的历史Linux是一种自由和开放源代码的操作系统。
它有着以Unix为基础的操作系统架构和设计。
Linux系统的发展可以追溯到上世纪60年代和70年代,在那个时候,在贝尔实验室和麻省理工学院等大学研究机构里,Unix操作系统首次被开发出来。
Linux诞生于20世纪90年代初,由Linus Torvalds开发。
Torvalds的初衷是为了编写一个自由且开放源代码的操作系统来代替他手头运行的Minix操作系统,因为Minix的开源许可证非常限制。
Linus Torvalds在1991年8月25号发表了Linux系统的第一个版本。
这版Linux中只有一点简单的Unix风格操纵界面和console,但它得到了广泛关注。
一些开发者认为这是一个非常有潜力和正在发展的操作系统。
Linux的发展和演变需要一个完善的内核和完整的操作系统基础。
因此,一些开发者和Linux社区开始了艰难的工作来开发必要的应用程序和工具。
这些软件包包括GNU工具、数据库软件、窗口管理器、网络协议和驱动程序等等。
这些工具的开发和改进使得Linux 系统不断发展成为了一种更加完善、功能更加强大的操作系统。
在20世纪90年代后期,Linux的获得了大量企业的支持。
这个时候许多公司开始向Linux操作系统领域投入资源,对Linux操作系统进行了定制化和开发。
许多公司在他们的产品中使用了Linux操作系统,如IBM的WebSphere、SAP的R/3和Oracle的数据库。
受到这些公司的广泛关注,Linux操作系统得到了更加稳定的技术支持,也进一步促进了它的快速发展。
Linux的许多发展仍然是由开发者和一些专业公司的支持来推动的。
为支持Linux平台的开发,一些专业公司的全球化组织已经成立,如Red Hat、SuSE、Novell和Ubuntu。
这些公司提供研究、开发、支持和培训方面的支持,这也使得Linux操作系统成为一个真正的企业级操作系统。
Linux历史与发展、未来1.什么是LinuxLinux是一个诞生于网络、成长于网络且成熟于网络的奇特的操作系统。
1991年,芬兰大学生Linus Torvalds萌发了开发一个自由的UNIX操作系统的想法,当年,Linux就诞生了,为了不让这个羽翼未丰的操作系统夭折,Linus将自已的作品Linux通过Internet发布。
从此一大批知名的、不知名的电脑、编程人员加入到开发过程中来,Linux逐渐成长起来。
Linux一开始是要求所有的源码必须公开,并且任何人均不得从Linux交易中获利。
然而这种纯粹的自由软件的理想对于Linux的普及和发展是不利的,于是Linux开始转向GPL,成为GNU阵营中的主要一员。
现在,Linux凭借优秀的设计,不凡的性能,加上IBM、INTEL、CA、CORE、ORACLE等国际知名企业的大力支持,市场份额逐步扩大,逐渐成为主流作系统之一。
2.什么是自由软件自1984年起,麻省理工学院开始支持"世界最后一名黑客"Richard stallman在软件开发团体中发起自由软件运动,从而自由软件基金会FSF、GPL协议和GNU项目就此诞生,掀开了自由软件革命的序章。
GPL,通用公共许可协议,这是与传统商业软件许可协议CopyRight对立的,所以又被戏称为CopyLeft。
GPL保证任何人有共享和修改自由软件的自由。
任何人有权取得、修改和重新发布自由软件的源代码,并且规定在不增加附加费用的条件下可以得到自由软件的源代码。
同时还规定自由软件的衍生作品必须以GPL作为它重新发布的许可协议。
而GNU项目的目标是建立可自由发布的、可移植的UNIX类作系统。
3.从技术上说,Linux有什么优点1)提供了先进的网络支持:内置TCP/IP协议;2)真正意义上的多任务、多用户作系统;3)与UNIX系统在源代码级兼容,符合IEEE POSIX标准;4)核心能仿真FPU;5)支持数十种格式;6)完全运行于保护模式,充分利用了CPU性能;7)开放源代码,用户可以自己对系统进行改进;8)采用先进的内存管理机制,更加有效地利用物理内存;4.我需要学习Linux吗电脑初学者:强烈建议你远离配置、管理均相当繁琐的Linux,去拥抱Windows那通俗易懂的图形界面;文字处理者:Windows多年的发展,已经开发出了一套"所见即所得"文字处理软件,犯不着与黑底白字的vi较劲;编程爱好者:Linux的源代码完全公开,是编程爱好者的福音。
linux的起源和发展
Linux起源于1991年,由芬兰的林纳斯·托瓦兹(Linus Torvalds)创造。
他为了学习操作系统的工作原理,开始编写一个自己的操作系统内核。
他使用了Minix操作系统的部分源码,并根据自己的需要进行了修改和扩展,这就是Linux的第一个版本。
随着Linux内核的不断发展,越来越多的程序员开始加入Linux 社区,对操作系统进行改进和完善。
同时,开源软件的理念也在逐渐普及,越来越多的软件开始以开源的形式发布。
1998年,由Eric S. Raymond撰写的《大教堂与集市》把开源
软件的理念进一步推广,成为开源软件运动的里程碑。
Linux因为其完全的开源性和自由性,逐渐得到了越来越多的用户和开发者的支持。
如今,Linux被广泛应用于服务器、桌面操作系统、嵌入式系统、移动设备等领域,并且发展出了众多的发行版,如Ubuntu、Debian、Redhat等。
Linux的发展史,充分证明了开源软件的力量和价值。
- 1 -。
L INUX--a free unix-386 kernelLinus Torvalds (torvalds@kruuna.helsinki.fi)October 10, 1991Introduction to L INUXWhat is L INUX?L INUX is a free unix-like kernel for 386-AT computers, coming with full source code. It is meant for hackers/computer science students to use, learn and enjoy. It is written mostly in C, but parts of it are in gnu-format assembler, and the boot-sequence is in intel 086 assembly language. The C-code is relatively ANSI, with a few GNU enhancements (mostly __asm__ and inline).While there are a number of unices available for 386 computers, most of them cost a lot of money, and come with no source. Thus, they are ideal for actually using your computer, but if you want to learn how they work, you are f- -ked.There are also a few unices available with source. Minix, the learning tool written by Andrew S. Tanenbaum, has been used in universities as a teaching tool for years. The BSD-386 system comes with source, but has a restrictive copyright and costs a lot of money ($995 is the starting price, I think). The GNU kernel (Hurd) will be free, but is currently not ready, and will be too big to understand and learn.L INUX most closely resembles Minix, in that it is small and not very sophisticated, and thus easy (well...) to understand. L INUX was also written under Minix, so there are quite a bit of similarities, and any Minix hacker will feel relatively at home with L INUX. None of the Minix code was used in the project though, so the Minix copyright doesn't cover the new system. It also is completely free, and has a very loose copyright. Thus there is no need for megabytes of diffs like under Minix.The L INUX copyrightWhile being freely distributable, I do restrict the use of L INUX in a few ways:∙You may freely copy and redistribute the source and binaries, as long as:o complete source is available. Thus binaries may not be distributed by themselves, even if you have made changes tothem.o you do not profit from the distribution. In fact even ``handling costs'' are not acceptable.o you keep the appropriate copyrights intact.∙You may change the source to your liking, but if you distribute parts of the new system (or just binaries), all the new code must beincluded.∙You may make small excepts from the code without including copyrights. This is up to you, but a reference to me or the code would be appreciated.This should be loose enough not to cause any worry in anybody using or expanding the system. If you have a friend who really doesn't want the source, but just a working binary, you may of course give it to him without worrying whether I will sue you. Keep it between friends, though.Hardware/software needed to get L INUX runningL INUX was written on a 386-AT running Minix. As L INUX is a real operating system, and goes directly to the hardware to do things, you have to have a very similar system to get it going without problems:∙386-AT (PS/2's are different enough that things won't work) ∙VGA or EGA screen hardware.∙Standard AT hard-disk interface, IDE disks work fine (in fact that's what I use).∙Normal real-mode BIOS. Some machines seem to use virtual-86 mode to run the bootup program, and on such machines L INUX won't boot up and run correctly.While L INUX will be expanded to be a self-sufficient system, Minix-386 is currently needed to get the ball rolling. You need Minix to make the initial root file system, and to compile the OS binary. After that L INUX is a self-sufficient system, but Minix is recommended in order to make file system checking (fsck) and to recompile the system after making changes.Getting L INUXL INUX can currently be gotten by anonymous ftp from `nic.funet.fi' in the directory '/pub/OS/Linux'. This directory contains the full source to the operating system, as well as a couple of binaries so that you can actually use the system.NOTE! The binaries are mostly GNU software, and are under a stricter copyright (the GNU copyleft) than the L INUX sources. Thus you may not redistribute them without distributing their source, found in /pub/GNU. See any GNU software package for more information on the GNU copyleft.The various files found in this directory are:∙linux-0.03.tar.Z--complete source to the operating system, in a 16-bit compressed tar archive.∙Linux.tex--L A T E X source for this file.∙bash.Z--bash binary to run under L INUX. This binary should be put under tha name /bin/sh in the file system reserved for L INUX (see installation).∙update.Z--update binary, to be put in /bin/update.∙gccbin.tar.Z--GNU cc binaries needed to get a working compiler.This tarred archive contains the compiler, loader, assembler and support programs (nm, strip etc). It also contains a small library sufficient for most programs.∙include.tar.Z--include-files necessary to get gcc working.∙unistd.tar.Z--source to the unistd library routines (ie system call interface). With this you can build a bigger library by usingsystem-independent library sources.∙utilbin.tar.Z--binaries to various GNU utilities, including GNU fileutils, make and tar. Also contains the emacs-clone uemacs.∙README, RELNOTES-0.01, INSTALLATION--ascii files containing some (somewhat out-of-date) information about L INUX.The absolute minimum needed to get a system going is the OS source and the bash and update binaries. You won't be doing much with just these though.InstallationAfter you have gotten the necessary L INUX files, you need to compile the system and make a root directory. The necessary binaries need to be put in the root file system. Do this:1.Back up your software. While L INUX never has destroyed any of myfiles, nothing is certain. Better safe than sorry.2.Choose/make a standard Minix HD-partition to be the new L INUX rootfile system.3.Make the necessary device nodes on the new root. L INUX uses the sametype of nodes as Minix, so use the Minix mknod command to make the following devices:o/dev/ttyo/dev/tty[0-2]o/dev/hd[0-9]Node numbers are the same as in Minix.4.Move the necessary files to the new root partition. The files shouldbe in the following directories:o/bin:▪sh, ie bash.Z.▪updateo/usr/bin:▪Contents of utilbin.tar.Zo/usr/include:▪Contents of include.tar.Zo/usr/local/lib:▪Contents of gccbin.tar.Z, excepting gcco/usr/local/bin:▪gcc▪links to files in /usr/local/lib of your choice. I link ld, as, nm, strip and size to their counterparts in/usr/local/lib/gcc-XXX.o Edit the linux/include/linux/config.h file for your system.This file contains the system-specific information: memoryspace, disk types, root partition number (again the numberingis the same as in Minix), keyboard type (currently just USand Finnish) etc.o Compile the L INUX sources. A simple make should do the trick, after you have edited the makefiles to suit your system (ie,removed the -mstring-insns flag and changed the paths to suityou.) Users of gcc versions earlier than 1.40 will probablyhave to add gnulib to the `LIBS ='-line in the makefile.o Copy the resultant Image-file to a floppy (ie, cp Image /dev/PS0 or similar.)o Reboot with the new floppy. The startup screen should tell you that the system is booting (Loading system ...), then somevital root file system information (xxx/XXX inodes/blocksfree), followed by a Ok. and the bash prompt (initially bash#if you have no .bashrc file).Hopefully you now have a functioning unix, and you are logged in as root. L INUX currently has no 'init' process, and as soon as you log out, the system will sync and just wait. Use thethree-finger-salute to reboot your machine.Things missing/incomplete in L INUXWhile L INUX is meant to be a fully selfsufficient kernel, this is currently not the case. As already mentioned, you need Minix to set things up, and to check the file system once it's running. There are a number of other deficiencies:∙Incomplete hardware-support. Some of the standard features of an AT are not currently supported. Most notably are floppy disk drives, making using L INUX for real work (backing up etc) currently notpossible. Also some of the features of the serial lines aren't yet implemented (hard-wired to 2400bps, no hang-up notification etc).∙Incomplete standard C library. The libc.a found in the gcc distribution package is not complete, and I'm very much interested in freely distributable library functions.∙Some of the system calls are not fully implemented. This concerns mostly ``seldom-used'' features like debugging (yeah, who needs it anyway, don't all your programs work the first time :-) and some other features.∙As mentioned, no login and init processes. Currently L INUX boots up in single-user mode, with the root as console-user. This isenough for some porting work, but not really practical.∙387-support is not yet implemented, although some skeleton routines are present. The gcc-binary found on `nic.funet.fi' will correctly use soft-float (ie emulation function calls) for the four basic math operations. 387-support will materialize as soon as a 387 finds its way into my computer. Hopefully in a month or two.∙None of the important system-administration commands has yet been written for L INUX. These include things like mkfs, format, fsck, mknod etc. Some of these need kernel features not yet implemented (format, mknod), some just need to be written. As with the library, I'd welcome any freely distributable files.As you can see, L INUX is as yet not a complete system. Your help is appreciated to make it better. I'm not interested in Minix-commands rewritten for L INUX, unless you have written them yourself from scratch.You are of course free (and encouraged) to use everything you have in your Minix-distribution for your own L INUX-system, but due to the Minix copyrights, they cannot be distributed to a wider audience.Some of the probelms mentioned here will be fixed by me (ie serial lines/387/floppy support) as soon as possible, but I'm hoping to get help with the libraries etc. Bug-reports/patches and wish-lists will be appreciated, and if you actually have the patch to the problem, I'll try to implement it right away. Small changes will be sent out as patches to the mailing list and be set up on `nic.funet.fi', but after heavy rewrites or bigger patches, the whole system will be updated at `nic.funet.fi'.Porting software for L INUXL INUX was designed to make porting relatively easy. Thus the full termios-implementation, and the somewhat POSIX library. The (admittedly relativly few) programs I've ported posed no problems.Even though L INUX resembles Minix a great deal, Minix programs are not generally easier to port than programs designed for some other unix. Thus I wouldn't recommend starting from a Minix-version of a particular program, but instead trying to port the ``virgin'' program from scratch. Being closer to SYSV than BSD means that most programs port easily when given a -DUSG or -DSYSV flag.One of the more difficult problem in porting can be missing library functions. These must be written by you, or copied from some other source (Minix being one possibility for those that have it). Alternatively, some programs (notably GNU) have various flags making it possible to define which functions aren't available (the GNU fileutils will compile quite nicely, once a sufficient number of -DXXX_MISSING flags are added to the Makefile.)Programs already portedThese programs have already been ported to L INUX:∙GNU cc (gcc, cc1, cpp)∙GNU assembler (as386)∙GNU binutils (ld, ar, nm, size, strip, ranlib)∙GNU compress (16-bit)∙GNU tar∙GNU make∙GNU bash (Bourne Again SHell)∙GNU sed∙GNU bison (yacc-lookalike)∙GNU awk∙GNU fileutils (ls, cp, rm, mkdir, rmdir, tail etc)∙less∙uemacsAll of the above sources can be found on `nic.funet.fi' (mostly in`/pub/gnu'), and most of the L INUX-binaries can be found in the directory '/pub/OS/Linux'. All of these programs compiled without changes, even though gcc (cc1) has some enhancements of my own. Mail me for diffs/sources, but try first to compile them yourself.Additionally I have reports that GNU diff compiles cleanly and works. Technical helpL INUX currently has a mailing-list, which you can subscribe to by mailing to the address: Linux-activists-request@niksula.hut.fi and asking to be included into the list. You can then ask questions by mailing them to Linux-activists@niksula.hut.fi, which will duplicate yourquestion/answer/whatever and send them to all persons on the list.Note the difference between Linux-activists and Linux-activists-request -- the first sends mail to all persons on the list, the second is used only to subscribe and unsubscribe from the list.Naturally, you can also mail me directly at torvalds@kruuna.helsinki.fi. I'll try to answer all questions within a day or two.Although `nic.funet.fi' will probably be kept reasonably up-to-date, there are a few problems with it (ie, I cannot personally get to the files, but have to go through a couple of persons). Thus people on the mailing-list will get patches/binaries faster if they ask for them.ThanksI'd like to thank the academy ...Seriously, this system never would have seen the light of day or would have been much worse without the help of some others. Bruce Evans helped me find the places needed to be changed in order for gcc to correctly handlefloating point, and came with a lot of useful ideas/suggestions (and his Minix-386 was used to build the system). Also, Earl Chew's estdio package was used for the standard IO-library. More freely distributable packages like this!Alain W Black and Richard Tobin made the gcc for Minix, without which I couldn't have compiled the thing. GNU made most of the programs I use under L INUX. Alfred Leung sent the US keyboard patches.PS. ``Thanks'' to wirzeniu@kruuna.helsinki.fi for his ``constructive'' criticism and ``witty'' comments. He was also my first -tester, and should be given a medal for courage.About this document ...L INUX--a free unix-386 kernelThis document was generated using the LaTeX2HTML translator Version 2002 (1.62)Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.The command line arguments were:latex2html -local_icons -address gohigh@ -split 1 Linux.texThe translation was initiated by root on 2004-05-08。