+ All Categories
Home > Documents > Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar...

Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar...

Date post: 17-Jun-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
22
Linux Introduc-on Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Simon COTER Principal Product Manager Oracle VM & VirtualBox [email protected] hOps://blogs.oracle.com/scoter November 25 th , 2015
Transcript
Page 1: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

LinuxIntroduc-on

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

SimonCOTERPrincipalProductManagerOracleVM&[email protected]

hOps://blogs.oracle.com/scoterNovember25th,2015

Page 2: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

SafeHarborStatementThefollowingisintendedtooutlineourgeneralproductdirec-on.Itisintendedforinforma-onpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfunc-onality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,and-mingofanyfeaturesorfunc-onalitydescribedforOracle’sproductsremainsatthesolediscre-onofOracle.

2

Page 3: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

BeforeLinux

•  In80’s,MicrosoY’sDOSwasthedominatedOSforPC•  AppleMACwasbeOer,butexpensive

•  UNIXwasmuchbeOer,butmuch,muchmoreexpensive.Onlyforminicomputerforcommercialapplica-ons

•  PeoplewaslookingforaUNIXbasedsystem,whichischeaperandcanrunonPC

•  BothDOS,MACandUNIXwereproprietary,i.e.,thesourcecodeoftheirkernelisprotected

•  Nomodifica-onispossiblewithoutpaying

Page 4: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

GNUproject

Establishedin1984byRichardStallman,whobelievesthatsoYwareshouldbefreefromrestric-onsagainstcopyingormodifica-oninordertomakebeOerandefficientcomputerprograms

GNUisarecursiveacronymfor“GNU'sNotUnix”AimatdevelopingacompleteUnix-likeopera-ngsystemwhichisfreeforcopyingandmodifica-onCompaniesmaketheirmoneybymaintaininganddistribu-ngthesoYware,e.g.op-mallypackagingthesoYwarewithdifferenttools(Redhat,Slackware,Mandrake,SuSE,etc)StallmanbuiltthefirstfreeGNUCCompilerin1991.Buts-ll,anOSwasyettobedeveloped

Page 5: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

BeginningofLinux

•  AfamousprofessorAndrewTanenbaumdevelopedMinix,asimplifiedversionofUNIXthatrunsonPC

•  Minixisforclassteachingonly.Nointen-onforcommercialuse•  InSept1991,LinusTorvalds,asecondyearstudentofComputerScienceattheUniversityofHelsinki,developedthepreliminarykernelofLinux,knownasLinuxversion0.0.1

Page 6: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

MessagefromProfessorAndrewTanenbaum"Is%llmaintainthepointthatdesigningamonolithickernelin1991isafundamentalerror.Bethankfulyouarenotmystudent.Youwouldnotgetahighgradeforsuchadesign:-)“

(AndrewTanenbaumtoLinusTorvalds)

SoonmorethanahundredpeoplejoinedtheLinuxcamp.Thenthousands.ThenhundredsofthousandsItwaslicensedunderGNUGeneralPublicLicense,thusensuringthatthesourcecodeswillbefreeforalltocopy,studyandtochange.

Page 7: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

Whatis“Linux”?•  “Opera-ngSystem”meansthesumofkernelanduser-spacetools,like:

– Librerie(glibc,...)‏– Shells(sh,ksh,bash,csh,tcsh,zsh,...)‏– coreu-li-es(ls,cat,find,tar,df,...)‏– compilatori(gcc,icc)‏

•  LinuxKernelmanagesthehardwareinterface(CPU,MMU,I/O)foruserprocess

•  “Linux”istheonlyKernel(UNIXbased)evenifusuallywerecognizetheen-reOpera-ngSystem

Page 8: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

KernelLinux:thebirth

•  Linuxwasbornin1991asapersonaluniversityprojectfromLinux(Benedict)TorvaldsbecausehethinksthatMinix(16-bitmicrokernel)isnotadequatefori386systems.

•  1991,August:annunciosucomp.os.minix•  I'vecurrentlyportedbash(1.08)andgcc(1.40),andthingsseemtowork.ThisimpliesthatI'llgetsomethingprac-calwithinafewmonths[...]Yes-it'sfreeofanyminixcode,andithasamul--threadedfs.ItisNOTportable(uses386taskswitchingetc),anditprobablyneverwillsupportanythingotherthanAT-harddisks,asthat'sallIhave:-(.

•  1991,September:release0.01–sourcecodeavailablebutproductisnotcommerciallyredistributable

Page 9: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

GPLv2:anewOSisfinallyavailable

•  1992February:LinuxKernel0.12releasedunderGPLv2•  1984:RichardStallman(MIT)createdGNUprojectwiththetargettobuildanopen-sourcedevelopmentenvironmentwhere,thankstoGPLlicensing,codemustbedistributedwithinthecommunity

•  Toolselibrarieshavegrown(gcc,bash,glibc,coreu-ls)...butGNU-ProjectKernel(Hurd)isnotready

•  LinuxKernelandTools/LibrariesavailableintoGNUtogetherareabletobuildanewOpera-ngSystemtotallyopen-source

Page 10: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

DevelopmentModel

• Philosophy:“releaseearly,releaseoYen”•  Star-ngfromRelease1.0.0(March1994)thenewmodelhasadopted(dualtree)

•  2ndevenreleasedigit=>“stable”versions(1.0.x,1.2.x,...)•  2ndoddreleasedigit=>“development”versions(1.1.x,1.3.x,...)‏• When“stable”releaseisgoodenoughthedevelopmentbranchwillbeopened

• When“development”isfeature-richenough,freezeperiodbegins

Page 11: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

Kernel1.2,2.0andRedHat

• March,1995:Kernel1.2introducedbinarysupportforSPARC,Alpha,MIPS

• RedHatstartsin1995withfirstsdesktopversionsthathelpsmanagingbyGUI

• March,1996:RedHat3.0.3,Kernel2.0ready•  June,1996:Kernel2.0released(SMPsupport,dynamicallyauto-loadablemodules,newCPUcompa-ble)

Page 12: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

Stability,feasibility…..andfurtherVendors

• Kernel1.2issostablethatithadbeenusedonHTTP-Servermachines(withApache)onInternet,withhighup-mes

• Kernel2.0,withitsextendedmodulearchitecture.Thismodelisalsousedtodayandit’stheprinciplethatallowedtobuild“one-size-fits-all”Kernel

•  IBM,HPandIntelrecognizeLinuxlikeasolu-ontoselltheirHWandstarttohavededicatedinternalresourcesontheproject

• RedHatbeginstoreleaseKernelswithpatchesnonavailableonthemainlinebutcon-nuestoworktokeepmainlinecodeallignedandupdated(thismodeliss-llalive)

Page 13: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

Linuxdecision-makingSystem

• Coreofchoicesisthemailing-listlinux-kernel;therearefurthermailinglistrelatedtoothercomponentslikenetdev,linux-scsi,linux-ide,linux-usb,...

• OntheseMLyoucanprovideyourideas,butit’sstronglysuggestedtoaddadraYworkingcode(“showmethecode”);alltheore-calconceptscanbeignored.

Page 14: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

“WhatifTorvaldsishitbyabus?”• WithTorvaldsthereisarestrictedgroupof“trusted”developers• DavidMiller(networking,SPARCport)• AlanCox(dituOo,rel.mgr.2.2)• AndrewMorton(-mmtree,rel.mgr.2.6)•  JeffGarzik(networkdrivers,ATA)•  IngoMolnar(scheduler,x86-git)• ChristophHellwig,AlViro(reviewers)•  Therearealsofurthermaintainersofspecificparts•  Torvaldstodayisthefinaljudgeincaseofconflicts(“benevolentdictator”)‏

Page 15: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

Kernelbugrepor-ng

•  [email protected]://bugzilla.kernel.orgaretheofficialbug-repor-ngmethods

•  EachLinuxdistribu-onhasitsownsupportforumand/orbugtrackingsystem

• BugreportedtoOracleLinuxaremanagedbyOraclebug-trackingsystemand,eventually,forwardedtothemainlineKernelmaintainers(likeallofficialdistribu-ons)

Page 16: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

Kernel2.2

• ReleasedinJanuary,19999– Improvedscalability(SMP)– Furtherinstruc-onssupportforAMDandIntelCPUs– Furtherdrivers(mostlynewSCSI)– ImprovedAPM(PowerManagementSupport)– NTFSsupport(read-only)– Founda-onforEnterprise-LevelFeatures

Page 17: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

Kernel2.4&2.5

•  2.4(stable)ReleasedinJanuary,2001– Furtherimprovements(threads,networkcards,diskcontrollers...)‏– LVMandUSBnowpossible– NewNetworkingLayer– Scalability(SMP)un-l16CPUs– IA64andS/390nowsupported– Pre-releases(-pre)availablefor2.4– Releasecandidates(-rc)availablefor2.4(stable)and2.5(unstable)

Page 18: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

Kernel2.6

• ReleasedinDecember,2003– NUMASupport,HyperThreading…– USB2.0,SATA,directI/Oonblockdevices– 16TBfs,autoscalingopenfileslimit,4096minordeviceids...– Preemp-blekernel,SELinux– Introduzioneinizialedisysfs(/sys)‏– Nuovomodellodisviluppo:niente2.7,ne'3.0!...ono?

Page 19: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

EnterpriseandCommunityDistribu-ons

• Differenttargetswithdifferentexpecta-ons• RHEL,SuSEandOL:onemajorreleasewhen“stable”•  Fedora:onemajorreleaseevery6months• but…...”unstable”kernelscon-nuetosupplyfeaturesandenhancementsto“stable”ones

Page 20: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

Why“OracleLinux”?

•  Linuxstabilityandfeasibilityinvolvelowriskstoaninfrastructuresupport

• RedHatEnterpriseLinuxaslandmark(withdoublekernelavailable)•  Fastad-hocfixedforOracleProductsontop•  Single-vendorsupport

Page 21: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Copyright©2015,Oracleand/oritsaffiliates.Allrightsreserved.|

Q&A

21

Page 22: Linux Introduc-onpong.di.unimi.it/data/teaching/os/15/sc_01_Linux_General.pdf · • Ingo Molnar (scheduler, x86-git) • Christoph Hellwig, Al Viro (reviewers) • There are also

Recommended