Linux-basisprincipes. Basisbeginselen van Linux - Commandoregel en bestandssysteem Linux-bestandssysteem

Afschrift

1 Inleiding De cursus “UNIX OS Fundamentals” is bedoeld voor studenten van initiële cursussen van faculteiten die geïnteresseerd zijn in het opleiden van softwareontwikkelaars van een of ander niveau. Een verplichte voorcursus voor het UNIX OS is een introductiecursus programmeren in de C-taal, als basiscursus, en een cursus in de basisprincipes van computerarchitectuur. De cursusstructuur biedt 13 lezingen en bijbehorend laboratoriumwerk om u te helpen de algemene werkingsprincipes van een besturingssysteem zoals UNIX te begrijpen. De lesstof wordt in abstracte vorm gepresenteerd, wat een grotere mate van vrijheid laat voor de diepgang van de presentatie van onderwerpen in de lesstof. Daarnaast kan de duur van sommige colleges indien nodig variëren van 2 tot 6 uur. Laboratoriumlessen vereisen niet het gebruik van een gespecialiseerd laboratorium of een specifieke UNIX/Linux-kloon en kunnen worden uitgevoerd op de personal computers van studenten met behulp van alle beschikbare UNIX-, Solaris-, Linux-, FreeBSD-, Mac OS X-, enz.-software, op voorwaarde dat de juiste pakketten worden geïnstalleerd vanuit de repository's voor ontwikkelaars. In de praktijk werd meestal gebruik gemaakt van externe toegang tot een Linux-server via het SSH-protocol, voor Windows-werkstations en PuTTY 1 - als SSH-client. Merk ten slotte op dat alle taken worden uitgevoerd in de shell (bash) en dat de verschillende bestaande X Window (X11)-interfaces (CDE, GNOME, KDE, Xfwm, Xfce of wmii, enz.) hier niet worden besproken, wat het gebruik van minimale kernelconfiguraties en concentreer u vanaf het allereerste begin van de cursus op het leren van de OS-kernel. Waarom is Linux tenslotte gekozen om de basisprincipes van besturingssystemen te vertegenwoordigen, en niet bijvoorbeeld Microsoft Windows? Er zijn verschillende redenen: de open source van Linux, de UNIX-ideologie die erin is ingebed, de belangrijkste OS-ideeën geïmplementeerd in UNIX/Linux worden ook gebruikt in Microsoft Windows: multitasking, hiërarchisch bestandssysteem, multi-user systeem, virtueel geheugen, ingebouwde op het gebied van netwerkstack, multithreading en, belangrijker nog, de Linux-kernel wordt steeds vaker gekozen voor het bouwen van computersystemen op verschillende niveaus, van gedistribueerde en cloudservers in een bedrijfssysteem tot mobiele servers en systemen ingebed in besturingschips. 1 Vlasov S.V Faculteit Computerwetenschappen VSU, Voronezh 1

2 Lezing 1. Basisconcepten. Een besturingssysteem is een softwareproduct dat is ontworpen om computerbronnen te beheren: hardware, gegevens, programma's en processen. Een verplicht onderdeel van het besturingssysteem is de kernel; alle andere componenten zijn applicaties die indien nodig aan het besturingssysteem worden toegevoegd. Als ze bijvoorbeeld zeggen: “Linux-versies...” bedoelen ze de kernel, maar met GNU/Linux bedoelen ze een kloon met een specifieke kernel en een reeks applicaties (Debian, Red Hat, Susse, enz.). Er is een OS-component vereist die de datastructuren, programma's en processen levert, en hardwarespecifieke code die nodig is om de bronnen van de computer te beheren. Er zijn verschillende principes voor het construeren van een kernel: een monolithische kernel (Linux) of een microkernel (bijvoorbeeld Minix). De kernel kan worden aangepast door bepaalde componenten (modules, stuurprogramma's) toe te voegen of te verwijderen. Een bestand is een specifieke reeks bytes. In UNIX wordt bijna alles weergegeven als een bestand. In dit geval worden slechts 7 typen bestanden onderscheiden (het overeenkomstige symbool wordt tussen haakjes aangegeven: in de uitvoer van de opdracht ls -l) gewone bestanden (-) speciale bestanden: directory, (d) symbolische link, (l) genaamd pipe, (p) karakterapparaat, (c) blokapparaat, (b) UNIX-socket. (s) Het herkennen en verwerken van de interne structuur van een bestand is de verantwoordelijkheid van de applicatie waarvoor het bestand bedoeld of aangemaakt is. Een hiërarchisch bestandssysteem is een abstractie voor het weergeven van de volgorde van bestanden als een boom van mappen. De root van de boom is een map met de naam "/", die het rootbestandssysteem wordt genoemd (niet te verwarren met /root). De eigenaardigheid van het hiërarchische bestandssysteem van Linux is dat het virtueel is, in die zin dat elk knooppunt in een enkele hiërarchie kan worden geassocieerd met zijn eigen bestandssysteem van een bepaald type (ext2fs, ext3fs, riserfs, vfat, enz.), gelegen op een apart apparaat, partitie of rechtstreeks in het geheugen. De standaardmap in de hiërarchie op een bepaald moment wordt de huidige werkmap genoemd. U kunt absolute bestandsnamen gebruiken vanaf de root /, of relatieve namen uit de huidige werkmap (het "." - puntteken) wanneer de bovenliggende map wordt aangegeven door ".." tekens (twee punten horizontaal zonder spaties). Een programma is een bestand met uitvoerbare instructies. Een bestand dat de afgedrukte tekst van een programma in een programmeertaal bevat, wordt een programmabronmodule genoemd. Broncode geschreven in een scripttaal (shell, perl, python, ruby, etc. ) wordt rechtstreeks door de taaltolk uitgevoerd. Bronnen in andere talen (C, Fortran, etc.) moeten worden gecompileerd om de brontekst om te zetten in een uitvoerbare programmamodule met processorinstructies in binair formaat (evoluerend van a.out en COFF naar ELF). Een proces is een programma tijdens runtime. Processen zijn ook georganiseerd in een hiërarchie met ouder-kindrelaties. Alle processen in UNIX hebben een unieke integer-identificator (PID). Het rootproces van de hiërarchie is proces nummer 1, dit is het init-proces, dat voortkomt wanneer de kernel van het besturingssysteem opstart en andere afstammelingen voortbrengt. Wanneer het besturingssysteem actief is, kan elk proces behalve init worden gestopt. Er is ook een verborgen proces 0 - swap, dat verantwoordelijk is voor het paging van virtueel geheugen. Het aanmeldingsproces is het bovenliggende proces voor alle processen die door de gebruiker worden gegenereerd. Vlasov S.V Faculteit Computerwetenschappen VSU, Voronezh 2

3 systemen draaien in multi-user modus. De taak van dit proces is het controleren van de beveiligingskenmerken (inlognaam en wachtwoord) van de gebruiker en het starten van het proces dat de interface biedt voor interactie tussen het besturingssysteem en de gebruiker, meestal een tolk in de shell-opdrachttaal. Een shell-interpreter is een programma dat deel uitmaakt van een specifiek besturingssysteem om gebruikersinteractie met het besturingssysteem te garanderen. UNIX/Linux-systemen gebruiken verschillende tolken: bash, csh, tcsh, ksh, zsh en vele andere. Bash is meestal de standaardinterpreter op GNU/Linux-systemen. De tolk biedt een opdrachtregel voor het starten van standaardopdrachten en gebruikersprogramma's. Vlasov S.V Faculteit Computerwetenschappen VSU, Voronezh 3

4 Praktijkvoorbeelden. Inloggen via SSH-client (PuTTY) In MS Windows selecteert u Start->Uitvoeren en typt u: X:/Putty/Putty.exe. In het geopende Putty-configuratievenster typt u in het veld Hostnaam (of IP-adres): www2. Klik op Openen leidt tot verbinding met de www2-server en er verschijnt een aanmeldingsvenster waarin, wanneer u voor het eerst verbinding probeert te maken met een Linux-server, een PuTTY Security Alert-bericht verschijnt over het ontbreken van een nieuwe RSA-sleutel in de registercache de sleutel in de cache voor een vertrouwde verbinding met de server, nu en in de toekomst. Klik op Ja. Er verschijnt een uitnodiging in het DOS-venster Vlasov S.V FCS VSU, Voronezh 4

5 Inloggen als: naam wachtwoord: hier vult u uw inlognaam (in plaats van naam) en wachtwoord in. Wees voorzichtig bij het invoeren van uw wachtwoord, aangezien de toetsen die u indrukt bij het invoeren op geen enkele manier worden weergegeven, zelfs geen sterretjes. Als alles correct is gedaan, ziet u de opdrachtregelprompt van de shell 2-interpreter in hetzelfde venster: ~$ _ Nu kunt u communiceren met het Linux-besturingssysteem via de opdrachtregelinterface. 3 In wat volgt zullen we alleen het $-symbool gebruiken om de opdrachtregel aan te geven, hoewel dit mogelijk voorafgegaan wordt door het pad naar de huidige werkmap. Waar zijn we? (thuismap) Bij registratie in het systeem krijgt elke gebruiker een beveiligde thuismap toegewezen voor het opslaan van persoonlijke bestanden. Wanneer u zich aanmeldt, koppelt het aanmeldingsproces automatisch uw thuismap aan als de huidige werkmap. De volgende drie opdrachten zouden hetzelfde resultaat moeten opleveren, het volledige pad naar uw thuismap. $ pwd $ echo ~ $ echo $HOME Wat hebben we? (automatisch gegenereerde bestanden) De inhoud van de huidige werkmap kan worden weergegeven met het commando: $ ls Bij de eerste keer inloggen is deze lijst meestal leeg. 4 Wanneer een gebruiker zich echter registreert, worden er enkele verborgen servicebestanden aangemaakt in zijn thuismap, die door de gebruiker kunnen worden gewijzigd om de vereiste omgeving te configureren. Met de schakeloptie -a van het ls-commando kunt u in de inhoudslijst van de huidige map alle verborgen bestanden zien die het voorvoegsel “.” hebben. (dot) $ ls -a Deze lijst bevat overigens ook de anonieme namen van de huidige map "." en de bovenliggende map "....". Door uw eigen bestand een naam te geven voorafgegaan door "." (punt) je maakt het verborgen. Welk systeem wordt gebruikt? De bewerkingen en systeemconfiguratieopties zijn afhankelijk van de versie van het besturingssysteem die u gebruikt. Om hierover informatie te krijgen, gebruikt u het commando $ uname -a Korte informatie over de parameters en sleutels van het commando kunt u verkrijgen met behulp van de help-toets, bijvoorbeeld: 2 Als u problemen ondervindt bij het verbinden met de server of bij het invoeren van uw naam en wachtwoord, u heeft maar één optie: neem contact op met de serversysteembeheerder. 3 Het $-symbool vóór de cursor is een opdrachtregelteken en is de standaardwaarde voor een normale gebruiker in de bash-opdrachtinterpreter. (Het #-symbool wordt gebruikt voor de root-superuser) 4 Mogelijk hebt u een public_html-directory die kan worden gebruikt om bestanden uit te wisselen tussen Linux- en MS Windows-systemen dankzij de bijbehorende service. Vlasov S.V Faculteit Computerwetenschappen VSU, Voronezh 5

6 $ uname --help Gedetailleerde beschrijvingen van UNIX-commando's en -functies kunnen worden verkregen uit documentatie genaamd man-pagina's ("manual-pagina's"): $ man pwd $ man ls $ man echo $ man uname Handleiding-pagina's worden gepresenteerd in een speciaal formaat nroff / troff/groff en worden geformatteerd bij uitvoer door het juiste hulpprogramma, afhankelijk van het type uitvoerapparaat. Om het bekijken van de handleidingpagina's te voltooien, drukt u op de Q-toets $ man man Handmatige bestanden worden meestal in verpakte vorm opgeslagen (achtervoegsel.gz of .bz2) en zijn georganiseerd in secties: 1. Algemene opdrachten 2. Systeemaanroepen 3. C-bibliotheekfuncties 4 5. Bestandsformaten en conversie 6. Games en screensavers 7. Extra 8. Commando's en daemons voor systeembeheer Het sectienummer wordt gebruikt om te verwijzen naar de gebruikte opdracht of functie, bijvoorbeeld printf/3 en wordt aangegeven met . de eerste parameter van het commando $ man 1 printf $ man 3 printf De map waarin de handleiding van het commando zich bevindt, kan worden bepaald met behulp van het -w $ man -w commando Hiërarchisch bestandssysteem. Het ls commando kan worden gebruikt om de inhoud van elke map in de bestandssysteemhiërarchie (ongeacht het fysieke apparaat en het type bestandssysteem op de partitie of in het geheugen). Het rootbestandssysteem wordt bijvoorbeeld weergegeven met het commando $ ls / Om de structuur van de hele boom weer te geven, is echter behoorlijk wat vindingrijkheid vereist, bijvoorbeeld $ ls -R grep ":$" sed - e "s/:$//" -e "s/[^-][^\/]*\//--/g" -e "s/^/ /" -e "s/-/ /" waar het reguliere expressiefilter grep, de streameditor sed en naamloze pijpen, aangegeven door het symbool (pijp). In uw thuismap kunt u een nieuw (leeg) mapknooppunt in de hiërarchie maken, bijvoorbeeld lab1 Vlasov S.V Faculteit Computerwetenschappen VSU, Voronezh 6

7 $ mkdir lab1 Elk knooppunt in de hiërarchie kan worden geselecteerd als het huidige $ cd lab1 $ pwd Om terug te keren naar uw thuismap (gedefinieerd door de HOME-omgevingsvariabele), gebruikt u het cd-commando zonder parameters $ cd $ pwd. U kunt een knooppunt verwijderen lege map met het rmdir-commando, bijvoorbeeld $ rmdir lab1 Als de map niet leeg is, zal het laatste commando (als lab1 enkele bestanden bevat) de berichten rmdir: lab1: map niet leeg weergeven en zal de verwijdering niet worden uitgevoerd. In de huidige directory kunt u bijvoorbeeld een tekstbestand (normaal) aanmaken. Om dit te doen, kunt u de omgeleide uitvoer van het commando echo $ echo "echo Print directory tree" > tree gebruiken. Er wordt een boombestand aangemaakt, waarvan de inhoud kan worden uitgevoerd met het commando $ cat tree of in pagina-geformatteerde vorm $ pr tree U kunt zelfs een nieuwe regel aan het einde van het bestaande bestand toevoegen, bijvoorbeeld $ echo met behulp van grep en sed >> tree $ cat tree U kunt een regelteksteditor gebruiken of een standaardeditor die is ontworpen voor het bewerken van tekst op een typemachine. soort console. $ ed tree a ls -R grep ":$" sed -e "s/:$//" -e "s/[^-][^\/]*\//--/g" -e "s /^/ /" -e "s/-/ /". wq $ cat tree In feite hebben we hier een bestand met opdrachten gemaakt, die als een nieuw commando kunnen worden uitgevoerd als u het “uitvoerbaar” maakt: $ chmod +x tree $./tree Vlasov S.V Faculteit Computerwetenschappen VSU, Voronezh 7

8 Merk op dat een poging om een ​​bestand uit te voeren zonder de huidige map op te geven, d.w.z. alleen tree in plaats van ./tree zoals hierboven weergegeven, zal er niet toe leiden dat het bestand in de huidige map wordt gevonden. Dit komt omdat om veiligheidsredenen de anonieme huidige map niet is opgenomen in de omgevingsvariabele PATH, die wordt gebruikt om een ​​programma te vinden dat op naam moet worden uitgevoerd. $ echo $PATH De gebruiker kan een volledige lijst met omgevingsvariabelen en hun waarden krijgen met het commando: $ env Om tekstbestanden te maken, kunt u ook het cat-commando gebruiken door de uitvoer om te leiden naar een bestand $ cat > bestandstekst Ctrl -D Hier wordt door het indrukken van de Ctrl-D-toetsen het einde van het bestand (EOF)-symbool END OF TRANSMISSION naar de invoerstroom verzonden. U kunt ook tekst aan het einde van het bestand toevoegen $ cat >> aan het bestand toegevoegde tekst Ctrl-D Om grote tekstbestanden te maken, bijvoorbeeld met C-bronnen, gebruikt u krachtige teksteditors op het scherm, zoals vi/vim, nano of emacs. Het verwijderen van een bestand gebeurt met het commando $ rm file. Met de schakeloptie -r of -R kunt u recursief een subboom van mappen verwijderen. Om bestanden veilig te verwijderen, wordt aanbevolen om de schakeloptie -i te gebruiken, die een verzoek genereert om de verwijdering te bevestigen. Het verplaatsen en hernoemen van een bestand gebeurt met het commando Datum en tijd $ mv oud nieuw Met het commando $ date kunt u de huidige systeemtijd en -datum bepalen. Om de tijd en/of datum te wijzigen, gebruikt u een parameter in het formaat MMDDuummJJ. Voor een taak op 24 januari 20:36 uur 2011 voert u bijvoorbeeld $ date in. Merk ook op dat de tijdopdracht op UNIX-systemen de tijd weergeeft die wordt gebruikt door het volgende proces (realtime, uitvoeringstijd in de gebruikersmodus en tijd). kernel-mode time) , niet de huidige systeemtijd. Probeer Vlasov S.V FCS VSU, Voronezh 8

9 $ tijd datum je zou zoiets als de volgende uitvoer moeten krijgen echte gebruiker sys 0m0.040s 0m0.000s 0m0.040s Wie zit er nog meer op het systeem? UNIX OS is een systeem voor meerdere gebruikers waarmee u tegelijkertijd een aanmeldingsproces kunt uitvoeren en meerdere gebruikers onafhankelijk van elkaar in het systeem kunt laten werken. Om te bepalen wie momenteel is ingelogd, gebruikt u de opdracht $who, die de inlognaam van de gebruiker, de terminal en het tijdstip waarop het aanmeldingsproces is gestart, weergeeft. In een systeem met meerdere gebruikers kan dezelfde gebruiker meerdere verschillende terminals tegelijkertijd gebruiken (bijvoorbeeld meerdere parallelle SSH-sessies). Om te bepalen wie de huidige terminal gebruikt, kunt u het commando $ whoami gebruiken. Geregistreerde gebruikers. Om het systeem te kunnen gebruiken, moet u dus een geregistreerde gebruiker zijn. Registratie wordt uitgevoerd door de systeembeheerder met superuser-rechten, die in UNIX/Linux-systemen een standaardnaam heeft: root. 5 Normaal gesproken worden alle registratierecords over gebruikers opgeslagen in één enkel bestand /etc/passwd, dat voor iedereen leesbaar is $ cat /etc/passwd. In eerdere versies van het systeem werd het gecodeerde wachtwoord (hash) van de gebruiker ook opgeslagen in hetzelfde bestand (het tweede veld na de gebruikersnaam, gescheiden door een dubbele punt). Maar in nieuwere systemen is het gebruikelijk om wachtwoord-hashes op te slaan in een ander bestand /etc/shadow, dat door niemand anders dan root kan worden gelezen. Het wachtwoordveld in het bestand /etc/passwd bevat alleen een verborgen link naar het item in /etc/shadow, dus alleen het teken “*” wordt weergegeven. Om het huidige wachtwoord op UNIX-systemen te wijzigen, gebruikt u de opdracht $ passwd Wachtwoord wijzigen voor naam. (huidig) UNIX-wachtwoord: huidig ​​gebruikerswachtwoord nieuw UNIX zfyytsshchkv: nieuw wachtwoord typ opnieuw nieuw UNIX-wachtwoord: nieuw wachtwoord (opnieuw precies hetzelfde als in de vorige regel) passwd: wachtwoord succesvol bijgewerkt Als er een fout is of het wachtwoord te eenvoudig is, er verschijnen bijvoorbeeld berichten of passwd: Fout bij manipulatie van authenticatietoken BAD PASSWORD: het is te simpel simplistisch/systematisch 5 Meestal wordt de rootnaam niet gebruikt om in te loggen, maar maakt de beheerder een normale login voor zichzelf, maar gebruikt hij de su om bewerkingen uit te voeren waarvoor superuser-rechten vereist zijn. In Linux-systemen is een populaire groep bevoorrechte gebruikers sudoers, die het recht krijgen om bewerkingen met rootrechten uit te voeren via het sudo-commando Vlasov S.V Faculteit Computerwetenschappen VSU, Voronezh 9

10 In dit geval moet u een ander wachtwoord invoeren. Merk op dat het passwd-proces in de speciale superuser-modus draait en het SIGINT-signaal negeert dat wordt verzonden door op Ctrl-C te drukken en dus niet kan worden onderbroken. Een eenvoudige manier van communiceren Gebruikers die tegelijkertijd in het systeem werken, kunnen korte berichten naar elkaar sturen met behulp van het commando $ write name. De gebruiker met de opgegeven naam/terminal ontvangt onmiddellijk een melding Bericht van uw_naam op tty0 om 10:30 uur.. en als Als u doorgaat met typen op uw terminal (hier op tty0), verschijnt het bericht onmiddellijk regel voor regel op de terminal van de gebruiker met de naam die in de opdracht is opgegeven. Om het bericht te beëindigen moet u Ctrl-D invoeren. Als uw tegenstander echter geen berichten wil ontvangen, gebruikt hij het commando $ mesg n om de mogelijkheid om schrijfberichten te verzenden/ontvangen uit te schakelen. Om deze functie in te schakelen, moet de gebruiker de opdracht $ mesg y uitvoeren. Als u in één keer een bericht naar alle gebruikers op het systeem wilt sturen (die berichten hebben ingeschakeld), kunt u de opdracht $ wall message van maximaal 20 regels gebruiken Ctrl- D Meld u af bij de sessie $ logout U kunt ook Ctrl-D of $ exit gebruiken. Het uitlogcommando beëindigt de sessie mogelijk niet, maar geeft een van de twee berichten weer of Er zijn gestopte taken, geen login-shell: gebruik "exit" Het eerste bericht is een waarschuwing dat uw sessie is gestart en gepauzeerd (door het SIGSTOP-signaal of Ctrl-Z). U heeft de mogelijkheid om door te gaan met het uitvoeren van taken (met de opdrachten jobs en fg) totdat ze normaal worden voltooid. Als u dit echter niet doet, worden opgeschorte opdrachten beëindigd (met een SIGTERM-signaal) wanneer het uitloggen of de Ctrl-D-opdracht opnieuw wordt uitgevoerd. Het tweede bericht betekent dat u onderliggende processen uit de shell hebt voortgebracht die zijn gestart door het aanmeldingsproces en die de huidige shell-sessie uitvoeren die niet is gekoppeld aan het aanmeldingsproces. Vlasov S.V Faculteit Computerwetenschappen VSU, Voronezh 10

11 U moet de opdracht exit of Ctrl-D in de huidige shell uitvoeren om terug te keren naar het shell-proces dat is voortgebracht door het inloggen. Conclusies Het besturingssysteem is een complex softwaresysteem dat bestaat uit subsystemen voor het beheren van verschillende bronnen. Het doel van de cursus is het bestuderen van de belangrijkste kenmerken van de werking van de UNIX/Linux OS-kernelsubsystemen via de systeemaanroepinterface. Vlasov S.V Faculteit Computerwetenschappen VSU, Voronezh 11


MINISTERIE VAN ONDERWIJS EN WETENSCHAP VAN DE RF FEDERALE STAATSBEGROTING ONDERWIJSINSTELLING VOOR HOGER PROFESSIONEEL ONDERWIJS “Kama State Engineering and Economic Academy” BEHEER

6.31. Cycli. Verschuivingsparameters. voor variabele in waarden doen uitspraken gedaan voor var1 in waarde1 waarde2 waarde3 doen echo $var1 gedaan voor Bestand1 in $(ls *.sh); doe echo $File1 >> All.txt gedaan terwijl do-voorwaarde

Informatietechnologie Lezing 3 1 Bash shell 2 Basisinformatie Shell- of shell-werk in tekstmodus (opdrachtregelinterface) Grafische gebruikersinterface (GUI) werk in grafische vorm

SHELL-definitie: Shell [shell]-interpreter van besturingssysteemopdrachten. Shells zijn onderverdeeld in twee typen, afhankelijk van de organisatie van het werk met de gebruiker: - opdrachtregelinterpreter; - grafisch

2 Navigatie Het eerste wat we zullen proberen te leren (na een aantal toetsaanslagen) is navigatie in het Linux-bestandssysteem. In dit hoofdstuk zullen we de volgende commando's in het dagelijks gebruik introduceren: pwd geeft de naam van de huidige werker weer

SibGUTI Vakgroep Taalprogrammering op Hoog Niveau (HLL), semester 1 2009 academiejaar 2010 Polyakov A.Yu. Laboratoriumwerk 1. Linux OS-programmeeromgeving. Doel van de werkzaamheden: Kennismaken met de software

Lezing 2. Subsysteem procescontrole. Procesbeheer in een multitaskingsysteem bestaat uit het toewijzen van kernelbronnen voor elk lopend proces en het veranderen van de context van processen

MOSKOU STAAT TECHNISCHE UNIVERSITEIT vernoemd naar. N.E. BAUMAN Faculteit “Informatica en Controlesystemen” Vakgroep “Geautomatiseerde Informatieverwerking en Controlesystemen” Syomkin P.S., Syomkin

Werken met het GNU/Linux OS in terminalklassen van het Ministerie van Strijdkrachten. Doel van het werk: kennis maken met de GNU/Linux OS-software en een eenvoudig programma schrijven in C-taal. Besturingssysteem (OS) GNU/Linux

BOINC-systeem. De les wordt gegeven door: Khrapov Nikolay Pavlovich Instituut voor problemen met informatieoverdracht RAS Praktische les Basisprincipes van het werken met Linux OS Een BOINC-server installeren Praktische les Basisprincipes van werk

OS-componenten Belangrijkste OS-componenten 1. Procesbeheer 2. Hoofdgeheugenbeheer 3. Bestandsbeheer 4. I/O-systeembeheer 5. Extern geheugenbeheer 6. Netwerkondersteuning

Inleiding tot de Linux-opdrachtregel Hoe u zich geen zorgen meer hoeft te maken en van de shell kunt houden Alexey Sergushichev Praktische school in bio-informatica MNL "Computertechnologieën" 19/02/2014 Commandoregel Commandoregel

Linux-besturingssysteem Lezing 6 De opdrachtshell (shell, bash) is een opdrachtregelinterface in Unix-achtige besturingssystemen, dat wil zeggen dat het opdrachten uitvoert die de gebruiker geeft of die worden gelezen

Laboratoriumwerk 4 INLEIDING TOT PROCESSEN Doel van het werk Vertrouwd raken met het concept van proces. Leer hoe u een lijst krijgt met processen die beschikbaar zijn in het systeem en hoe u hun status beheert. 1. Theoretische informatie

Bestandsnaampatronen, zoeken naar bestanden en andere UNIX-functies Registreren in Linux Voer putty.exe uit Voer het IP-adres in Klik op Openen Gebruikersnaam studentx Wachtwoord studentx 2 Maak een map aan

Inhoud Voorwoord 6 Lezing 1. Werksessie Linux 8 1.1 Systeemgebruikers................................ 8 1.2 Registratie in het systeem....................... 13 1.3 Gelijktijdige toegang tot het systeem.............................

De basisprincipes van de enorme wereld van het UNIX-systeem worden op een toegankelijke manier geschetst voor de niet-professionele gebruiker. De gebruiker leert geleidelijk aan inloggen op het systeem, verschillende commando's gebruiken, om hulp vragen, vinden

Werken met standaard documentsjablonen Cognitive Technologies Gebruikershandleiding Moskou, 2015 2 SAMENVATTING Dit document geeft informatie over het gebruik van het softwarepakket E1 Euphrates

Computerwetenschappen Informatietechnologie Lezing 1. Inleiding tot het Linux-besturingssysteem Belangrijkste kenmerken van Linux Echte multitasking Toegang voor meerdere gebruikers RAM naar schijf wisselen Pagina

Andere talen: Engels Russisch iridium Server voor Raspberry Pi De server installeren en configureren in het i3 lite-project iridium Sever voor Raspberry Pi is een software-implementatie van iridium Server die draait

FEDERALE AGENTSCHAP VOOR ONDERWIJS Tomsk Polytechnische Universiteit GOEDGEKEURD door: Decaan van de Automatische Technische Faculteit S.A. Gaivoronsky 2009 SIMPLE SHELL TOOLS Richtlijnen voor het uitvoeren van laboratoriumwerkzaamheden

Les 3. Onderwerp: Accounts in Linux. Soort les: hoorcollege, praktijkles. Studievragen: 1. Concept van account en authenticatie. De bestanden /etc/passwd en /etc/group, /etc/shadow en /etc/gshadow.

Samenvatting van het programma van de discipline "Operating Systems" 1. Doelen van het beheersen van de discipline De doelstellingen van het beheersen van de discipline "Operating Systems" zijn: het ontwikkelen van basiskennis, vaardigheden en capaciteiten bij studenten op het gebied van

Laboratoriumwerk 2. Navigeren door de bestandsstructuur en het onderhoud ervan met behulp van de Xubuntu OS-terminal Praktisch deel II. Navigeren door de bestandsstructuur en het onderhoud ervan met behulp van de OS-terminal

Pagina 1 van 7 Nieuws Technische uitrusting van een Linux-cluster Statistieken van bronnengebruik Registratie op een Linux-cluster Registratie op SPP-2000 AFS-bestandssysteem Netwerkbeveiligingsproblemen Bibliotheken

Basisconcepten en definities Besturingssysteem (hierna besturingssysteem genoemd) is een softwarepakket dat de werking van een computer regelt en de interactie tussen de daarin opgenomen apparaten garandeert

Hoofdstuk 1 Een besturingssysteem kiezen Het feit dat je dit boek leest, betekent dat je Linux wilt leren. Voordat u aan deze reis begint, moet u begrijpen wat een besturingssysteem is

Praktijkwerk 10 Werken met bestanden in LINUX Doel van het werk: het bestuderen van de mogelijkheden van het werken met bestanden in het Linux-besturingssysteem. Werkplan: 1. Maak uzelf vertrouwd met korte theoretische informatie.

GOEDGEKEURD DOOR -LU INFORMATIEBEVEILIGINGSSYSTEEM TEGEN ONGEAUTORISEERDE TOEGANG Dallas Lock Linux Bedieningshandleiding (gebruikershandleiding) 11 2016 2 Samenvatting Deze bedieningshandleiding wordt verspreid

Informatietechnologie Lezing 2 Linux-opdrachten 2 Linux-opdrachten Linux-consoleopdrachten - interactie tussen de gebruiker en het besturingssysteem Uitgevoerd via de opdrachtregel door handmatige invoer Achter elk commando

Software- en hardwarecomplex van vertrouwde download "Blokhost-MDZ" Installatiehandleiding voor het softwarepakket "Blokhost-MDZ". Installatiehandleiding. Pagina 2 Samenvatting Het document beschrijft de installatie

Multifunctioneel hardware- en softwarecomplex voor het aanbieden van communicatiediensten "IS RINO" Basissoftware Beheerserver INHOUDSOPGAVE 1 INLEIDING... 3 2 SAMENSTELLING VAN DE SOFTWARE... 3 3 INSTALLEREN VAN DE SERVER...

Rutoken-aanmelding. Beheerdershandleiding 2018 Aktiv Company In dit document Dit document bevat antwoorden op de volgende vragen: Waar wordt het Rutoken Logon-softwareproduct voor gebruikt? (zie pagina

Inhoud van de les Terminologie Hulpmiddelen voor externe toegang Inloggen 1 Gebruiker (gebruiker) gebruiker, account (account). Een object voor het vastleggen van systeemacties. Inloggen 1. Gebruikersnaam/account

Taken Deel 1: FTP uitvoeren vanaf de opdrachtregel Deel 2: Een FTP-bestand uploaden met behulp van de WS_FTP LE-client Deel 3: FTP uitvoeren in een browser Invoer/script FTP (File Transfer Protocol) meegeleverd in de kit

De algemene principes van organisatie, samenstelling, structuur van besturingssystemen en hun schillen, evenals een aantal specifieke systemen, worden besproken. Er wordt veel aandacht besteed aan de problematiek van informatie- en procesmanagement

En een netwerkbesturingssysteem opzetten FreeBSD FreeBSD FreeBSD is een modern besturingssysteem voor servers, desktops en embedded computerplatforms. FreeBSD biedt moderne netwerken

LLC "Bedrijf "ALS en TEK" Software van de ALS-24000 switch-familie, versie 6.01 Installatiehandleidingen 13 2017 2 1. ALGEMENE INFORMATIE 3 1.1. Doel en reikwijdte 3 2. COMPUTERVEREISTEN

IV. METHODOLOGISCHE INSTRUCTIES VOOR HET ORGANISEREN VAN HET ZELFSTANDIGE WERK VAN STUDENTEN TIJDENS HET BESTUDEREN VAN DE DISCIPLINE “BESTURINGSSYSTEMEN” Naam van de discipline sectie 1. Evolutie van besturingssystemen. Doel

Besturingssysteem Het besturingssysteem is het belangrijkste programma. Het besturingssysteem is een verzameling programma's die ervoor zorgen dat alle hardware- en softwareonderdelen van de computer met elkaar samenwerken

4 Laboratoriumwerk 1. Installatie en configuratie van het besturingssysteem op een virtuele machine 1.1. Doel van het werk Het doel van dit werk is het verwerven van praktische vaardigheden bij het installeren van een besturingssysteem

Federale begrotingsonderwijsinstelling voor hoger beroepsonderwijs "National Research Tomsk Polytechnic University" GOEDGEKEURD door: Hoofd Onderwijs

Laboratoriumwerk 1. Navigeren door de bestandsstructuur en het onderhoud ervan met behulp van de Windows-opdrachtregelinterpreter Theoretisch gedeelte. Directory is een speciaal soort bestand dat de namen van submappen bevat

Besturingssysteem Software Het besturingssysteem is het belangrijkste programma Het besturingssysteem is een reeks programma's die zorgen voor de interactie tussen alle hardware- en softwareonderdelen

Licentie- en beveiligingssysteem voor platformconfiguraties 1C:Enterprise 8, versie 3.0 Beheerdershandleiding Ondersteunde besturingssystemen... 1 Systeemsamenstelling... 1 SLK-server... 1 Externe component...

Inleiding Werken met het GNU/Linux-besturingssysteem Momenteel is de belangrijkste interface tussen de gebruiker en het desktopbesturingssysteem de grafische gebruikersinterface (grafische gebruikersinterface).

PRAKTIJK WERK 2 Commandoregel-besturingssysteem Windows Doel van het werk: de opdrachtregelinterface van Windows OS bestuderen, vaardigheden verwerven bij het oplossen van typische taken van het beheer van het Windows-besturingssysteem met behulp van

Laboratoriumwerk 2 Bestanden beheren in het besturingssysteem Doelen en doelstellingen van laboratoriumwerk: vaardigheden verwerven in het werken met een besturingssysteem zoals Linux; het leren van de basisprincipes van operatiekamerbeheer

VERBINDINGSBEHEER VOOR VIRTUELE WERKSTATIONS TERMIDESK ADMINISTRATOR'S HANDLEIDING (een basiswerkstation voorbereiden) 23811505.6200.001.I5.01-2 Bladen 17 MOSKOU 2018 1 INHOUD 1 INLEIDING...4 1.1

Federale Begrotingsinstelling voor Hoger Beroepsonderwijs "SibGUTI" Afdeling Computersysteemdisciplines "PROGRAMMEERTALEN" "PROGRAMMERING" Praktische les 55 OS GNU/Linux Docent: Universitair hoofddocent van de Afdeling Computerwetenschappen, Ph.D. Polyakov Artem Yurievich

Bijlage WERKPROGRAMMA VOOR DE ACADEMISCHE DISCIPLINE BESTURINGSSYSTEMEN EN OMGEVINGEN Het werkprogramma voor de academische discipline Besturingssystemen en omgevingen is ontwikkeld op basis van de Federale Onderwijswet.

2.1. Bestanden. Vereisten voor informatieopslag: de mogelijkheid om grote hoeveelheden gegevens op te slaan moet behouden blijven nadat het proces is beëindigd; er moeten meerdere processen tegelijkertijd plaatsvinden

Programmeertalen en vertaalmethoden Presentatie voor laboratoriumwerk 2 Windows-besturingssysteem Inhoud 2 Inhoud 3 Concept van een besturingssysteem Besturingssysteem (OS) basissoftware

IBM DB2 v11.1-server installeren op Linux Voor het installeren van IBM DB2 met behulp van de installatiewizard moet de grafische interface zijn geïnstalleerd en actief zijn, inclusief de X-Window-basispakketten.

1.1 Geschiedenis van het besturingssysteem De eerste (1945-1955) computers werkten in de regel zonder besturingssystemen; ze draaiden één programma. Toen de snelheid van de programma-uitvoering en hun aantal begonnen toe te nemen, ontstond er downtime

Rutoken-stuurprogramma's beheren met behulp van groepsbeleid 2017 Aktiv Company In dit document Dit document beschrijft hoe u groepsbeleid gebruikt om de kit automatisch te distribueren

Onderwerp: Doel: Praktisch werk 23. Basisbeginselen van het werken in Ubuntu. Maak kennis met de Ubuntu OS-interface, leer werken met bestanden en mappen, start programma's, bekijk tekst en afbeeldingen

Secret Net informatiebeveiligingstool Instructies voor het lokaal updaten van de Secret Net-client Dit document bevat een gedetailleerde beschrijving van de reeks acties voor het lokaal updaten van de client

Over de auteurs 15 Inleiding 17 Boekstructuur 18 Van de uitgever 20 Hoofdstuk 1: De basis in een oogopslag 21 Enkele basiscommando's 21 Datum en tijd weergeven: het datumcommando 21 Geregistreerde gebruikers zoeken

HV Manager-gebruikershandleiding 2017 AprilTech, LLC. Alle rechten voorbehouden 1 INHOUD Inleiding... 3 Installatie en configuratie... 4 Systeemvereisten... 4 Installatie... 5 Configuratie... 6 Installatie

1 Lab 3 “DATASTREAM REDIRECTION” Streams en bestanden Logischerwijs zijn alle bestanden in een Linux-systeem georganiseerd in een continue stroom van bytes. Elk bestand kan vrijelijk worden gekopieerd en aan een ander bestand worden toegevoegd

Een goed begin is het hebben van een basiskennis van wat Linux is en hoe het werkt.

En je kunt ermee beginnen Introducties tot Linux(sxw). Hoewel er andere introducties zijn. Dit bijvoorbeeld. Hier is het document van R.S Klochkov en N.A. Korshenin Fundamentals of UNIX and Linux (SXW), (PDF).

Grondbeginselen van UNIX-besturingssysteem. Opleiding. (SXW) (PDF)
Copyleft (geen c) — Fuck copyright! 1999-2003 V. Kravchuk, OpenXS-initiatief
Deze korte (naar schatting 16 uur, waarvan 6 praktijkgerichte) introductiecursus is bedoeld om u kennis te laten maken met de architectuur, functies en kernfuncties van het UNIX-besturingssysteem. Als u de cursus met goed gevolg afrondt, kunt u als gebruiker vrij en productief werken in het UNIX-besturingssysteem en het beheer of programmeren van dit besturingssysteem verder bestuderen.
De presentatie wordt in principe uitgevoerd zonder verwijzing naar de kenmerken van welke versie van UNIX dan ook, maar als specifieke details nodig zijn, wordt dit gedaan voor SVR4-systemen, in het bijzonder Solaris 8 OS.
Ik stel ook een boek voor Andrej Robachevski"UNIX-besturingssysteem"
Dit is wat de auteur schrijft: “Dit boek is geen vervanging voor naslagwerken en verschillende handleidingen over het UNIX-besturingssysteem. Bovendien is de informatie die in het boek wordt gepresenteerd soms moeilijk te vinden in de documentatie die bij het besturingssysteem wordt geleverd. Deze publicaties staan ​​vol met praktische aanbevelingen, nauwgezette beschrijvingen van de instellingen van bepaalde subsystemen, formaten voor het oproepen van commando's, enz. Tegelijkertijd blijven zaken als de interne architectuur van individuele systeemcomponenten, hun interactie en werkingsprincipes vaak achter de schermen . Zonder kennis van deze ‘anatomie’ verandert het werken in het besturingssysteem in het gebruik van onthouden commando’s, en onvermijdelijke fouten leiden tot onverklaarbare gevolgen. Aan de andere kant wordt in dit boek veel minder aandacht besteed aan de kwesties van het beheer van UNIX, het configureren van specifieke subsystemen en de gebruikte commando's. Het doel van dit boek is om de basisorganisatie van het UNIX-besturingssysteem te schetsen. Houd er rekening mee dat de naam UNIX een belangrijke familie van besturingssystemen aanduidt, die elk hun eigen naam en unieke kenmerken hebben. Dit boek probeert te benadrukken wat gemeenschappelijk is aan het UNIX-genotype, namelijk: de basisgebruikers- en programma-interfaces, het doel van de hoofdcomponenten, hun architectuur en interactie, en op basis hiervan het systeem als geheel te presenteren. Tegelijkertijd wordt, waar relevant, verwezen naar een specifieke versie van UNIX."

Persoonlijk helpt het lezen van het prachtige boek van Viktor Alekseevich Kostromin mij enorm Linux voor de gebruiker” die ik u kan aanbieden (kos1, kos2, kos3, kos4, kos5, kos6, kos7, kos8, kos9, kos10, kos11, kos12, kos13, kos14, kos15, kos16, kos17, kos18).
En hier is hetzelfde boek, maar dan in pdf-formaat (kos1, kos2, kos3, kos4, kos5, kos6, kos7, kos8, kos9, kos10, kos11, kos12, kos13, kos14, kos15, kos16, kos17, kos18).
En nu ook in SXW (kos1, kos2, kos3, kos4, kos5, kos6, kos7, kos8, kos9, kos10, kos11, kos12, kos13, kos14, kos15, kos16, kos17, kos18).
Als u de voorkeur geeft aan documenten in HTML-formaat, kunt u via de bovenstaande links naar een pagina gaan waar u archieven van boekhoofdstukken in dit formaat kunt downloaden.

Onder de fundamentele boeken kan ik ook de uitstekende gids van Karl Schroeder aanbevelen "Linux. Verzameling recepten". Ik waarschuw je meteen dat deze link het boek in pdf-formaat bevat, en het weegt 50 MB. Maar een alternatieve optie is ook mogelijk: hetzelfde boek, alleen in

FORMAAT.TXT De samenvatting van het boek luidt als volgt: “De voorgestelde editie bevat een unieke verzameling tips, tools en scenario's; je vindt er een aantal kant-en-klare, gestroomlijnde oplossingen voor complexe problemen waarmee elke beheerder te maken krijgt bij het opzetten van een Linux-server; Deze oplossingen zijn nuttig bij het opzetten van kleine netwerken en bij het creëren van krachtige gedistribueerde gegevensopslag. Het boek is geschreven in de toch al populaire vorm van receptenboeken die door O’Reilly zijn uitgegeven in het ‘Probleem-Oplossing-Discussie’-formaat. Voor ervaren gebruikers, programmeurs, systeembeheerders, universiteitsstudenten, studenten en docenten." Als de link plotseling niet meer bestaat, laat het me dan weten. Misschien plaats ik het .pdf-bestand op mijn website.

Ik hou echt van de serie artikelen en aantekeningen van Alexey Fedorchuk, Vladimir Popov en een aantal andere auteurs, die ik hier vandaan haal: http://unix.ginras.ru/. Hier vindt u het meest interessante materiaal over Linux in het algemeen en de afzonderlijke componenten ervan in het bijzonder(Linux-all.zip, Linux-all2.zip, Linux-all3.zip, Linux-all4.zip).
SXW - (Linux-all.zip, Linux-all2.zip, Linux-all3.zip, Linux-all4.zip),
En ook een boek van Alexey Fedorchuk" De POSIX-saga of inleiding tot het POSIXisme» waarin algemene problemen van een aantal systemen worden behandeld, voornamelijk UNIX-achtige systemen. De naam spreekt voor zich. Volgens de auteurs is het boek bedoeld voor gebruikers (ook beginners). Hier zijn de bestanden - Deel 1, Deel 2, Deel 3, Deel 4.
EN SXW— Deel1, Deel2, Deel3, Deel4.

En als u geïnteresseerd bent in de geschiedenis van FREE SYSTEMS, kunt u de Selectie van artikelen lezen onder de algemene titel Een weg die openstaat voor iedereen"(sxw) en behandelt, volgens de auteur, algemene kwesties van Open Sources, POSIX-systemen, de geschiedenis van UNIX, BSD, Linux

Om de werkingsprincipes van het besturingssysteem te begrijpen, is het concept van een proces, samen met het concept van een bestand, natuurlijk een van de belangrijkste concepten. Dit is het onderwerp van het artikel van V.A. Kostromina » Processen en daemons in Linux"(SXW.

Tekst-Terminal-HOWTO(SXW)v 0.05, juni 1998
Dit document legt uit wat tekstterminals zijn, hoe ze werken, hoe je ze installeert en configureert, en geeft informatie over het repareren ervan. Het kan enigszins worden gebruikt, zelfs als u geen terminalhandleiding heeft. Hoewel dit werk is geschreven voor echte terminals op een Linux-systeem, zijn delen ervan ook toepasbaar op terminalemulators en/of andere Unix-achtige systemen.

Het is ook erg handig om de prachtig geïllustreerde handleiding te lezen voor een snellere en gemakkelijkere beheersing van de console - Werken met opdrachtgeschiedenis(SXW).

Hier vindt u materiaal gewijd aan commandoshells, of commandotolken, ook wel simpelweg shells genoemd. Allereerst een selectie van artikelen die onder de titel verenigd zijn Shell en nutsvoorzieningen(SXW), (PDF).

De meest populaire shell van vandaag is Bash, wat een afkorting is van Bourne Again SHell. Ik raad je aan om te lezen BASH-opmerkingen, (SXW), (PDF)
Aanmaakdatum: 16/12/97.

En ook Kenmerken van de bash-shell(SXW), (PDF).
Het document vat kort samen wat Bash heeft geërfd van de Bourne-shell: shell-controlestructuren, ingebouwde functies, variabelen en andere functies. Het vermeldt ook de belangrijkste verschillen tussen Bash en de Bourne-schaal.

Shell-opdrachttaaltolk(SXW), (PDF) - een commandotaal die zowel commando's kan uitvoeren die vanaf de terminal zijn ingevoerd als commando's die in een bestand zijn opgeslagen.

Shell-programmering(UNIX) (SXW), (PDF)

Als Windows vastloopt, maakt de gebruiker bepaalde gebaren en drukt vervolgens, overtuigd van de ‘zinloosheid en ijdelheid van deze wereld’, met een kalm hart op RESET. Onder Linux zijn de zaken anders. Over dit artikel - Hangend? Laten we het filmen!(SXW)

Vragen en antwoorden over kppp(SXW)

Artikel door V.A. Hiërarchie van mappen en bestandssystemen in Linux» (SXW), dat spreekt over de standaard die is ontwikkeld binnen het Open Source-project voor de directorystructuur van UNIX-achtige besturingssystemen (dat wil zeggen Linux- en BSD-systemen).

De handleiding spreekt over bestanden (die in Linux in wezen mappen en zelfs apparaten zijn), maar vanuit een iets ander perspectief Bestanden en toegangsrechten daartoe(SXW).
Ik raad het ten zeerste aan. Heerlijk gekauwd.

Linux-opdrachten en afkortingen(SXW).
Dit is een praktische selectie van programma's die we het vaakst gebruiken, nuttig vinden en die aanwezig zijn in onze Linux-distributies (RedHat of Mandrake).

UNIX-consoles(SXW) – opmerkingen over verschillende consoles.

Hier is een slechte gids Mandrake Linux 9.0 Commandoregelgids(SXW).

Bestandssystemen koppelen vanaf apparaten en bestanden(SXW) (PDF)
Aanmaakdatum document: 26-07-2004
Datum laatste wijziging: 20/08/2004
Auteur: Knyazev Alexey.

UNIX(Unix, Unix) - een groep draagbare, multitasking en multi-user besturingssystemen. Het eerste Unix-besturingssysteem werd eind jaren zestig en begin jaren zeventig ontwikkeld door het Amerikaanse onderzoeksbureau Bell Laboratories. Aanvankelijk was het gericht op minicomputers en daarna werd het gebruikt op computers van alle klassen, inclusief mainframes en microcomputers. Dit werd mogelijk gemaakt door de aanpassing van Unix aan 32-bits microprocessors van Intel, die in 1990 werd uitgevoerd. De functionaliteit en flexibiliteit van Unix zorgde voor het gebruik ervan in heterogene geautomatiseerde systemen, evenals voor de creatie van tientallen standaarden voor computerfabrikanten. Besturingssystemen van de Unix-familie:

Linux is een versie van het Unix-besturingssysteem voor computerplatforms op basis van Intel-processors;
HP-UX - Hewlett-Packard-versie; evolueert voortdurend en is compatibel met IE-64, een nieuwe standaard voor 64-bit architectuur;
SGI Irix is ​​een Silicon Graphics pc-besturingssysteem gebaseerd op System V Release 3.2 met BSD-elementen. Op deze versie van Unix creëerde de studio Industrial Light & Magic de films “Terminator 2” en “Jurassic Park”.
SCO Unix is ​​een versie van Santa Cruz Operation voor het Intel-platform, onafhankelijk van hardwarefabrikanten;
IBM AIX - geïmplementeerd op basis van System V Release 2 met enkele BSD-extensies;
DEC Unix is ​​een besturingssysteem met ondersteuning voor clusters; ontworpen om samen te werken met Windows NT;
NeXTStep-4.3 BSD - Besturingssysteem gebaseerd op de Mach-kernel, gebruikt in NeXT-computers; behoort tot Apple Computer en dient als besturingssysteem voor Macintosh-computers;
Sun Solaris is een besturingssysteem voor SPARC-stations gebaseerd op System V Release 4 met talrijke toevoegingen.

Het Unix-besturingssysteem verscheen tijdens de ontwikkeling van minicomputers. In 1969 begon het onderzoeksbureau Bell Labs met de ontwikkeling van een compact besturingssysteem voor de 18-bit DEC PDP-7 minicomputer van Digital Equipment Corporation. Het systeem is oorspronkelijk in assembleertaal geschreven en de geboortedatum van Unix wordt beschouwd als 1 januari 1970. In 1973 werd het herschreven in de C-taal, die werd ontwikkeld bij Bell Labs. Tegelijkertijd vond de officiële presentatie van het besturingssysteem plaats. De auteurs, Bell Labs-medewerkers Ken Thompson en Dennis M. Ritchie, noemden hun creatie een ‘universeel time-sharing-besturingssysteem’.

Unix was gebaseerd op een hiërarchisch bestandssysteem. Elk proces werd beschouwd als een sequentiële uitvoering van programmacode binnen een autonome adresruimte, en het werken met apparaten werd behandeld als het werken met bestanden. De eerste versie implementeerde het sleutelconcept van een proces, latere systeemaanroepen (fork, wait, exec, exit) verschenen. In 1972 werd pipelining geïntroduceerd door de introductie van pijpen.

Tegen het einde van de jaren zeventig was Unix een populair besturingssysteem geworden, geholpen door preferentiële distributievoorwaarden in de universitaire omgeving. Unix werd overgezet naar veel hardwareplatforms en de varianten ervan begonnen te verschijnen. In de loop van de tijd werd Unix niet alleen de standaard voor professionele werkstations, maar ook voor grote bedrijfssystemen. De betrouwbaarheid en flexibiliteit van UNIX-instellingen hebben het populair gemaakt, vooral onder systeembeheerders. Ze speelde een actieve rol in de verspreiding van mondiale netwerken, en vooral van internet.

Dankzij het openbaarmakingsbeleid voor broncode zijn talloze gratis Unix-dialecten die op het Intel x86-platform draaien (Linux, FreeBSD, NetBSD, OpenBSD) wijdverspreid geworden. Volledige controle over teksten maakte het mogelijk om systemen te creëren met speciale prestatie- en beveiligingseisen. Unix nam ook elementen van andere besturingssystemen over, wat resulteerde in de ontwikkeling van POSIX- en X/Open-programmeerinterfaces.

Er zijn twee onafhankelijk ontwikkelde takken van UNIX: System V en Berkeley, op basis waarvan Unix-dialecten en Unix-achtige systemen worden gevormd. BSD 1.0, dat de basis werd voor niet-commerciële UNIX-dialecten, werd in 1977 uitgebracht aan de University of California, Berkeley, gebaseerd op de UNIX V6-broncode. In 1982-1983 werden de eerste commerciële dialecten van Unix, System III en System V, uitgebracht door Unix System Laboratories (USL). In 1993 verkocht AT&T de rechten op Unix samen met het USL-laboratorium aan Novell, dat een UNKWare-dialect ontwikkelde op basis van System V, eigendom van de Santa Cruz Operation onder de naam SCO UNIXWare. Het Unix-handelsmerk is eigendom van X/Open Company.

Unix werd populair vanwege zijn vermogen om op verschillende hardwareplatforms te werken: draagbaarheid of mobiliteit. Het mobiliteitsprobleem in UNIX werd opgelost door de architectuur van het besturingssysteem te verenigen en één taalomgeving te gebruiken. De bij Bell Labs ontwikkelde C-taal werd de link tussen het hardwareplatform en de besturingsomgeving.

Veel portabiliteitsproblemen in Unix werden opgelost door één enkele software- en gebruikersinterface te hebben. Twee organisaties pakken het probleem van het met elkaar verzoenen van meerdere Unix-dialecten aan: de IEEE Portable Applications Standards Committee (PASC) en de X/Open Company (The Open Group). Deze organisaties ontwikkelen standaarden die het mogelijk maken om heterogene besturingssystemen te integreren, inclusief systemen die niet gerelateerd zijn aan Unix (IEEE PASC - POSIX 1003, X/Open - Common API). POSIX-compatibele systemen zijn dus Open-VMS, Windows NT, OS/2.

De basis van de draagbaarheid van Unix, als systeem dat zich richt op een breed scala aan hardwareplatforms, is de modulaire structuur met een centrale kernel. Aanvankelijk bevatte de UNIX-kernel een reeks tools die verantwoordelijk waren voor het verzenden van processen, geheugentoewijzing, het werken met het bestandssysteem, ondersteuning voor externe apparaatstuurprogramma's, netwerk- en beveiligingstools.

Door vervolgens de minimaal vereiste set tools van de traditionele kernel te isoleren, werd een microkernel gevormd. De bekendste implementaties van Unix-microkernels zijn Amoeba, Chorus (Sun Microsystems), QNX (QNX Software Systems). De Chorus-microkernel beslaat 60 KB, QNX - 8 KB. Op basis van QNX werd een 30 KB POSIX-compatibele Neutrino-microkernel ontwikkeld. Aan de Carnegie Mellon University in 1985 werd de Mach-microkernel ontwikkeld, gebruikt in NeXT OS (NeXT), MachTen (Mac), OS/2, AIX (voor IBM RS/6000), OSF/1, Digital UNIX (voor Alpha), Windows NT, BeOS.

In Rusland wordt het Unix-besturingssysteem gebruikt als netwerktechnologie en besturingsomgeving voor verschillende computerplatforms. De infrastructuur van het Russische internet werd gevormd op basis van Unix. Sinds het begin van de jaren tachtig werd huishoudelijk werk aan het Unix-besturingssysteem uitgevoerd bij het vernoemde Institute of Atomic Energy. I. V. Kurchatov (KIAE) en het Instituut voor Toegepaste Cybernetica van het Ministerie van Auto-industrie. Het resultaat van de eenwording van deze teams was de geboorte van het DEMOS-besturingssysteem (Dialogue Unified Mobile Operating System), dat, naast de binnenlandse analogen van de PDP-11 (SM-4, SM-1420), werd overgebracht naar de ES Computer en Elbrus. Ondanks zijn veelzijdigheid verloor Unix de pc-markt aan de Windows-familie van Microsoft. Het Unix-besturingssysteem behoudt zijn positie op het gebied van bedrijfskritische systemen met een hoge mate van schaalbaarheid en fouttolerantie.

Linux-basisprincipes

Linux is geïnspireerd op het Unix-besturingssysteem, dat in 1969 verscheen en nog steeds in gebruik en in ontwikkeling is. Een groot deel van de interne werking van UNIX bestaat uit Linux, wat essentieel is voor het begrijpen van de fundamenten van het systeem.

Unix richtte zich primair op de opdrachtregelinterface, en Linux heeft dit geërfd. De grafische gebruikersinterface met zijn vensters, afbeeldingen en menu's is dus bovenop de hoofdinterface gebouwd: de opdrachtregel. Bovendien betekent dit dat het Linux-bestandssysteem is ontworpen om gemakkelijk te beheren en toegankelijk te zijn vanaf de opdrachtregel.

Directory's en bestandssysteem

Bestandssystemen in Linux en Unix zijn georganiseerd volgens een hiërarchische, boomachtige structuur. Het hoogste niveau van het bestandssysteem is / of hoofdmap . Dit betekent dat alle andere bestanden en mappen (inclusief andere schijven en partities) zich in de hoofdmap bevinden. In UNIX en Linux wordt alles als een bestand beschouwd, inclusief harde schijven, hun partities en verwisselbare media.

In /home/jebediah/cheeses.odt wordt bijvoorbeeld het volledige pad naar het bestand cheeses.odt weergegeven. Het bestand bevindt zich in de jebediah-map, die zich in de thuismap bevindt, die zich op zijn beurt in de hoofdmap (/) bevindt.

Binnen de hoofdmap (/) bevinden zich een aantal belangrijke systeemmappen die aanwezig zijn in de meeste Linux-distributies. Het volgende is een lijst met gedeelde mappen die zich direct onder de hoofdmap (/) bevinden:

Toegangsrechten

Alle bestanden in Linux hebben machtigingen waarmee ze wel of niet kunnen worden gelezen, gewijzigd of uitgevoerd. De supergebruiker "root" heeft toegang tot elk bestand op het systeem.

Elk bestand heeft de volgende drie sets machtigingen, in volgorde van belangrijkheid:

    eigenaar

    verwijst naar de gebruiker die de eigenaar van het bestand is

    groep

    behoort tot de groep die aan het bestand is gekoppeld

    ander

    geldt voor alle andere gebruikers van het systeem

Elk van de drie sets definieert toegangsrechten. De rechten, en hoe deze worden toegepast op verschillende bestanden en mappen, worden hieronder weergegeven:

    lezing

    bestanden kunnen worden weergegeven en geopend om te lezen

    mapinhoud is beschikbaar om te bekijken

    dossier

    bestanden kunnen worden gewijzigd of verwijderd

    de inhoud van de mappen is beschikbaar voor wijzigingen

    uitvoering

    uitvoerbare bestanden kunnen als programma's worden uitgevoerd

    mappen kunnen worden geopend

Om de machtigingen voor bestanden en mappen te bekijken en te bewerken, opent u het Applicaties → Accessoires → Thuismap en klik met de rechtermuisknop op een bestand of map. Selecteer vervolgens Eigenschappen. De machtigingen bestaan ​​onder de Machtigingen tabblad en staat het bewerken van alle machtigingsniveaus toe, als u de eigenaar van het bestand bent.

Voor meer informatie over bestandsrechten in Linux leest u de pagina met bestandsrechten in de Ubuntu Wiki.

Terminals

Werken op de opdrachtregel is niet zo'n lastige taak als je zou denken. Er is geen speciale kennis nodig om te weten hoe u de opdrachtregel moet gebruiken. Het is een programma zoals al het andere. De meeste dingen in Linux kunnen worden gedaan via de opdrachtregel, hoewel er voor de meeste programma's grafische hulpmiddelen bestaan. Soms zijn ze gewoon niet genoeg. Dit is waar de opdrachtregel van pas komt.

De Terminal bevindt zich in Toepassingen → Terminal . De terminal wordt vaak de opdrachtprompt of de shell genoemd. Vroeger was dit de manier waarop de gebruiker met de computer omging. Linux-gebruikers hebben echter ontdekt dat het gebruik van de shell sneller kan zijn dan een grafische methode en dat dit nog steeds enige voordelen heeft. Hier leert u hoe u de terminal gebruikt.

De terminal werd oorspronkelijk gebruikt voor bestandsbeheer en wordt inderdaad nog steeds gebruikt als bestandsbrowser als de grafische omgeving niet werkt. U kunt de terminal als browser gebruiken om bestanden te beheren en aangebrachte wijzigingen ongedaan te maken.

Basiscommando's

Mapinhoud bekijken: ls

Team ls toont een lijst met bestanden in verschillende kleuren met volledige tekstopmaak

Mappen aanmaken: mkdir (mapnaam)

Team mkdir maakt een nieuwe map aan.

Ga naar map: cd (/adres/map)

Team CD Hiermee kunt u naar elke map gaan die u opgeeft.

Een bestand of map kopiëren: cp (wat de bestands- of mapnaam is) (waar is de map of bestandsnaam)

Team cp kopieert elk geselecteerd bestand. Team cp-r kopieert elke geselecteerde map met alle inhoud.

Bestanden of mappen verwijderen: rm (bestands- of mapnaam)

Team rm verwijdert elk geselecteerd bestand. Team rm-rf verwijdert elke geselecteerde map met de volledige inhoud ervan.

Hernoem een ​​bestand of map: mv (bestands- of mapnaam)

Team mv hernoemt of verplaatst het geselecteerde bestand of de geselecteerde map.

Mappen en bestanden zoeken: lokaliseren (map- of bestandsnaam)

Team lokaliseren Hiermee kunt u een specifiek bestand op uw computer vinden. Bestandsindexering wordt gebruikt om het werk te versnellen. Voer de opdracht in om de index bij te werken bijgewerktb. Het wordt elke dag automatisch uitgevoerd wanneer de computer wordt ingeschakeld. Om deze opdracht uit te voeren, hebt u supergebruikersrechten nodig (zie “De rootgebruiker en de sudo-opdracht”).

U kunt ook jokertekens gebruiken om meer dan één bestand op te geven, zoals "*" (komen overeen met alle tekens) of "?" (komt overeen met één teken).

Voor een grondige introductie van de Linux-opdrachtregel leest u de opdrachtregelintroductie op de Ubuntu-wiki.

Tekst bewerken

Alle configuraties en instellingen in Linux worden opgeslagen in tekstbestanden. Hoewel u configuraties meestal via de grafische interface kunt bewerken, kan het zijn dat u ze af en toe met de hand moet bewerken. Muismat is de standaard Xubuntu-teksteditor, die u kunt starten door te klikken op Toepassingen → Accessoires → Muismat in het bureaubladmenusysteem.

Soms, Muismat gestart vanaf de opdrachtregel met behulp van de applicatie gksudo, die loopt Muismat met beheerdersrechten, waarmee u configuratiebestanden kunt wijzigen.

Als u een teksteditor op de opdrachtregel nodig heeft, kunt u deze gebruiken nano- eenvoudig te gebruiken teksteditor. Wanneer u vanaf de opdrachtregel werkt, gebruikt u altijd de volgende opdracht om automatische woordterugloop uit te schakelen:

Nano-w

Voor meer informatie over het gebruik nano, raadpleeg de gids op de wiki.

Er zijn ook nogal wat andere terminalgebaseerde editors beschikbaar in Ubuntu. Populaire zijn onder meer VIM En Emacs(de voor- en nadelen van elk zijn aanleiding voor veel vriendschappelijke discussies binnen de Linux-gemeenschap). Deze zijn vaak complexer in gebruik dan nano, maar zijn ook krachtiger.

rootgebruiker en sudo-opdracht

De rootgebruiker in GNU/Linux is de gebruiker die beheerderstoegang tot uw systeem heeft. Normale gebruikers hebben deze toegang om veiligheidsredenen niet. Ubuntu schakelt de rootgebruiker echter niet in. In plaats daarvan wordt beheerderstoegang gegeven aan individuele gebruikers, die de "sudo"-applicatie kunnen gebruiken om administratieve taken uit te voeren. Het eerste gebruikersaccount dat u tijdens de installatie op uw systeem hebt aangemaakt, heeft standaard toegang tot sudo. U kunt sudo-toegang voor gebruikers beperken en inschakelen met de Gebruikers en groepen applicatie (zie "Gebruikers en groepen beheren" voor meer informatie).

Wanneer u een programma opent waarvoor supergebruikersrechten vereist zijn, vereist sudo dat u uw wachtwoord invoert. Dit zorgt ervoor dat kwaadaardige applicaties uw systeem niet kunnen beschadigen, en herinnert u er ook aan dat u op het punt staat acties uit te voeren die extra voorzichtigheid vereisen!

Om sudo op de opdrachtregel te gebruiken, typt u eenvoudigweg "sudo" vóór de opdracht die u wilt uitvoeren. Hierna wordt u gevraagd uw wachtwoord in te voeren.

Sudo onthoudt uw wachtwoord gedurende 15 minuten (standaard). Deze functie is ontworpen om gebruikers in staat te stellen meerdere administratieve taken uit te voeren zonder telkens om een ​​wachtwoord te worden gevraagd.

Wees voorzichtig bij het uitvoeren van administratieve taken; u kunt uw systeem beschadigen!

Enkele andere tips voor het gebruik van sudo zijn:

    Om de terminal als supergebruiker (root) te gebruiken, typt u "sudo -i" op de opdrachtregel

    De hele reeks standaard grafische configuratietools in Ubuntu maakt al gebruik van sudo, dus ze zullen u indien nodig om uw wachtwoord vragen.

    Bij het uitvoeren van grafische toepassingen wordt "gksudo" gebruikt in plaats van "sudo". Hiermee kunt u de gebruiker in een klein grafisch venster om een ​​wachtwoord vragen. De opdracht "gksudo" is handig als u een startknop wilt installeren Synaptisch naar uw paneel of iets dergelijks.

    Voor meer informatie over de sudo programma en de afwezigheid van een rootgebruiker in Ubuntu, lees de sudo-pagina op de Ubuntu-wiki.

UNIX-besturingssysteem

Officiële geboortedatum van het besturingssysteem UNIX beschouwd als 1 januari 1970. Vanaf dit moment telt elk UNIX-systeem zijn systeemtijd. Dit is erg lang voor een besturingssysteem. Tegenwoordig behoort UNIX, ondanks de opkomst van veel andere besturingssystemen die op andere principes zijn gebouwd, duidelijk tot de leiders.

De belangrijkste kenmerken van UNIX, die ons in staat stellen de redenen voor de lange levensduur van dit systeem te begrijpen, zijn onder meer de volgende.

De systeemcode is geschreven in SI-taal op hoog niveau, waardoor deze gemakkelijk te begrijpen, te wijzigen en over te dragen is naar andere hardwareplatforms.

Ondanks de verscheidenheid aan UNIX-versies is de hele familie gebaseerd op een fundamenteel identieke architectuur en een aantal standaardinterfaces.

UNIX heeft een eenvoudige maar krachtige set standaardgebruikersinterfaces.

De UNIX Unified File System Interface biedt niet alleen toegang tot gegevens die op schijven zijn opgeslagen, maar ook tot terminals, printers, magneetbanden, cd's, netwerken en zelfs geheugen.

Voor het UNIX-systeem is een groot aantal verschillende toepassingen ontwikkeld - van eenvoudige teksteditors tot krachtige databasebeheersystemen.

Over het algemeen kan het UNIX-besturingssysteem worden weergegeven door een model met twee niveaus, zoals weergegeven in Fig. 8.1
.

In het centrum ligt systeem kernel. De kernel werkt rechtstreeks samen met de computerhardware, waardoor toepassingsprogramma's worden geïsoleerd van de kenmerken van de architectuur. De kernel bevat programma's die een reeks services implementeren die aan applicatieprogramma's worden geleverd. Kerneldiensten omvatten I/O-bewerkingen, procescreatie en -beheer, processynchronisatie, enz. Het volgende niveau van het model zijn systeemservices die de gebruikersinterface van het UNIX-besturingssysteem leveren. Het interactieschema met de kernel van zowel applicaties als systeemtaken is hetzelfde.

UNIX-besturingssysteemfuncties

Het UNIX-besturingssysteem werkt samen met de hardware- en softwarebronnen van de computer om te presteren volgende functies:

    beheer van apparatuur;

    beheer van hulpbronnen;

    systeemmonitoring;

Beheer van apparatuur

Applicatieprogramma's hebben niet de mogelijkheid om computerhardware rechtstreeks te besturen. Alleen het besturingssysteem voert hardwarebeheerfuncties uit, waardoor applicaties en andere programma's toegang krijgen tot randapparatuur (terwijl de noodzaak om de details van het beheer van een dergelijk apparaat te kennen wordt geëlimineerd). Het concept van programma-onafhankelijkheid van een specifieke hardware-implementatie, ingebed in het besturingssysteem, is een van de belangrijke elementen om de draagbaarheid van het UNIX-besturingssysteem te garanderen, waardoor het op grote schaal kan worden gebruikt in een verscheidenheid aan hardwareconfiguraties.

Beheer van hulpbronnen

UNIX OS beheert de distributie van computerbronnen onder veel gebruikers die veel taken tegelijkertijd uitvoeren, waarbij ze vaak met verschillende objecten werken, en ondersteunt multitasking en werkingsmodi voor meerdere gebruikers. Met multitasking kan één gebruiker meerdere programma's tegelijkertijd uitvoeren, terwijl de CPU en het RAM-geheugen worden gedeeld door meerdere processen.

In de modus voor meerdere gebruikers kunnen meerdere gebruikers tegelijkertijd werken door computerbronnen te delen, inclusief dure randapparatuur zoals printers of plotters. Deze werkwijze blijkt kosteneffectiever dan het combineren van meerdere machines met elk één gebruiker.

Ondersteuning van gebruikersinterface

Dit is een middel om interactieve (dialoog)interactie te bieden tussen gebruikers en een computersysteem.

Moderne versies van het UNIX-besturingssysteem ondersteunen verschillende interface typen: opdrachtregel, menu en grafische gebruikersinterface.

Commandoregel meestal handig voor gebruikers die bekend zijn met de functies en ploegen systemen. Wanneer u met dit type interface werkt, voert de gebruiker bij de "prompt" (de standaardwaarde voor de gebruiker is een dollarteken) elke opdracht via het toetsenbord in. Deze interface biedt geen overzicht van het systeem, maar biedt u de mogelijkheid om elk commando op het systeem uit te voeren. Programma's die een dergelijke interface bieden, worden aangeroepen commandoshells(schelp). Er zijn veel opdrachtshells: Bourne shell (sh), Bourne Again Shell (bash), Korn shell (ksh), C shell (csh), Debian Almquist shell (dash), Zsh, enz. De meest voorkomende is bash.

Meestal gebruikt door beginners of gebruikers die een aantal installaties in het besturingssysteem moeten uitvoeren. Vaak functioneert zo'n interface als een leidraad: het stelt de gebruiker in staat een functie uit een lijst (menu) te selecteren die door het systeem zal worden uitgevoerd. Meestal zijn menu's georganiseerd als gelaagde tekst, waardoor de gebruiker meerdere keuzes wordt geboden. Een voorbeeld van een dergelijke interface is het sysadm-programma, dat de systeembeheerder helpt bij het uitvoeren van werkzaamheden aan het configureren en configureren van het systeem.

Grafische gebruikersinterface gericht op zowel beginners als gevorderde gebruikers. Het biedt verschillende manieren om met de computer te communiceren: overzicht van systeemobjecten weergegeven door pictogrammen, uitvoering van opdrachten door een grafische afbeelding (pictogram) op het weergavescherm te selecteren met behulp van een "muis" of een trackingball-apparaat. UNIX OS biedt X.desktop als grafische gebruikersinterface voor het werken met speciale X-terminals, of het X Window-systeem voor het werken met gewone grafische terminals.

Het op afstand verlenen van toegang tot een computernetwerk

Het UNIX-besturingssysteem biedt gebruikers toegang tot de bronnen van andere computers die op het computernetwerk werken. Het besturingssysteem bevat een reeks netwerktoepassingen waarmee u verbinding kunt maken met een externe computer, u kunt registreren op een extern systeem, gegevens kunt overbrengen tussen netwerkcomputers en e-mail kunt gebruiken. UNIX ondersteunt netwerken NFS-bestandssysteem(Network File System), waarmee u besturingssysteemopdrachten kunt gebruiken om toegang te krijgen tot het bestandssysteem van een externe computer.

Componenten van het UNIX-besturingssysteem

Zoals hierboven vermeld, is een besturingssysteem een ​​reeks programma's die functies bieden voor het beheren van processen in het systeem en die de interface tussen gebruikers en systeemhardware implementeren. UNIX-systeem bevat drie hoofdcomponenten: commandosysteem, shell en kernel.

Het UNIX-besturingssysteem bevat honderden opdrachten die taken uitvoeren op het gebied van het organiseren en verwerken van gegevens en het beheren van de gebruikersomgeving. De opdrachten zelf zijn programma's die specifieke functies uitvoeren, waarvoor doorgaans minimale invoer nodig is, en die relatief snel worden uitgevoerd. De meeste zijn beschikbaar voor alle gebruikers, maar er zijn opdrachten die alleen beschikbaar zijn voor de systeembeheerder, die een bevoorrechte gebruiker is. Sommige opdrachten die interactieve invoer van informatie mogelijk maken wanneer ze worden uitgevoerd, worden soms aangeroepen nutsvoorzieningen. Voorbeelden van hulpprogramma's zijn de vi-teksteditor en de mail-opdracht voor het beheren van e-mail.

Schelpen. Shells worden gewoonlijk interactieve programma's genoemd die een gebruikersinterface bieden voor de kernel van het besturingssysteem. De shell wordt het actieve proces van de gebruiker vanaf het moment dat hij zich aanmeldt bij het systeem totdat hij zich afmeldt. Deze programma's zijn opdrachttolken (ook wel opdrachtprocessors genoemd).

Zoals hierboven opgemerkt, gebruikt het UNIX-besturingssysteem gewoonlijk verschillende shells.

Beperkte shells (rsh en ksh zijn subsets van de Bourne-shell en Korn-shell) zijn ontworpen voor gebruikers die de toegang tot het systeem moeten beperken.

Kern. De systeemkernel is de kern van het besturingssysteem en biedt basisfuncties: processen creëren en beheren, geheugen toewijzen en toegang bieden tot bestanden en randapparatuur.

Interactie van applicatietaken met de kernel vindt plaats via een standaard systeemaanroepinterface. De systeemoproepinterface definieert het formaat van verzoeken voor basisdiensten. Een proces vraagt ​​om een ​​basiskernelfunctie via een systeemaanroep naar een specifieke kernelprocedure. De kernel voert het verzoek uit en stuurt de benodigde gegevens terug naar het proces.

De kern bestaat uit drie belangrijke subsystemen:

    1) subsysteem voor proces- en geheugenbeheer;

    2) bestandssubsysteem;

    3) invoer/uitvoer-subsysteem.

Presteert volgende functies:

    processen aanmaken en verwijderen;

    verdeling van systeembronnen tussen processen;

    processynchronisatie;

    interactie van processen.

Een speciale kernelfunctie, uitgevoerd door de procesplanner (planner), lost conflicten op tussen processen die strijden om systeembronnen.

Biedt geheugentoewijzing tussen processen. Als er niet genoeg geheugen is voor alle processen, verplaatst de kernel delen van het proces of meerdere processen (meestal passieve, wachtend op bepaalde gebeurtenissen in het systeem) naar een speciaal gebied op de schijf (het “swap” -gebied ), waardoor middelen vrijkomen voor het uitvoeren van (actieve) processen.

Bestandssubsysteem biedt een uniforme interface voor toegang tot gegevens op schijfstations en randapparatuur. Het voert bewerkingen uit voor het plaatsen en verwijderen van bestanden, voert schrijf-/leesbewerkingen voor bestandsgegevens uit en controleert ook de toegangsrechten tot bestanden.

Voert verzoeken uit van het bestandssubsysteem en het procesbeheersubsysteem om toegang te krijgen tot randapparatuur. Het werkt samen met apparaatstuurprogramma's - speciale kernelprogramma's die externe apparaten bedienen.

Toegang tot UNIX-systeem

Om contact te maken met een UNIX-systeem, moet u moet hebben:

    terminal;

Een registratienaam verkrijgen

Registratienaam is de naam die het UNIX-systeem gebruikt om te controleren of u een geautoriseerde gebruiker van het systeem bent wanneer u er toegang toe vraagt.

Elke keer dat u wilt inloggen, moet u uw inlognaam invoeren.

Er zijn verschillende regels voor het kiezen van een registratienaam. Normaal gesproken ligt de naamlengte tussen de 3 en 8 tekens. Het kan bestaan ​​uit hoofdletters of kleine letters, cijfers en onderstrepingstekens, maar mag niet met een cijfer beginnen.

Uw registratienaam kan echter specifiek zijn voor uw toepassing. Voorbeelden van geldige namen:

Communicatie met een UNIX-systeem

Als UNIX op een pc is geïnstalleerd, kunt u zich er rechtstreeks op aanmelden met behulp van een op tekst gebaseerde virtuele console. Maar ook andere toegangsmogelijkheden zijn mogelijk.

Laten we aannemen dat de terminal rechtstreeks of via een telefoonlijn op een computer is aangesloten. Hoewel in dit gedeelte een typische aanmeldingsprocedure wordt beschreven, zijn deze instructies mogelijk niet van toepassing op uw systeem omdat... Er zijn verschillende manieren om via een telefoonlijn in te loggen op een UNIX-systeem.

Om met het systeem te communiceren, moet u de terminal inschakelen.

Als het rechtstreeks op de computer is aangesloten, verschijnt er onmiddellijk een prompt in de linkerbovenhoek:

Als een personal computer die is geconfigureerd om te werken op een netwerk met behulp van de TCP/IP-protocolfamilie als terminal wordt gebruikt, is het noodzakelijk om een ​​verbinding tot stand te brengen met een computer waarop UNIX OS is geïnstalleerd. Dit kan op verschillende manieren worden gedaan, bijvoorbeeld met behulp van de telnet-netwerktoepassing in Windows-besturingssystemen of met behulp van internettoegangstools. Houd er rekening mee dat dit een onveilig protocol is dat tegenwoordig vrijwel niet meer wordt gebruikt. Een modern alternatief is Secure Shell (SSH).

Voorbeeld.

Als terminal wordt een personal computer met Windows NT OS geconfigureerd voor netwerkgebruik gebruikt. U moet zich registreren in een UNIX-systeem.

Vereiste invoer en acties:

    om een ​​verbinding tot stand te brengen met het UNIX-besturingssysteem, moet u de netwerknaam van de externe computer of het IP-adres ervan kennen (bijvoorbeeld 192.168.2.19);

    zoek de telnet-applicatie op uw pc en start deze;

    selecteer in het geopende toepassingsvenster het menu-item Verbinding;

    voer het IP-adres van het externe UNIX-systeem in (bijvoorbeeld 192.168.2.19);

    stel de terminalkarakteristieken naar wens in.

Registratieprocedure

Wanneer de login:-prompt verschijnt, voert u uw loginnaam in en drukt u op . Als uw inlognaam bijvoorbeeld all30123 is, ziet de inlogreeks er als volgt uit:

    inloggen: all30123

Als u een fout maakt bij het invoeren van uw inlognaam, kunt u deze corrigeren door het @-symbool of de sleutel te gebruiken .

Houd er rekening mee dat de hoofdlettergrootte van de tekens die u invoert belangrijk is. De namen all30123 en ALL30123 behoren toe aan twee verschillende gebruikers.

Het systeem vraagt ​​u nu om uw wachtwoord in te voeren. Voer uw wachtwoord in en druk op de toets . Als u bij het invoeren een fout maakt, kunt u deze met de sleutel corrigeren of het @-symbool. UNIX geeft om veiligheidsredenen uw wachtwoord niet op het scherm weer.

Als de aanmeldingsnaam en het wachtwoord geldig zijn op een UNIX-systeem, kan het systeem de huidige informatie weergeven en vervolgens een opdrachtprompt.

Wanneer u inlogt, ziet uw terminalscherm er als volgt uit:

    inloggen: all30123

Als u een fout maakt tijdens het inloggen, zal UNIX een bericht weergeven:

    inloggen onjuist

U krijgt dan een tweede kans om in te loggen met een login: prompt. Het scherm ziet er als volgt uit:

    inloggen: all30123

Als u nog nooit op een UNIX-systeem bent ingelogd, kan uw aanmeldingsprocedure afwijken van de hierboven beschreven procedure. Dit kan gebeuren als de systeembeheerder een procedure heeft voor het toewijzen van tijdelijke wachtwoorden aan nieuwe gebruikers. Als u een tijdelijk wachtwoord heeft, zal het systeem u dwingen een nieuw wachtwoord te kiezen voordat u zich kunt registreren.

Door u te dwingen een nieuw wachtwoord te kiezen, uitsluitend voor uw eigen gebruik, biedt het systeem meer veiligheid.

Loginprocedure:

    Je legt contact; UNIX-systemen geven de login:-prompt weer. Voer uw loginnaam in en druk op de toets .

    UNIX-systemen geven een wachtwoord weer: prompt. Voer uw tijdelijke wachtwoord in en druk op de toets .

    Het systeem informeert u dat uw tijdelijke wachtwoord niet langer geldig is en vraagt ​​u een nieuw wachtwoord te selecteren.

    Het systeem zal u vragen uw oude wachtwoord in te voeren. Voer een tijdelijk wachtwoord in.

    Het systeem zal u vragen uw nieuwe wachtwoord in te voeren. Voer het door u gekozen wachtwoord in.

Het wachtwoord moet overeenkomen volgende vereisten:

    elk wachtwoord moet uit minimaal 6 tekens bestaan;

    Elk wachtwoord moet minimaal 2 alfabetische tekens en één cijfer of speciaal teken bevatten. Een alfabetisch teken kan in grote of kleine letters worden getypt;

    Elk wachtwoord moet verschillend zijn van uw inlognaam. Hoofdletters en de bijbehorende kleine letters zijn gelijkwaardig;

    Het nieuwe wachtwoord moet minimaal drie tekens verschillen van het oude.

Voorbeelden van geldige wachtwoorden:

Ter controle vraagt ​​het systeem u uw wachtwoord opnieuw in te voeren. Voer uw wachtwoord opnieuw in.

Als u een nieuw wachtwoord een tweede keer anders invoert dan de eerste keer, zal het systeem u informeren dat de wachtwoorden niet overeenkomen en u vragen de registratieprocedure opnieuw te herhalen. Wanneer de wachtwoorden overeenkomen, geeft het systeem een ​​hint weer.

Het volgende scherm toont de beschreven procedure:

    inloggen: dko30123

    wachtwoord:

    Uw wachtwoord is verlopen

    Kies een nieuwe

    Oud wachtwoord:

    Nieuw wachtwoord:

    Voer het nieuwe wachtwoord opnieuw in:

Gebruikersidentificatie

Wanneer een systeembeheerder een gebruiker op het systeem registreert, zijn er twee identificatiecomponenten gekoppeld aan de inlognaam: gebruikers-ID(gebruikers-ID - UID) en groeps-id waartoe het behoort (groeps-ID - GID).

De gebruikersnaam is gekoppeld aan een uniek nummer. Het systeem gebruikt het als hulpmiddel in verschillende UNIX-beveiligingsmechanismen, zoals het beschermen van bestanden of het uitvoeren van bevoorrechte opdrachten.

Elk UNIX-besturingssysteem heeft één speciale superuser met UID = 0, die meestal wordt geassocieerd met de naam root. Dit betekent dat de gebruiker alle systeemrechten heeft.

De groepsnaam is ook gekoppeld aan een nummer, dat meestal verwijst naar een groep gebruikers die verenigd zijn door gemeenschappelijke taken, bijvoorbeeld afdelingsmedewerkers, studenten van dezelfde stroom, enz. Dit nummer wordt ook gebruikt door beveiligingsmechanismen in het systeem. Als de gebruiker met gegevens uit andere groepen moet werken, wordt deze identifier gekoppeld aan de namen van de andere groepen.

Alle registratie-informatie over systeemgebruikers wordt opgeslagen in het bestand /etc/passwd.

In moderne versies van UNIX OS worden gecodeerde wachtwoorden en gerelateerde systeeminformatie opgeslagen in het bestand /etc/shadow, waarvan de structuur en het doel van de velden worden weergegeven in Fig. 8.2
.

Gegevensrecords over elke geïnstalleerde groep zijn opgenomen in het bestand /etc/group, waarvan de structuur en het doel van de velden worden weergegeven in Fig. 8.3 .

De structuur en het doel van de velden in het bestand /etc/passwd worden getoond in Fig. 8.4
.

Invoerconventies

Bij interactie met een UNIX-systeem moet u op de hoogte zijn van invoerconventies. Het UNIX-systeem vereist dat u opdrachten in kleine letters invoert (met uitzondering van enkele opdrachten met hoofdletters). Met andere conventies kunt u taken uitvoeren, zoals letters wissen of een regel verwijderen, door op één of twee toetsen te drukken.

Tabel 8.1.
Invoerovereenkomsten

Sleutel

Functie

Systeemopdrachtprompt (vraagt ​​u om uw opdracht in te voeren)

of<^h>

Wis karakter

Stop de uitvoering van een programma of opdracht

Verwijder de huidige opdrachtregel

Wanneer het in combinatie met een ander symbool wordt gebruikt, betekent dit dat een speciale functie wordt uitgevoerd (een zogenaamde codeschakelreeks). Bij gebruik in de bewerkingsmodus van de vi-editor betekent dit het einde van de tekstinvoermodus en het terugkeren naar de opdrachtmodus

Geeft het einde van de invoerregel aan en plaatst de cursor op een nieuwe regel

Stop met inloggen of uitloggen (afsluiten)

Ga één teken terug (voor terminals die geen sleutel hebben )

Stop tijdelijk de schermuitvoer

Ga door met het weergeven van informatie die niet meer werd gebruikt<^s>

Opmerking. In tabel 2.1 ^-symbool betekent controleteken . Dat wil zeggen dat u in dit geval twee toetsen tegelijkertijd moet indrukken: de stuurtekentoets en de opgegeven letter.

Commando-hint

De standaard opdrachtregelprompt voor een gebruiker op een UNIX-systeem is het dollarteken $. Voor de rootgebruiker - #. Wanneer er een prompt op uw terminalscherm verschijnt, betekent dit dat het UNIX-systeem op instructies van u wacht. Het juiste antwoord op een prompt van uw kant is het geven van een opdracht, gevolgd door een toetsaanslag .

Het corrigeren van invoerfouten

Er zijn verschillende manieren om invoerfouten te corrigeren. Het @-symbool wist de huidige regel en de toetsen En<^h>wist het laatst ingevoerde teken. Deze sleutels en tekens zijn de standaardwaarden. De functies die ze uitvoeren kunnen opnieuw worden toegewezen aan andere toetsen.

Uitvoering van opdrachten stoppen

Om te voorkomen dat de meeste opdrachten worden uitgevoerd, drukt u eenvoudig op de sneltoets . Het UNIX-systeem stopt het programma en geeft een prompt op het scherm weer. Deze prompt dient als signaal dat de laatste uitgevoerde opdracht is gestopt en dat het systeem klaar is om de volgende opdracht te ontvangen.

Wanneer er een prompt op het scherm verschijnt, heeft het UNIX-systeem u herkend als een geautoriseerde gebruiker en wacht het tot u een opdracht invoert.

Over het algemeen heeft de opdrachtregel de volgende structuur:

    naam [opties] [argumenten]

De opdrachtnaam, opties en argumenten moeten worden gescheiden door een spatie of tab. De verwerking van de opdrachtregel door de tolk begint pas na het indrukken van een toets .

Bij de volgende beschrijving van de functies van de commando's wordt ervan uitgegaan:

Opties (parameters):

    zijn een teken van commandowijziging en bestaan ​​in de regel uit één teken; grote en kleine letters betekenen verschillende wijzigingen;

    in de regel beginnen ze met een “-” (“min”) symbool, dat niet door een spatie wordt gescheiden van andere tekens;

    kan op elke manier worden gecombineerd, maar het minteken kan slechts één keer worden gebruikt.

De argumenten specificeren de objecten die door de opdracht moeten worden verwerkt, bijvoorbeeld:

    bestandsnaam;

    procesnummer;

Als u weet wat het opgeroepen programma moet doen, maar niet zeker bent van de juiste syntaxis, kunt u de optie --help op de opdrachtregel opgeven na de opdrachtnaam:

    $cal --help

Om gedetailleerde informatie te kunnen verkrijgen, heeft het UNIX-besturingssysteem een ​​ingebouwde handleiding (online), waartoe toegang wordt geboden door de man en de bijbehorende opdrachten.

In het eenvoudigste geval moet u, om informatie over een opdracht te verkrijgen, de naam ervan opgeven als argument voor de opdracht man:

    man commandonaam

apropos geeft een lijst met opdrachten weer volgens het trefwoord (patroon) dat is opgegeven als opdrachtargument:

    betreffende sjabloon

Voorbeelden.

Als u de datumopdracht uitvoert en op de toets drukt , roept het UNIX-systeem een ​​programma op met de naam date , voert het uit en geeft het resultaat op het scherm weer:

    $datum

    Dinsdag 18 september 14:49:07 2000

Het datumcommando geeft de datum en tijd weer.

Als u het who-commando uitvoert en op de toets drukt , dan ziet het scherm er als volgt uit:

    $ WHO

    dko30024

    18 oktober 8:30 uur

    dko30001

    18 oktober 8:34

    dko30020

    18 oktober 8:32

    18 oktober 8:00 uur

die de inlognamen vermeldt van de gebruikers die momenteel op uw systeem actief zijn. De tty-aanduiding (tweede kolom) verwijst naar speciale bestanden die overeenkomen met elke gebruikersterminal. De derde en vierde kolom geven de datum en het tijdstip van registratie van elke gebruiker aan. .

Dit betekent dat u uw werk met het systeem succesvol heeft afgerond en dat het klaar is om een ​​nieuwe gebruiker te registreren.

Als u inlogt vanaf een externe terminal, wordt de verbinding verbroken, wat u bijvoorbeeld wordt gemeld door de telnet-applicatie.

Opmerking. Voordat u de terminal loskoppelt, moet u het systeem uitschakelen.

Belangrijkste bevindingen

    UNIX is een multitasking-systeem voor meerdere gebruikers. Eén krachtige server kan de verzoeken van een groot aantal gebruikers verwerken. Het systeem kan verschillende functies vervullen: werken als computerserver die honderden gebruikers bedient, als databaseserver, als netwerkserver of netwerkrouter.

    Over het algemeen kan het UNIX-besturingssysteem worden weergegeven als een model met twee lagen. In het midden bevindt zich de systeemkern (kernel). De kernel werkt rechtstreeks samen met de computerhardware, waardoor toepassingsprogramma's worden geïsoleerd van de kenmerken van de architectuur. De kernel bevat programma's die een reeks services implementeren die aan applicatieprogramma's worden geleverd. Kerneldiensten omvatten I/O-bewerkingen, procescreatie en -beheer, processynchronisatie, enz. Het volgende niveau van het model zijn systeemservices die de gebruikersinterface van het UNIX-besturingssysteem leveren. Het interactieschema met de kernel van zowel applicaties als systeemtaken is hetzelfde.

    Het UNIX-besturingssysteem werkt samen met de hardware- en softwarebronnen van de computer om de volgende functies uit te voeren:

    • beheer van apparatuur;

      beheer van hulpbronnen;

      ondersteuning voor gebruikersinterface;

      het uitvoeren van informatie-invoer en -uitvoer;

      systeemmonitoring;

      het verlenen van externe toegang tot een computernetwerk.

    Een UNIX-systeem bevat drie hoofdcomponenten: het commandosysteem, de shell en de kernel.

    Het UNIX-besturingssysteem bevat honderden opdrachten die taken uitvoeren op het gebied van het organiseren en verwerken van gegevens en het beheren van de gebruikersomgeving. De opdrachten zelf zijn kleine programma's die specifieke functies uitvoeren, waarvoor doorgaans minimale invoer nodig is, en die relatief snel worden uitgevoerd.

    Shells worden gewoonlijk interactieve programma's genoemd die een gebruikersinterface bieden voor de kernel van het besturingssysteem. De shell wordt het actieve proces van de gebruiker vanaf het moment dat hij zich aanmeldt bij het systeem totdat hij zich afmeldt. Deze programma's zijn opdrachttolken (ook wel opdrachtprocessors genoemd).

    De systeemkernel is de kern van het besturingssysteem en biedt basisfuncties: processen creëren en beheren, geheugen toewijzen en toegang bieden tot bestanden en randapparatuur.

    De kernel bestaat uit drie hoofdsubsystemen:

    • subsysteem voor proces- en geheugenbeheer;

      bestandssubsysteem;

      input/output-subsysteem.

    Om contact te kunnen maken met een UNIX-systeem heeft u het volgende nodig:

    • terminal;

      een inlognaam die u identificeert als een geautoriseerde gebruiker;

      een wachtwoord dat uw identiteit verifieert;

      instructies voor dialoog en toegang tot het UNIX-systeem als uw terminal niet rechtstreeks op de computer is aangesloten.

Beveiligingsvragen

    Welke problemen moet de UNIX-besturingssysteemklasse oplossen?

    Welke mogelijkheden moet een besturingssysteem van UNIX-klasse bieden?

    Wat zijn de taken van de UNIX OS-kernel?

    Wat zijn de functies van de UNIX OS-kernel?

    Wat is het doel van de Command System-component van het besturingssysteem?

    Kunnen we zeggen dat de shell de gebruiker een interactieve interface biedt voor interactie met het besturingssysteem?

    Hoe wordt gebruikersauthenticatie uitgevoerd in UNIX?