Monthly Archives: July 2011

Link Layer

In computer netwerken, het Link Layer is de onderste laag in het Internet Protocol Suite (algemeen bekend als “TCP / IP”), de netwerk architectuur van het internet (RFC 1122, RFC 1123). Het is de groep van methoden of protocollen die alleen werken op de link een gastheer. De link is de fysieke en logische netwerk component gebruikt om hosts of nodes in het netwerk interconnect en een link protocol is een reeks van methoden en normen die alleen werken tussen aangrenzende netwerk nodes van een Local Area Network segment of een wide area network-verbinding.

Ondanks de verschillende semantiek van gelaagdheid in TCP / IP en OSI, is het Link Layer vaak omschreven als een combinatie van de Data Link Layer (Layer 2) en de fysieke laag (Laag 1) in de Open Systems Interconnection (OSI) protocol stack. Echter, TCP / IP ‘s lagen zijn beschrijvingen van operationele scopes (applicatie, host-to-host, netwerk, link) en niet gedetailleerde voorschriften van operationele procedures, data semantiek, of netwerktechnologieën.

RFC 1122 is een voorbeeld van dat lokaal netwerk protocollen zoals Ethernet en IEEE 802, en framing protocollen, zoals Point-to-Point Protocol (PPP) behoren tot het Link Layer.

Definitie in normen en leerboeken

LAN-standaarden zoals Ethernet en IEEE 802 specificaties te gebruiken terminologie uit de zeven-lagen OSI-model in plaats van de TCP / IP-referentiemodel. Het TCP / IP-model in het algemeen houdt geen rekening met fysieke specificaties, maar eerder uit van een werkend netwerk infrastructuur die media level frames kan leveren op de link. Daarom RFC 1122 en RFC 1123, de definitie van de TCP / IP-model, niet discussiëren hardware problemen en fysieke gegevensoverdracht en stelt geen normen voor die aspecten, andere dan de in grote lijnen waaronder ze als Link Layer componenten. Sommige auteurs leerboek hebben gesteund de interpretatie dat de fysieke overdracht van gegevens aspecten maken deel uit van het Link Layer. Die positie zal worden gehouden in de rest van dit artikel. Anderen aangenomen dat fysieke gegevensoverdracht normen niet worden beschouwd als communicatie-protocollen, en zijn geen onderdeel van de TCP / IP-model. Deze auteurs gaan uit van een hardware-laag of fysieke laag onder de link layer, en een aantal van hen neemt de OSI-term Data Link Layer in plaats van Link Layer in een aangepaste beschrijving van de gelaagdheid. In de voorloper van de TCP / IP-model, het Arpanet Reference Model (RFC 908, 1982), zijn aspecten van de link layer genoemd door een aantal slecht gedefinieerde termen, zoals de toegang tot het netwerk laag, toegang tot het netwerk protocol, evenals netwerklaag , terwijl de volgende hogere laag wordt genoemd internetwerk laag. In sommige moderne tekstboeken, netwerk interface laag, host-to-netwerklaag en de toegang tot het netwerk layer optreden als synoniemen hetzij aan de Link-Layer of de Data Link Layer, vaak inclusief de fysieke laag.

Link Layer protocollen

De kern protocollen die door de Internet Engineering Task Force te worden geplaatst in deze laag zijn het Address Resolution Protocol (ARP), zijn neef, de Reverse Address Resolution Protocol (RARP), en de Neighbor Discovery Protocol (NDP), die een faciliteit het leveren van dezelfde functionaliteit als ARP voor IPv6. Sinds de komst van IPv6, Open Shortest Path First (OSPF) kan worden beschouwd om te werken op de link niveau als goed, hoewel het IPv4-versie van het protocol werd beschouwd op het internet laag.

IS-IS (RFC 1142) is een andere link-state routing protocol dat past in deze laag bij het overwegen van TCP / IP-model, maar het is ontwikkeld binnen het OSI-referentiemodel stack (waar het is een Layer 3 protocol). Het is niet een Internet-standaard.

De Link Layer bevat ook alle hardware-specifieke interface methoden, zoals Ethernet en andere IEEE 802 encapsulatie-regelingen (zie Referenties).

Relatie tot OSI-model

De Link Layer van het TCP / IP-model wordt vaak direct vergeleken met de combinatie van de data link layer en de fysieke laag in het Open Systems Interconnection (OSI) protocol stack. Hoewel ze congruent tot op zekere hoogte in de technische dekking van de protocollen, ze zijn niet identiek. De Link Layer in TCP / IP is nog steeds groter in omvang en in principe een ander concept en de terminologie van de indeling. Dit kan worden waargenomen wanneer bepaalde protocollen, zoals het Address Resolution Protocol (ARP), die beperkt is tot de Link Layer in de TCP / IP-model, wordt vaak gezegd te monteren tussen de OSI’s Data Link Layer en de netwerklaag. In het algemeen moeten direct of strikte vergelijkingen worden vermeden, omdat de gelaagdheid in TCP / IP is niet een van de belangrijkste ontwerp-criterium en in het algemeen beschouwd als “schadelijk” (RFC 3439).

Een andere term die soms ondervonden, ‘Network Access Layer “, probeert de nabijheid van deze laag stellen voor om de fysieke netwerk. Echter, dit gebruik is misleidend en niet-standaard, omdat het Link Layer houdt in functies die verder reiken dan alleen toegang tot het netwerk. Belangrijke Link Layer protocollen worden gebruikt om de topologie van het lokale netwerk sonde, ontdekken routers en de naburige hosts, dat wil zeggen functies die verder gaan dan toegang tot het netwerk.

Transport Layer

In computernetwerken, de Transport Layer biedt end-to-end communicatie voor toepassingen binnen een gelaagde architectuur van het netwerk van componenten en protocollen. De transportlaag biedt handige diensten zoals connectie-georiënteerd data stream-ondersteuning, betrouwbaarheid, flow control, en multiplexing.

Transport lagen zijn opgenomen in zowel de TCP / IP-model (RFC 1122) , die de basis vormt van het internet, en de Open Systems Interconnection (OSI) model van de algemene netwerken. De definities van de Transport Layer zijn iets anders in deze twee modellen. Dit artikel heeft vooral betrekking op het TCP / IP-model, waarbij TCP grotendeels voor een handige application programming interface op internet hosts, in tegenstelling tot het OSI-model definitie van de Transport Layer.

De meest bekende transport protocol is het Transmission Control Protocol (TCP). Het leende zijn naam aan de titel van het hele Internet Protocol Suite, TCP / IP. Het wordt gebruikt voor de verbinding-oriented transmissies, terwijl de verbindingsloze User Datagram Protocol (UDP) wordt gebruikt voor eenvoudiger messaging-uitzendingen. TCP is de meer complexe protocol, als gevolg van de stateful ontwerp met betrouwbare transmissie en data stream services. Andere prominente protocollen in deze groep zijn de Datagram Congestion Control Protocol (Sv) en de Stream Control Transmission Protocol (SCTP).

Services

Er zijn veel diensten die optioneel kan worden geleverd door een Transport Layer protocol, en de verschillende protocollen kan al dan niet ten uitvoer leggen.

Connection-oriented communicatie: Het interpreteren van de verbinding als een datastroom kan veel voordelen bieden tot applicaties. Het is normaal gesproken gemakkelijker te behandelen dan de onderliggende verbinding-minder-modellen, zoals de onderliggende Internet Protocol het Transmission Control Protocol’s model van datagrammen. Byte oriëntatie: In plaats van het verwerken van de berichten in de onderliggende communicatie-systeem formaat, is het vaak makkelijker om een ​​aanvraag in bij de datastroom proces als een opeenvolging van bytes. Deze vereenvoudiging helpt applicaties werken met verschillende onderliggende boodschap formaten. Dezelfde volgorde levering: de netwerklaag in het algemeen niet garanderen dat de pakketten van gegevens komt in dezelfde volgorde waarin ze zijn verzonden, maar vaak is dit een wenselijke functie. Dit gebeurt meestal door het gebruik van nummering segment, met de ontvanger ze door te geven aan de toepassing in orde is. Dit kan leiden tot hoofd-of-line blocking. Betrouwbaarheid: Pakketten kunnen verloren gaan tijdens het transport als gevolg van verstoppingen in het netwerk en fouten. Door middel van een foutdetectie-code, zoals een checksum, kan het transport protocol controleren of de gegevens niet beschadigd is, en controleer de correcte ontvangst door het sturen van een ACK of NACK bericht naar de afzender. Automatisch herhalen verzoek regelingen kunnen worden gebruikt om verloren of beschadigde gegevens opnieuw te verzenden. Flow control: De snelheid van de gegevensoverdracht tussen twee knooppunten moet soms worden beheerd om een ​​snelle zender belemmering voor meer gegevens dan kan worden ondersteund door de ontvangende data buffer, waardoor een buffer overrun. Dit kan ook worden gebruikt om de efficiëntie te verbeteren door het verminderen van buffer-underrun. Congestie te vermijden: Congestie controle kan het verkeer regelen toegang tot een telecommunicatienetwerk, om zo congestief ineenstorting te voorkomen door te proberen om overinschrijving van een van de verwerkingsmethoden of een link mogelijkheden van de tussenliggende knooppunten en netwerken te vermijden en het nemen van bron te verminderen maatregelen, zoals verlaging van het tarief van het verzenden van pakketten. Bijvoorbeeld, automatische herhaling verzoeken kan het netwerk te houden in een overvolle staat; deze situatie kan worden voorkomen door het toevoegen van congestie te vermijden om de flow control, inclusief slow-start. Hierdoor blijft de bandbreedte verbruik op een laag niveau in het begin van de transmissie, of na het packet doorgifte. Multiplexing: Poorten kunnen meerdere endpoints te verschaffen over een enkel knooppunt. Bijvoorbeeld, de naam op een postadres is een soort van multiplexing, en maakt onderscheid tussen verschillende ontvangers van dezelfde locatie. Computertoepassingen elk luisteren naar informatie over hun eigen havens, die het gebruik van meer dan een netwerkdienst kunt u op hetzelfde moment. Het is onderdeel van het Transport Layer in de TCP / IP-model, maar van de sessie laag in het OSI-model.

Analyse

De Transport Layer is verantwoordelijk voor het leveren van gegevens aan de juiste toepassing proces op de host computers. Het gaat om statistische multiplexing van gegevens uit verschillende applicatie processen, dwz het vormen van data-pakketten, en het toevoegen van de bron en bestemming poort nummers in de header van elk Transport Layer datapakket. Samen met de bron en doel IP-adres, de poortnummers een netwerk socket vormt, dat wil zeggen een identificatie-adres van de proces-to-proces van communicatie. In het OSI-model, wordt deze functie ondersteund door de Session Layer.

Sommige Transport Layer protocollen, bijvoorbeeld TCP, UDP, maar niet, virtuele circuits te ondersteunen, dat wil zeggen te bieden verbinding oriented communicatie over een onderliggend pakket georiënteerd datagram netwerk. Een byte-stroom wordt geleverd, terwijl het verbergen van de packet mode communicatie voor de toepassing processen. Het gaat opzetten van een verbinding, het verdelen van de datastroom in pakketjes genaamd segmenten, segment nummering en herordening van out-of ordergegevens.

Ten slotte zijn sommige Transport Layer protocollen, bijvoorbeeld TCP, UDP, maar niet, end-to-end betrouwbare communicatie, dat wil zeggen het herstellen van fouten door middel van het detecteren van fouten code en automatische herhaal aanvraag (ARQ) protocol. De ARQ protocol biedt ook flow control, die kan worden gecombineerd met congestie te vermijden.

UDP is een heel simpel protocol, en biedt geen virtuele circuits, noch betrouwbare communicatie, delegeren deze functies aan de applicatie-programma. UDP-pakketten worden wel datagrammen genoemd, in plaats van segmenten.

TCP wordt gebruikt voor vele protocollen, zoals HTTP surfen op het web en e-mail transfer. UDP kan worden gebruikt voor multicasting en omroep, omdat de doorgifte is niet mogelijk om een ​​groot aantal hosts. UDP geeft meestal een hogere doorvoersnelheid en kortere wachttijd, en wordt daarom vaak gebruikt voor real-time multimedia communicatie, waar zo nu en packet loss kan worden aanvaard, bijvoorbeeld IP-TV en IP-telefonie, en voor online computer games.

In veel niet-IP-gebaseerde netwerken, bijvoorbeeld X.25, Frame Relay en ATM, wordt de verbinding gerichte communicatie geïmplementeerd op het netwerk laag of data link layer in plaats van de Transport Layer. In X.25, in telefoonnetwerk modems en draadloze communicatie-systemen, is een betrouwbare knooppunt-to-knooppunt mededelingen, die op een lagere protocol lagen.

Het OSI-model definieert vijf categorieën van transport protocollen: TP0, het verstrekken van de minst het herstellen van fouten, naar TP4, die is ontworpen voor minder betrouwbare netwerken.

Protocollen

De exacte definitie van wat kwalificeert als een transport layer protocol is niet stevig. Het volgende is een korte lijst:

ATP, AppleTalk Transaction Protocol
CUDP, Cyclische UDP
Rv, Datagram Congestion Control Protocol
FCP, Fiber Channel-protocol
IL, IL-protocol
NBF, NetBIOS Frames protocol
RDP, betrouwbare Datagram Protocol
SCTP, Stream Control Transmission Protocol
SPX, Sequenced Packet Exchange
SST, Gestructureerde Stroom Transport
TCP, Transmission Control Protocol
UDP, User Datagram Protocol
UDP Lite
μTP, Micro Transport Protocol

Web service

Een webservice is een methode van communicatie tussen twee elektronische apparaten via een netwerk. Web Services waren bedoeld om drie belangrijke problemen, dat is Firewall Traversal, Complexiteit, en de interoperabiliteit op te lossen .

Het W3C definieert een “Web service” als “een software systeem is ontworpen voor interoperabele machine-to-machine-interactie via een netwerk te ondersteunen. Het heeft een interface beschreven in een machine-leesbare vorm (met name Web Services Description Language WSDL). Andere systemen communiceren met de webservice op een voorgeschreven wijze zijn beschrijving met behulp van SOAP-berichten, meestal overgebracht via HTTP met een XML-feuilleton in combinatie met andere web-gerelateerde standaarden. “

Het W3C verklaart ook, “We kunnen identificeren twee grote klassen van webservices, REST-compliant webservices, waarbij het voornaamste doel van de dienst is te manipuleren XML representaties van Web middelen volgens een uniforme set van” stateless “operaties, en willekeurige Web services, waarin de dienst kan blootstellen een willekeurige verzameling van de operaties. “

Big Web services

“Big Web services” te gebruiken Extensible Markup Language (XML) berichten dat de SOAP standaard te volgen en zijn populair bij traditionele bedrijven. In dergelijke systemen, is er vaak een machine-leesbare omschrijving van de aangeboden door de dienst geschreven is in de Web Services Description Language (WSDL). Dit laatste is geen vereiste van een SOAP-eindpunt, maar het is een voorwaarde voor geautomatiseerde client-side code generatie in veel Java-en. NET SOAP kaders (frameworks zoals Apache Axis2, Apache CXF, en Spring wordt opvallende uitzonderingen). Sommige brancheorganisaties, zoals de WS-I, het mandaat zowel SOAP en WSDL in hun definitie van een webservice.

Web API

Web API is een ontwikkeling in de Web services (in een beweging genaamd Web 2.0), waar de nadruk steeds meer afstand van SOAP gebaseerde diensten naar Representational State Transfer (REST) ​​op basis van communicatie . REST services vereisen geen XML, SOAP, WSDL of service-API definities.

Web API’s kan de combinatie van meerdere webservices in nieuwe toepassingen bekend als mashups .

Bij gebruik in de context van Web development, Web API is meestal een gedefinieerde set van Hypertext Transfer Protocol (HTTP) verzoek boodschappen samen met een definitie van de structuur van de reactie van berichten, meestal uitgedrukt in een Extensible Markup Language (XML) of JavaScript Object Notation (JSON) formaat.

Bij het uitvoeren van composiet Web services, kan elke sub-dienst als zelfstandig worden beschouwd. De gebruiker heeft geen controle over deze diensten. Ook de Web services zelf niet betrouwbaar; de dienstverlener kan verwijderen, wijzigen of hun diensten updaten zonder voorafgaande kennisgeving aan gebruikers. De betrouwbaarheid en fouttolerantie is niet goed ondersteund, fouten kunnen gebeuren tijdens de uitvoering. Afhandeling van uitzonderingen in het kader van webservices is nog steeds een open vraagstelling, maar dit kan nog steeds worden behandeld door te reageren met een fout object naar de klant.

Stijlen van het gebruik

Web services zijn een set van tools die gebruikt kunnen worden in een aantal manieren. De drie meest voorkomende stijlen van gebruik zijn RPC, SOA en REST.

Remote procedure calls

RPC Web services vormen een gedistribueerd functie (of methode) call interface die vertrouwd is voor veel ontwikkelaars. Typisch, de basiseenheid van RPC Web services is de WSDL operatie.

De eerste Web services tools zijn gericht op het RPC, met als gevolg dat deze stijl is op grote schaal ingezet en ondersteund. Het is echter soms bekritiseerd omdat ze niet losjes gekoppelde, want het was vaak uitgevoerd door de in kaart brengen van diensten rechtstreeks aan language-specifieke functies of methode oproepen. Veel leveranciers voelde deze benadering een doodlopende weg te zijn, en duwde voor RPC te worden afgekeurd in de WS-I Basic Profile.

Andere benaderingen met bijna dezelfde functionaliteit als RPC zijn Object Management Group (OMG) Common Object Request Broker Architecture (CORBA), Distributed Component Object Model van Microsoft (DCOM) of Sun Microsystems’s Java / Remote Method Invocation (RMI).

Service-oriented architecture

Web services kunnen ook gebruikt worden om een ​​architectuur te voeren volgens de service-oriented architecture (SOA) concepten, waarbij de basiseenheid van de communicatie is een bericht, in plaats van een operatie. Dit wordt vaak aangeduid als “message-oriented”-diensten.

SOA Web services worden ondersteund door de meeste grote softwareleveranciers en branche-analisten. In tegenstelling tot de RPC Web services, losse koppeling is meer waarschijnlijk, omdat de focus ligt op het “contract” dat de WSDL, levert in plaats van de onderliggende implementatie details.

Middleware analisten gebruiken enterprise service bussen (ESB) die message-oriented verwerking en Web services combineren om een ​​event-driven SOA te creëren. Een voorbeeld van een open-source ESB is Mule, een ander is Open ESB.

Representational State Transfer (REST)

REST pogingen om architecturen die HTTP-of soortgelijke protocollen beschrijven door het beperken van de interface naar een set van bekende, standaard bewerkingen (zoals GET, POST, PUT, DELETE voor HTTP). Hier ligt de focus op interactie met stateful middelen, in plaats van berichten of activiteiten.

Een architectuur op basis van REST (een die is ‘RESTful’) kan gebruiken WSDL om SOAP-berichten te beschrijven over HTTP, kan worden uitgevoerd als een abstractie puur op de top van SOAP (bijvoorbeeld WS-Transfer), of kunnen worden gemaakt zonder het gebruik van SOAP in alles.

WSDL versie 2.0 biedt ondersteuning voor binding aan de HTTP-verzoek methoden (niet alleen GET en POST als in versie 1.1), zodat het in staat stelt een betere uitvoering van RESTful webservices. Echter, ondersteuning voor deze specificatie is nog steeds slecht in de ontwikkeling van software kits, die vaak tools bieden alleen voor de WSDL 1.1.

Geautomatiseerde ontwerp methodieken

Geautomatiseerde tools kunnen helpen bij het creëren van een webservice. Voor diensten met behulp van WSDL is het mogelijk om ofwel automatisch genereren van WSDL voor bestaande klassen (een bottom-up strategie) of om een ​​klasse skelet gegeven de bestaande WSDL (een top-down strategie) te genereren.

Een ontwikkelaar met behulp van een bottom-up methode schrijft de uitvoering klassen eerste (in sommige programmeertaal), en dan maakt gebruik van een WSDL genereren hulpmiddel om methoden van deze klassen ontmaskeren als een webservice. Dit is vaak de eenvoudigere aanpak.

Een ontwikkelaar met behulp van een top down methode schrijft de WSDL-document en vervolgens maakt gebruik van een code genereren hulpmiddel voor de productie van de klas skelet, in te vullen als dat nodig is. Op deze manier wordt algemeen beschouwd als het moeilijker, maar kan produceren schoner modellen

Kritiek

Critici van de niet-RESTful webservices klagen vaak dat ze te complex en op basis van grote software-leveranciers of integrators, in plaats van typische open source implementaties. Er zijn open source implementaties, zoals Apache Axis en Apache CXF.

Een belangrijke zorg van de REST webservice-ontwikkelaars is dat de SOAP WS toolkits maken het gemakkelijk om nieuwe interfaces te definiëren voor het op afstand interactie, vaak een beroep op introspectie aan de WSDL halen, omdat een kleine wijziging op de server (ook een upgrade van de SOAP stapel ) kan resulteren in verschillende WSDL en een andere service-interface. De client-side classes die kunnen worden gegenereerd op basis van WSDL en XSD beschrijvingen van de service zijn vaak dezelfde gebonden aan een bepaalde versie van de SOAP-eindpunt en kan breken, als de eindpunt veranderingen of de client-side SOAP stack is opgewaardeerd. Goed ontworpen SOAP eindpunten (met handgeschreven XSD en WSDL) hebben geen last van dit, maar er is nog steeds het probleem dat een aangepaste interface voor elke dienst een aangepaste client voor elke dienst vereist.

Er zijn ook zorgen over de prestaties als gevolg van Web services ‘gebruik van XML als een boodschap formaat en SOAP / HTTP in omhullende en het vervoer .

Web server

Webserver kan verwijzen naar de hardware (de computer) of de software (de computer toepassing) dat helpt om te leveren inhoud die kan worden geraadpleegd via het Internet, hetzij .

De meest voorkomende gebruik van web-servers is de host websites, maar er zijn ook andere toepassingen zoals de opslag van gegevens of voor het uitvoeren van enterprise applicaties.

Overzicht

De primaire functie van een web-server is om webpagina’s te brengen over het verzoek aan klanten. Dit betekent dat de levering van HTML-documenten en extra content die kunnen worden opgenomen door een document, zoals afbeeldingen, stylesheets en scripts.

Een cliënt, vaak een webbrowser of web crawler, initieert de communicatie door het maken van een verzoek om een ​​specifieke bron via HTTP en de server reageert met de inhoud van die bron of een foutmelding als daartoe niet in staat. De bron is meestal een echte file op secundaire van de server geheugen, maar dit is niet noodzakelijkerwijs het geval en is afhankelijk van de manier waarop de webserver wordt uitgevoerd.

Terwijl de primaire functie is om te dienen content, een volledige uitvoering van HTTP omvat ook manieren om het ontvangen van de inhoud van klanten. Deze functie wordt gebruikt voor het indienen van webformulieren, inclusief het uploaden van bestanden.

Veel generieke web servers ondersteunen ook server-side scripting, bijvoorbeeld Apache HTTP Server en PHP. Dit betekent dat het gedrag van de web-server kan worden gescript in afzonderlijke bestanden, terwijl de werkelijke server software blijft ongewijzigd. Meestal wordt deze functie gebruikt om HTML-documenten “on-the-fly” in tegenstelling tot terugkerende vaste documenten. Creëren Dit wordt aangeduid als dynamische en statische content respectievelijk. De eerste is vooral gebruikt voor het ophalen en / of wijzigen van informatie uit databases. Dit laatste is echter vaak veel sneller en gemakkelijker in de cache.

Web-servers zijn niet altijd gebruikt voor het serveren van het world wide web. Ze kunnen ook gevonden worden ingebed in apparaten zoals printers, routers, webcams en die alleen een lokaal netwerk. De webserver kan dan gebruikt worden als een onderdeel van een systeem voor monitoring en / of het beheer van het apparaat in kwestie. Betekent dit meestal dat er geen extra software hoeft te worden geïnstalleerd op de client-computer, omdat alleen een webbrowser nodig is (deze is nu opgenomen met de meeste besturingssystemen).

Geschiedenis van de webservers

In 1989 Tim Berners-Lee voorgesteld om zijn werkgever CERN (Europese Organisatie voor Nucleair Onderzoek) een nieuw project, dat het doel van het verlichten van de uitwisseling van informatie tussen wetenschappers met behulp van een hypertext systeem had. Als gevolg van de uitvoering van dit project, in 1990 Berners-Lee schreef twee programma’s:

een browser de naam WorldWideWeb;
‘s werelds eerste webserver, later bekend als CERN httpd, dat liep op NeXTSTEP.

Tussen 1991 en 1994 is de eenvoud en effectiviteit van vroege technologieën die worden gebruikt om te surfen en uitwisseling van gegevens via het World Wide Web geholpen om hen poort naar vele verschillende besturingssystemen en het gebruik ervan verspreid over veel verschillende sociale groepen van mensen, eerst in wetenschappelijke organisaties, dan in universiteiten en uiteindelijk in de industrie.

In 1994 Tim Berners-Lee besloot het World Wide Web Consortium (W3C) vormen voor de verdere ontwikkeling van de vele betrokken technologieën (HTTP, HTML, etc.) te reguleren door middel van een normalisatieproces.

Gemeenschappelijke kenmerken

1. Virtual hosting voor vele websites met behulp van een IP-adres te dienen.
2. Grote file support te kunnen bestanden waarvan de grootte is groter dan 2 GB op 32-bit OS te dienen.
3. Bandbreedtebeperking om de snelheid van de reacties te beperken om niet verzadigen van het netwerk en in staat om meer klanten te bedienen.
4. Server-side scripting om dynamische webpagina’s te genereren, nog steeds houden webserver en website implementaties van elkaar te scheiden.

Path vertaling

Web-servers zijn in staat om het pad component van een Uniform Resource Locator (URL) kaart in:

een lokaal bestandssysteem bron (voor statische aanvragen);

een intern of extern programma naam (voor dynamische aanvragen).

Voor een statische verzoek van de URL-pad gespecificeerd door de klant is ten opzichte van de root van het web server directory.

Beschouw de volgende URL als hij zou worden aangevraagd door een klant:

http://www.example.com/path/file.html

De klant user agent zal vertalen in een verbinding met www.example.com met de volgende HTTP 1.1 aanvraag:

GET / path / file.html HTTP/1.1
Host: www.example.com

De web-server op www.example.com voegt de gegeven pad naar het pad van de root directory. Op een Apache-server, is dit meestal / home / www (Op Unix-machines, meestal / var / www). Het resultaat is het lokale bestandssysteem bron:

/ Home / www / pad / file.html

De webserver leest dan het bestand, als het bestaat en stuurt een reactie op de website van de client browser. De respons zal beschrijven de inhoud van het bestand en bevat het bestand zelf of een foutmelding terug te zeggen dat het bestand niet bestaat of niet beschikbaar is.

Load grenzen

Een web server (programma) heeft gedefinieerd belasting grenzen, want het kan slechts een beperkt aantal gelijktijdige client-verbindingen (meestal tussen 2 en 80.000, standaard tussen de 500 en 1000) per IP-adres (en TCP-poort), behandelen en het kan alleen maar een bepaald maximum aantal aanvragen per seconde, afhankelijk van:

zijn eigen instellingen;

het HTTP-verzoek type;

inhoud van oorsprong (statisch of dynamisch);

het feit dat de inhoud van gediend is of niet is opgeslagen;

de hardware en software beperkingen van het OS waar het werkt;

Wanneer een webserver in de buurt van of boven de grenzen, wordt het niet meer reageert.

Kernel-mode en de user-mode webservers

Een web server kan worden geïmplementeerd in de OS kernel, of in user space (net als andere reguliere aanvragen).

Een in-kernel webserver (zoals TUX op GNU / Linux of Microsoft IIS op Windows) zal meestal sneller werken, omdat, als onderdeel van het systeem, kan direct gebruik maken van alle hardware die het nodig heeft, zoals niet-wisselbaar geheugen, CPU-tijd-schijfjes, netwerk adapters, of buffers.

Web-servers die worden uitgevoerd in user-mode hebben om het systeem te vragen de toestemming om meer geheugen of meer CPU-bronnen te gebruiken. Niet alleen hebben deze verzoeken om de kernel te nemen, maar ze zijn niet altijd tevreden omdat het systeem reserveert middelen voor eigen gebruik en heeft de verantwoordelijkheid om hardware resources te delen met alle andere actieve toepassingen.

Ook kunnen toepassingen geen toegang tot het systeem van de interne buffers, waardoor nutteloze buffer kopieën dat een andere handicap maken voor user-mode web-servers. Als gevolg hiervan, de enige manier om een ​​user-mode web server aan kernel-mode performance wedstrijd is om de kwaliteit van de code te verhogen tot veel hogere normen, vergelijkbaar met die van de code gebruikt in web-servers die draaien in de kernel. Dit is een belangrijk probleem onder Windows, waar de user-mode overhead is ongeveer zes keer groter dan die onder Linux .

Overload oorzaken

Op elk moment web servers kunnen worden overbelast als gevolg van:

Te veel legitieme webverkeer. Duizenden of zelfs miljoenen klanten verbinding maken met de website in een korte interval, bijvoorbeeld Slashdot effect;
Distributed Denial of Service-aanvallen;
Computer wormen die soms leiden tot abnormale verkeer als gevolg van miljoenen geïnfecteerde computers (niet gecoördineerd onder hen);
XSS virussen kan leiden tot veel verkeer als gevolg van miljoenen geïnfecteerde browsers en / of web servers;
Internet bots. Het verkeer niet gefilterd / beperkt op grote websites met zeer weinig middelen (bandbreedte, enz.);
Internet (netwerk) vertragingen, zodat de klant verzoeken langzamer geserveerd en het aantal verbindingen neemt zo veel dat de server grenzen zijn bereikt;
Web-servers (computers) gedeeltelijke onbeschikbaarheid. Dit kan gebeuren als gevolg van vereiste of dringende onderhoud of upgrade, hardware of software storingen, back-end (bv. database) storingen, enz.; in deze gevallen de resterende web servers te veel verkeer en raken overbelast.

Overload symptomen

De symptomen van een overbelaste web server zijn:

verzoeken worden geserveerd met (mogelijk lange) vertragingen (van 1 seconde tot een paar honderd seconden);
500, 502, 503, zijn 504 HTTP-fouten terug naar klanten (soms ook niets fout 404 of zelfs 408 fout kan worden geretourneerd);
TCP-verbindingen worden geweigerd of reset (onderbroken) voordat er inhoud wordt verzonden naar klanten;
In zeer zeldzame gevallen, zijn slechts een gedeeltelijke inhoud gestuurd (maar dit gedrag kan heel goed worden beschouwd als een bug, zelfs als het is meestal afhankelijk van het systeem niet beschikbaar middelen).

Anti-overload technieken

Gedeeltelijk te overwinnen boven de belasting grenzen en om overbelasting te voorkomen, de meest populaire websites maken gebruik van gangbare technieken, zoals:

het beheren van netwerkverkeer, door gebruik te maken:
Firewalls om ongewenst verkeer te blokkeren uit slechte IP-bronnen of met slechte patronen;
HTTP-verkeer managers te laten vallen, omleiden of herschrijven aanvragen met slechte HTTP patronen;
Bandbreedte management en traffic shaping, met het oog op een soepele neer pieken in gebruik van het netwerk;
inzet van Web cache technieken;
het gebruik van verschillende domeinnamen naar verschillende (statische en dynamische) content te dienen door aparte web-servers, te weten: http://images.example.com http://www.example.com
met behulp van verschillende domeinnamen en / of computers om grote bestanden te scheiden van kleine en middelgrote bestanden, het idee is om volledig te kunnen cache kleine en middelgrote bestanden en efficiënt te bedienen groot of groot (meer dan 10 tot 1000 MB) bestanden met behulp van verschillende instellingen;
met behulp van vele web-servers (programma’s) per computer, elk gebonden aan zijn eigen netwerkkaart en het IP-adres;
met behulp van vele web-servers (computers) die zijn gegroepeerd zodat ze handelen of worden gezien als een groot web server (zie ook Load balancer);
het toevoegen van meer hardware resources (RAM, schijven) op elke computer;
tuning OS parameters voor de hardware mogelijkheden en gebruik;
het gebruik van efficiëntere computerprogramma’s voor webservers, enz.;
het gebruik van andere oplossingen, met name als dynamische inhoud is betrokken.

Web search engine

Een web search engine is ontworpen om te zoeken naar informatie op het World Wide Web en FTP-servers. De zoekresultaten zijn over het algemeen in een lijst gepresenteerd van de resultaten en worden vaak genoemd hits. De informatie kan bestaan ​​uit webpagina’s, afbeeldingen, informatie en andere typen bestanden. Sommige zoekmachines ook het mijne beschikbare gegevens in databases of open directories. In tegenstelling tot de web directories, die worden onderhouden door menselijke redacteuren, zoekmachines opereren algoritmisch of een mengsel van algoritmische en menselijke input.

Geschiedenis

Tijdens de vroege ontwikkeling van het web, was er een lijst met webservers bewerkt door Tim Berners-Lee en gehost op de CERN webserver. Een historisch overzicht van 1992 blijft. Zoals meer webservers online ging de centrale lijst niet kon bijbenen. Op de website NCSA nieuwe servers werden aangekondigd onder de titel “What’s New”

De allereerste instrument dat wordt gebruikt voor het zoeken op het internet was Archie. De naam staat voor “archief” zonder de “v”. Het werd opgericht in 1990 door Alan Emtage, Bill Heelan en J. Peter Deutsch, informatica studenten aan de McGill University in Montreal. Het programma gedownload directory listings van alle bestanden die zich op de openbare anonieme FTP (File Transfer Protocol) sites, het creëren van een doorzoekbare database van bestandsnamen, maar Archie niet indexeren van de inhoud van deze sites, omdat de hoeveelheid data die was zo beperkt dat kan handmatig gemakkelijk worden doorzocht.

De opkomst van Gopher (gemaakt in 1991 door Mark McCahill aan de Universiteit van Minnesota) heeft geleid tot twee nieuwe zoekprogramma’s, Veronica en Jughead. Net als Archie, zochten ze de bestandsnamen en titels opgeslagen in het Gopher index systemen. Veronica (zeer eenvoudig knaagdier-Oriented Net-brede index voor Computerized Archief) leverde een keyword search van de meeste Gopher menu-titels in het gehele Gopher aanbiedingen. Jughead (Universal Gopher Jonzy’s Hierarchy opgraving en Display) was een hulpmiddel voor het verkrijgen van menu-informatie van specifieke Gopher-servers. Hoewel de naam van de zoekmachine “Archie” was niet een verwijzing naar de Archie comic book serie, “Veronica” en “Jughead” zijn personages in de serie, waardoor de toetsing van hun voorganger.

In de zomer van 1993, geen search engine bestond nog voor het web, maar een groot aantal gespecialiseerde catalogi werden onderhouden met de hand. Oscar Nierstrasz aan de Universiteit van Genève, schreef een serie van Perl-scripts die regelmatig zouden spiegel deze pagina’s en herschrijven ze in een standaard formaat dat de basis gevormd voor W3Catalog, op het web eerste primitieve zoekmachine, uitgebracht op 2 september 1993.

In juni 1993, Matthew Gray, daarna aan het MIT, produceerde wat was waarschijnlijk de eerste web robot, de Perl-gebaseerde World Wide Web Wanderer, en gebruikte het om een ​​index genaamd ‘Wandex’ te genereren. Het doel van de Wanderer was om de grootte van het World Wide Web, die zij niet tot in de late 1995 te meten. Het web seconden zoekmachine Aliweb verscheen in november 1993. Aliweb geen gebruik van een web-robot, maar in plaats daarvan hing af van de kennisgeving door de website beheerders van het bestaan ​​op elke locatie van een index-bestand in een bepaald formaat.

JumpStation (uitgebracht in december 1993 ) gebruikt een web-robot om webpagina’s te vinden en om de index te bouwen, en gebruikt een webformulier als interface om de vraag-programma. Het was dus de eerste WWW resource-discovery tool om de drie essentiële kenmerken van een zoekmachine (crawlen, indexeren en zoeken), zoals hieronder beschreven combineren. Vanwege de beperkte middelen die beschikbaar zijn op het platform waarop het liep, de indexering en dus ook op zoek waren beperkt tot de titels en rubrieken vinden op de webpagina’s van de crawler is tegengekomen.

Een van de eerste “full text” crawler-gebaseerde zoekmachines was WebCrawler, die uitkwam in 1994. In tegenstelling tot zijn voorgangers, het laat gebruikers zoeken voor elk woord in een webpagina, die is uitgegroeid tot de standaard voor alle grote zoekmachines sinds. Het was ook de eerste die op grote schaal worden bekend bij het grote publiek. Ook in 1994 werd Lycos (die begon aan de Carnegie Mellon University) van start gegaan en werd een grote commerciële onderneming.

Al snel na, vele zoekmachines verschenen en wedijverden voor de populariteit. Deze omvatten Magellan (search engine), Excite, Infoseek, Inktomi, Northern Light en AltaVista. Yahoo was een van de meest populaire manieren voor mensen om webpagina’s van belang te vinden, maar de zoekfunctie gebruikt op haar web directory, in plaats van full-text kopieën van webpagina’s. Informatie zoeken kan ook in plaats daarvan zoeken de map van het doen van een keyword-based search.

In 1996 werd Netscape op zoek naar een zoekmachine geeft een exclusieve deal om de aanbevolen zoekmachine op de website van Netscape’s browser. Er was zoveel belangstelling, dat in plaats daarvan een deal was gesloten met Netscape door vijf van de belangrijkste zoekmachines, waar voor $ 5million per jaar elke zoekmachine zou zijn in een rotatie op de Netscape zoekmachine pagina. De vijf motoren waren Yahoo!, Magellan, Lycos, Infoseek, en Excite.

Zoekmachines zijn ook bekend als een van de helderste sterren in het Internet te investeren razernij die zich in de late jaren 1990 . Verschillende bedrijven op de markt gekomen spectaculair, het ontvangen van registreren krijgt tijdens hun beursintroducties. Sommigen hebben neergehaald hun publieke zoekmachine, en zijn marketing enterprise-only edities, zoals Northern Light. Veel zoekmachine bedrijven werden gevangen in de dot-com bubble, een speculatie-gestuurde markt boom die piekte in 1999 en eindigde in 2001.

Rond 2000, de zoekmachine van Google steeg op de voorgrond. Het bedrijf betere resultaten behaald voor veel zoekopdrachten met een innovatie genaamd PageRank. Dit iteratieve algoritme rangschikt webpagina’s op basis van het aantal en de PageRank van andere websites en pagina’s, dat er links, op de veronderstelling dat een goede of wenselijk pagina’s zijn gekoppeld aan meer dan anderen. Google ook gehandhaafd een minimalistische interface voor haar zoekmachine. In tegenstelling tot veel van zijn concurrenten ingebed een zoekmachine in een web portal.

In 2000, was Yahoo! het verstrekken van zoekdiensten op basis van search engine van Inktomi. Yahoo Inktomi verworven in 2002, en Overture (die AlltheWeb en AltaVista in eigendom) in 2003. Yahoo! overgeschakeld naar de zoekmachine van Google tot 2004, toen het zijn eigen zoekmachine gelanceerd gebaseerd op de gecombineerde technologieën van de acquisities.

Microsoft voor het eerst gelanceerd MSN Search in het najaar van 1998 met behulp van de zoekresultaten van Inktomi. In het begin van 1999 de site begonnen om aanbiedingen van Looksmart gemengd scherm met de resultaten van Inktomi, behalve voor een korte tijd in 1999 toen het gevolg is van AltaVista in plaats daarvan werden gebruikt. In 2004 is Microsoft begonnen met een overgang naar zijn eigen zoektechnologie, aangedreven door zijn eigen web-crawler (de zogenaamde MSNBot).

Omgedoopt search engine van Microsoft, Bing, werd gelanceerd op 1 juni 2009. Op 29 juli 2009, Yahoo en Microsoft een overeenkomst afgesloten waarin Yahoo Search zou worden aangedreven door Microsoft Bing-technologie.

Hoe web zoekmachines werken

Een zoekmachine werkt, in de volgende volgorde

1. Crawlexperiment
2. Indexering
3. Zoeken.

Web zoekmachines werken door het opslaan van informatie over de vele webpagina’s, die zij halen uit de html zelf. Deze pagina’s zijn opgehaald door een web crawler (soms ook wel bekend als een spin) – een geautomatiseerde webbrowser die iedere link op de site volgt. Uitsluitingen kan worden gemaakt door het gebruik van robots.txt. De inhoud van elke pagina worden vervolgens geanalyseerd om te bepalen hoe het moet worden geïndexeerd (bijvoorbeeld woorden uit de titels, koppen, of speciale velden genaamd meta tags). Gegevens over webpagina’s worden opgeslagen in een index database voor gebruik in latere queries. Een query kan een enkel woord te zijn. Het doel van een index is waarmee de informatie zo snel mogelijk te vinden. Sommige zoekmachines, zoals Google, slaan alle of een deel van de bron pagina (aangeduid als een cache), evenals informatie over de webpagina’s, terwijl andere, zoals AltaVista, op te slaan elk woord van elke pagina vinden ze. Deze opgeslagen pagina bevat altijd de werkelijke zoektekst want het is de naam die was geïndexeerd, dus het kan heel nuttig zijn wanneer de inhoud van de huidige pagina is bijgewerkt en de zoektermen zijn niet meer in. Dit probleem kan worden beschouwd als een milde vorm van linkrot worden, en Google’s behandeling van het verhoogt de bruikbaarheid door te voldoen aan de verwachtingen van gebruikers die de zoektermen zal zijn op de geretourneerde webpagina. Dit voldoet aan het principe van de minste verbazing omdat de gebruiker normaal gesproken verwacht dat de zoektermen om op de geretourneerde pagina’s. Meer zoekfuncties relevantie maakt deze cache pagina’s zeer nuttige, zelfs buiten het feit dat ze kunnen gegevens die niet meer elders beschikbaar zijn bevatten.

Wanneer een gebruiker een zoekopdracht komt in een zoekmachine (meestal met behulp van sleutelwoorden), de motor onderzoekt de index en geeft een lijst van best-matching webpagina’s op basis van de criteria, meestal met een korte samenvatting met daarin de document titel en soms delen van de tekst. De index is opgebouwd uit de informatie die is opgeslagen met de gegevens en de wijze waarop de informatie wordt geïndexeerd. Helaas, er zijn momenteel geen bekende openbare zoekmachines die het mogelijk maken documenten te doorzoeken op datum. De meeste zoekmachines ondersteunen het gebruik van de Booleaanse operatoren AND, OR en NOT om nader te specificeren van de zoekopdracht. Booleaanse operatoren zijn voor letterlijke zoekopdrachten waarmee de gebruiker te verfijnen en uit te breiden de voorwaarden van de zoekopdracht. De motor ziet er voor de woorden of zinnen precies zoals ingevoerd. Sommige zoekmachines bieden een geavanceerde functie genaamd nabijheid zoeken, die gebruikers in staat stelt te bepalen van de afstand tussen de trefwoorden. Er is ook begrip gebaseerd op zoek waar het onderzoek wordt gebruik gemaakt van statistische analyse op pagina’s met de woorden of zinnen die u zoekt. Als goed, natuurlijke taal vragen kan de gebruiker een type vraag in dezelfde vorm zou men het vragen om een ​​mens. Een site als deze zou worden ask.com.

Het nut van een zoekmachine hangt af van de relevantie van de resultaten die het geeft terug. Hoewel er verschillen kunnen zijn miljoenen webpagina’s die een bepaald woord of woordgroep bevatten, kunnen sommige pagina’s meer relevant, populaire of gezaghebbende dan anderen. De meeste zoekmachines gebruiken methoden om de resultaten te rangschikken om eerst de “beste” resultaten. Hoe een zoekmachine bepaalt welke pagina’s zijn de beste wedstrijden, en welke volgorde de resultaten moeten worden weergegeven in, verschilt sterk van de ene motor naar de andere. De methoden ook veranderen na verloop van tijd als Internet gebruik van veranderingen en nieuwe technieken ontwikkelen. Er zijn twee belangrijke soorten zoekmachine die zijn ontstaan: de ene is een systeem van vooraf gedefinieerde en hiërarchisch geordende trefwoorden die mensen op grote schaal hebben geprogrammeerd. De andere is een systeem dat een ‘omgekeerde index “door het analyseren van teksten te lokaliseert genereert. Deze tweede vorm steunt veel meer zwaar op de computer zelf het grootste deel van het werk doen.

De meeste Web zoekmachines zijn commerciële ondernemingen ondersteund door advertentie-inkomsten en, als gevolg, wat de praktijk in dienst van het toestaan ​​van adverteerders om geld te betalen om hun aanbiedingen hebben gerangschikt hoger in de zoekresultaten. Die zoekmachines die geen geld aanvaarden voor hun zoekmachine resultaten om geld te verdienen door het uitvoeren van search gerelateerde advertenties naast de reguliere zoekmachine resultaten. De zoekmachines om geld te verdienen elke keer dat iemand klikt op een van deze advertenties.

Zoekmachine vooringenomenheid

Hoewel zoekmachines zijn geprogrammeerd om te rangschikken websites op basis van hun populariteit en relevantie, empirische studies hebben aangetoond verschillende politieke, economische en sociale vooroordelen in de informatie die zij verstrekken. Deze vooroordelen kunnen een direct gevolg van de economische en commerciële processen worden (bv, kunnen bedrijven die adverteren met een zoekmachine ook steeds populairder geworden in de organische zoekresultaten), en politieke processen (bijvoorbeeld het verwijderen van zoekresultaten in om te voldoen aan lokale wetten). Google Bombing is een voorbeeld van een poging om de zoekresultaten te manipuleren om politieke, maatschappelijke of commerciële redenen.

High-Definition Multimedia Interface (HDMI)

High-Definition Multimedia Interface (HDMI) is een compacte audio / video-interface voor het verzenden van ongecomprimeerde digitale gegevens. Het is een digitaal alternatief voor de consument analoge standaarden, zoals radiofrequentie (RF) coaxiale kabel, composiet video, S-Video , SCART, component video, D-Terminal, of VGA. HDMI verbindt digitale audio / video bronnen (zoals set-top boxes, DVD-spelers, HD DVD spelers, Blu-ray Disc-spelers, AVCHD-camcorders, personal computers (pc’s), video game consoles zoals de PlayStation 3 en Xbox 360, en AV-ontvangers) naar compatibele digitale audio-apparaten, computerschermen, videoprojectoren, tablet-computers en digitale televisie .

HDMI implementeert de EIA/CEA-861 normen, die video-formaten en golfvormen, het vervoer van gecomprimeerde, ongecomprimeerd en LPCM-audio, aux-gegevens, en de implementaties van de VESA EDID te definiëren. HDMI ondersteunt, op een enkele kabel , een niet-gecomprimeerde TV of PC video-formaat, waaronder standaard, verbeterde en high-definition video, tot 8 kanalen van gecomprimeerd of niet-gecomprimeerde digitale audio, een Consumer Electronics Control (CEC)-verbinding, en een Ethernet-data-verbinding.

De CEC laat HDMI-apparaten met elkaar bepalen wanneer nodig en laat de gebruiker toe om meerdere apparaten bedienen met een afstandsbediening. Omdat HDMI is elektrisch compatibel zijn met de CEA-861 signalen die worden gebruikt door Digital Visual Interface (DVI), geen signaal conversie noodzakelijk is, noch is er een verlies van beeldkwaliteit als een DVI-naar-HDMI-adapter wordt gebruikt. Als een ongecomprimeerde CEA-861-verbinding, HDMI is onafhankelijk van de verschillende digitale televisie standaarden gebruikt door individuele apparaten, zoals ATSC en DVB, omdat deze zijn inkapselingen van gecomprimeerde MPEG-video streams (die kunnen worden gedecodeerd en uitgevoerd als een niet-gecomprimeerde video streamen op HDMI).

De productie van consumentenproducten HDMI-producten begon eind 2003. Meer dan 850 consumentenelektronica en PC bedrijven hebben de HDMI-specificatie (HDMI Adopters) goedgekeurd. In Europa, zowel DVI-HDCP of HDMI is inbegrepen in de HD-ready in-store labeling specificatie voor tv-toestellen voor HDTV, geformuleerd door EICTA met SES Astra in 2005. HDMI begon de consument HDTV-camcorders en digitale fotocamera’s verschijnen in 2006. De overbrenging van HDMI werd verwacht dat dat van de DVI-dan in 2008, vooral gedreven door de markt voor consumentenelektronica .

Geschiedenis

De HDMI-Stichters zijn Hitachi, Matsushita Electric Industrial (Panasonic / National / Quasar), Philips, Silicon Image, Sony, Thomson (RCA) en Toshiba. Digital Content Protection, LLC biedt HDCP (die werd ontwikkeld door Intel) voor HDMI . HDMI heeft de steun van de filmproducent Fox, Universal, Warner Bros en Disney, samen met de netbeheerders DirecTV, EchoStar (Dish Network) en CableLabs .

De HDMI-oprichters begonnen ontwikkeling van HDMI 1.0 op 16 april 2002, met als doel het creëren van een AV-aansluiting die backward-compatible is met DVI. Op het moment, DVI-HDCP (DVI met HDCP ) en DVI-HDTV (DVI-HDCP met behulp van de CEA-861-B video standaard) werden gebruikt op HDTV’s. HDMI 1.0 is ontworpen om op de DVI-HDTV te verbeteren door het gebruik van een kleinere connector en het toevoegen van ondersteuning voor audio, en verbeterde ondersteuning voor YCbCr-en Consumer Electronics Control-functies.

De eerste Authorized Testing Center (ATC), die HDMI-producten testen, werd geopend door Silicon Image op 23 juni 2003, in Californië, Verenigde Staten. De eerste ATC in Japan werd geopend door Panasonic op 1 mei 2004, in Osaka. De eerste ATC in Europa werd geopend door Philips op 25 mei 2005, in Caen, Frankrijk. De eerste ATC in China werd geopend door Silicon Image op 21 november 2005, in Shenzhen. De eerste ATC in India werd geopend door Philips op 12 juni 2008, in Bangalore. De HDMI-website bevat een lijst van alle ATC’s .

Volgens In-Stat, het aantal verkochte HDMI-apparaten was 5 miljoen in 2004, 17,4 miljoen in 2005, 63 miljoen in 2006, en 143 miljoen in 2007. HDMI is uitgegroeid tot de de facto standaard voor HDTV, en volgens In-Stat, ongeveer 90% van de digitale televisie in 2007 opgenomen HDMI. In-Stat heeft geschat dat 229 miljoen HDMI-apparaten werden verkocht in 2008 . Op 7 januari 2009, HDMI Licensing, LLC aangekondigd dat HDMI had een installed base van meer dan 600 miljoen HDMI-apparaten bereikt. In-Stat heeft geschat dat 394 miljoen HDMI-apparaten zal verkopen in 2009 en dat alle digitale televisies aan het einde van 2009 zou hebben ten minste een HDMI-ingang .

In 2008, PC Magazine bekroond met een Technical Excellence Award in de categorie Home Theater voor een “innovatie die heeft de wereld veranderd” om de CEC gedeelte van de HDMI-specificatie. Tien bedrijven kregen een Technology and Engineering Emmy Award voor hun ontwikkeling van HDMI door de National Academy of Television Arts and Sciences op 7 januari 2009.

Specificaties

De HDMI-specificatie definieert de protocollen, signalen, elektrische interfaces en mechanische eisen van de norm. De maximale pixel clock rate voor HDMI 1.0 was 165 MHz, wat voldoende was voor de ondersteuning van 1080p en WUXGA (1920 x 1200) bij 60 Hz. HDMI 1.3 steeg dat tot 340 MHz, die zorgt voor een hogere resolutie (zoals WQXGA, 2560 × 1600) over een enkele digitale verbinding. Een HDMI-aansluiting kan zowel single-link (type A / C) of dual-link (type B) en kan een video pixel van 25 MHz tot 340 MHz (voor een single-link-verbinding) of 25 MHz tot 680 MHz (voor een dual-link-verbinding). Video formaten met snelheden lager dan 25 MHz (bijvoorbeeld 13,5 MHz voor 480i/NTSC) worden verzonden via een pixel-herhaling regeling .

Audio / video

HDMI maakt gebruik van de Consumer Electronics Association / Electronic Industries Alliance 861 normen. HDMI 1.0 naar HDMI 1.2a gebruikt de EIA/CEA-861-B video standaard, en HDMI 1.3 + maakt gebruik van de CEA-861-D video-standaard De CEA-861-D document definieert “videoformaten en golfvormen;. Colorimetrie en kwantisatie, vervoer van gecomprimeerde en ongecomprimeerde, evenals Linear Pulse Code Modulation (LPCM), audio, vervoer van extra gegevens en implementaties van de Video Electronics Standards Association (VESA) Enhanced Extended Display Identification Data Standaard (E-EDID). “

Om ervoor te zorgen baseline interoperabiliteit tussen verschillende HDMI-bronnen en displays (evenals terugwaarts compatibel met de elektrisch compatibel DVI-standaard), worden alle HDMI-compatibele apparaten nodig zijn om sRGB video 04:04:04 ondersteuning, op 8 bits per component. Ondersteuning voor YCbCr kleur-ruimte en een hogere kleur-diepte (“diepe kleur”) zijn optioneel. HDMI maakt xvYCC 04:04:04 (8-16 bits per component), YCbCr 4:4:4 (8-16 bits per component), of YCbCr 4:2:2 (8-12 bits per component). De kleur ruimtes die gebruikt kunnen worden door HDMI zijn ITU-R BT.601, ITU-R BT.709-5 en aan IEC 61966-2-4.

Voor digitale audio, als een HDMI-apparaat ondersteunt audio, is het vereist om de basislijn formaat te ondersteunen: stereo (uncompressed) PCM. Andere formaten zijn optioneel, met een HDMI waardoor tot 8 kanalen ongecomprimeerde audio op steekproeven van 16-bits, 20-bit en 24-bits, met een sample-rates van 32 kHz, 44,1 kHz, 48 kHz, 88,2 kHz, 96 kHz, 176,4 kHz en 192 kHz. HDMI biedt ook ondersteuning voor IEC 61937-compliant gecomprimeerde audio stream, zoals Dolby Digital en DTS, en tot 8 kanalen van een-bit DSD-audio (gebruikt op Super Audio CD’s) op snelheden tot vier keer dat van Super Audio CD. Met versie 1.3, HDMI ondersteunt lossless gecomprimeerde audio streams Dolby TrueHD en DTS-HD Master Audio. Net als bij de YCbCr video-apparaat ondersteuning voor audio is optioneel.

De HDMI-standaard is niet ontworpen om onder het passeren van gesloten caption gegevens (bijvoorbeeld, ondertitels) naar de televisie voor decodering. Als zodanig, elk gesloten bijschrift stroom moet worden gedecodeerd en als een beeld in de video stream (s) voorafgaand aan de transmissie via een HDMI-kabel worden bekeken op de DTV. Dit beperkt het bijschrift stijl (ook voor digitale onderschriften) om alleen dat gedecodeerde bij de bron voorafgaand aan de HDMI transmissie. Dit voorkomt ook ondertiteling bij de transmissie via HDMI is vereist voor up-conversie. Bijvoorbeeld, een DVD-speler het verzenden van een opgeschaalde 720p/1080i formaat via HDMI naar een HDTV heeft geen methode om Closed Captioning gegevens zodat de HDTV kan decoderen omdat er geen lijn 21 VBI in dat formaat gaan.

Connectors

Er zijn vijf HDMI-connector types. Type A / B zijn gedefinieerd in de HDMI 1.0-specificatie, is type C gedefinieerd in de HDMI 1.3-specificatie, en type D / E zijn gedefinieerd in de HDMI 1.4-specificatie.

Type A

Negentien pinnen, met een bandbreedte van alle SDTV, EDTV en HDTV modi ondersteunen. De plug (male) connector buiten afmetingen zijn 13,9 mm x 4,45 mm en de houder (vrouwelijke) connector in afmetingen zijn 14 mm x 4,55 mm. Type A is elektrisch compatibel zijn met single-link DVI-D .

Type B

Deze connector (21,2 mm x 4,45 mm) heeft 29 pinnen en kan het dubbele van de video-bandbreedte van het type A dragen, voor gebruik met zeer hoge resolutie schermen de toekomst, zoals WQUXGA (3840 × 2400). Type B is elektrisch compatibel zijn met dual-link DVI-D, maar is nog niet gebruikt in producten.

Type C

Een Mini-connector die in de HDMI 1.3-specificatie, is het bedoeld voor draagbare apparaten. Het is kleiner dan de type A-connector (10,42 mm x 2,42 mm), maar heeft dezelfde 19-pins configuratie . De verschillen zijn dat alle positieve signalen van de differentiële paren zijn verwisseld met de bijbehorende schild, de DDC / CEC Ground is toegewezen aan in plaats pin 13 van pin 17, is de CEC toegewezen aan pin 14 in plaats van pin 13, en de gereserveerde pin is 17 in plaats van pin 14. Het type C Mini-connector kan worden aangesloten op een type A-connector met behulp van een type A-naar-type C-kabel.

Type D

Een Micro-connector die in de HDMI 1.4-specificatie zorgt ervoor dat de standaard 19 pins van de types A en C, maar krimpt de connector grootte aan iets wat lijkt op een micro-USB-connector. Het type D-connector is 2,8 mm × 6,4 mm, terwijl de type C-aansluiting is 2,42 mm × 10,42 mm; ter vergelijking, een micro-USB-aansluiting is 2,94 mm x 7,8 mm en een USB Type A is 11,5 mm × 4,5 mm.

Type E

Automotive Connection System in de zin van HDMI 1.4-specificatie.

Kabels

Hoewel er geen maximale lengte voor een HDMI-kabel is opgegeven, wordt het signaal verzwakking (afhankelijk van de bouw van de kabel kwaliteit en de geleidende materialen) beperkt bruikbaar lengte in de praktijk HDMI 1.3 definieert twee kabel categorieën:. Categorie 1-gecertificeerde kabels, die zijn getest op 74,5 MHz (dat zou resoluties zoals 720p60 en 1080i60 nemen), en categorie 2-gecertificeerde kabels, die zijn getest op 340 MHz (dat zou resoluties zoals 1080p60 en 2160p30 bevatten). Categorie 1 HDMI-kabels zijn de handel worden gebracht als “Standaard” en categorie 2 HDMI-kabels als “High Speed”. Deze richtlijn voor etikettering van HDMI-kabels in werking getreden op 17 oktober 2008. Categorie 1 en 2 kabels kunnen zowel aan de vereiste parameter specificaties voor interpair scheef, far-end crosstalk, demping en differentiële impedantie, of ze kunnen voldoen aan de vereiste nonequalized / geëgaliseerd eye diagram eisen. Een kabel van ongeveer 5 meter (16 ft) kunnen worden vervaardigd naar categorie 1 specificaties gemakkelijk en goedkoop met behulp van 28 AWG (0.081 mm ²) geleiders. Met een betere kwaliteit van constructie en materialen, waaronder 24 AWG (0.205 mm ²) geleiders, een HDMI-kabel kan een lengte bereiken van maximaal 15 meter (49 ft). Veel HDMI-kabels onder de 5 meter lengte die werden gemaakt voor de HDMI 1.3-specificatie kan werken als categorie 2 kabels, maar alleen categorie 2-geteste kabels zijn gegarandeerd om te werken .

Met ingang van de HDMI 1.4-specificatie, zijn er de volgende kabel types gedefinieerd voor HDMI in het algemeen:

Standaard HDMI-kabel – tot 1080i en 720p

Standaard HDMI-kabel met Ethernet

Automotive HDMI-kabel

High Speed ​​HDMI kabel – 1080p, 4K, 3D en Deep Color

High Speed ​​HDMI-kabel met Ethernet

Kabelfabrikanten officieel is verboden voor de marketing van het kabels door HDMI standaard versie (bijvoorbeeld “HDMI 1.4 kabel”) – de kabels zijn onderscheiden in bitrate ondersteunen alleen.

Extenders

Een HDMI extender is een enkel apparaat (of een paar apparaten) gevoed met een externe voeding of met de 5V DC van de HDMI-bron. Lange kabels kunnen instabiliteit van de HDCP oorzaak en knipperen op het scherm , als gevolg van de verzwakte DDC signaal dat HDCP vereist. HDCP DDC signalen moeten worden multiplex met TMDS videosignalen te voldoen aan HDCP voor HDMI extenders op basis van een enkele Categorie 5/Category 6 kabel. Verschillende bedrijven bieden versterkers, equalizers en repeaters die snaar verschillende standaard HDMI kabels bij elkaar. Actieve HDMI-kabels te gebruiken elektronica in de kabel om het signaal te versterken en zorgen voor HDMI-kabels tot 30 meter (98 ft). HDMI extenders die zijn gebaseerd op dual Categorie 5/Category 6 HDMI kabel kan verlengen tot 250 meter (820 voet), terwijl de HDMI extenders gebaseerd op optische vezel kan HDMI uit te breiden tot 300 meter (980 voet).

Mededeling kanaal protocollen

HDMI heeft drie fysiek gescheiden communicatiekanalen, die de DDC, TMDS en de optionele CEC.

DDC

De Display Data Channel (DDC) is een communicatiekanaal op basis van de I ² C bus specificatie. HDMI vereist specifieke ondersteuning voor de Enhanced Display Data Channel (E-DDC), die wordt gebruikt door de HDMI-bron-apparaat te lezen de E-EDID-gegevens van het HDMI-sink-apparaat om te leren wat audio / video formaten ondersteunt. HDMI vereist dat de E-DDC ondersteuning van I ² C-standaard modus snelheid (100 kbit / s) en staat optionele ondersteuning voor snel-modus snelheid (400 kbit / s) .

TMDS

Overgang Geminimaliseerde Differential Signaling (TMDS) op HDMI draagt ​​video-, audio-en hulpstoffen gegevens via een van de drie modi, genaamd de videogegevens periode, de Data eiland periode en de controleperiode. Tijdens de videogegevens periode, de pixels van een actieve video-lijn worden verzonden. Tijdens de Data eiland periode (die optreedt tijdens de horizontale en verticale blanking interval), audio en extra gegevens worden doorgegeven binnen een reeks van pakketten. De controle periode vindt plaats tussen video en data Island periodes .

Zowel de HDMI en DVI gebruiken TMDS tot 10-bits tekens die zijn gecodeerd met 8b/10b codering voor de videodata periode en 2b/10b codering voor de controleperiode te sturen. HDMI voegt de mogelijkheid om audio-en hulpstoffen verzenden van gegevens met behulp van 4b/10b codering voor de Data eiland periode. Elk gegevens Island Periode is 32 pixels groot en bevat een 32-bits pakket header, die 8 bits van BCH ECC parity omvat gegevens voor foutcorrectie en beschrijft de inhoud van het pakket. Elk pakket bevat vier subpackets, en elk subpacket is 64 bits groot, met inbegrip van 8 bits van BCH ECC parity data, zodat voor elk pakket om tot 224 stukjes audio data. Elke Gegevens Island Periode kan tot 18 pakketten. Zeven van de 15 Packet types beschreven in de HDMI 1.3a specificaties omgaan met audio-gegevens, terwijl de andere acht types omgaan met extra data. Onder deze zijn de Algemene Controle Packet en de Gamut Metadata Packet. De Algemene Controle Packet draagt ​​informatie over AVMUTE (die dempt het geluid tijdens de veranderingen die audio-geluid kan veroorzaken) en kleurdiepte (die stuurt het bit diepte van de huidige videostream en is vereist voor Deep Color). Het Gamut Metadata Packet draagt ​​informatie over de kleurruimte wordt gebruikt voor de huidige videostream en is noodzakelijk voor xvYCC.

CEC

Consumer Electronics Control (CEC) is een functie die is ontworpen om de gebruiker te laten commando en twee of meer CEC-enabled dozen, die zijn aangesloten via HDMI, controle door slechts een van hun afstandsbedieningen. (Bijvoorbeeld het regelen van een televisie, set-top box en een dvd-speler met alleen de afstandsbediening van de TV). CEC zorgt er ook voor de individuele CEC-enabled apparaten om commando en controle elkaar zonder tussenkomst van de gebruiker .

Het is een een-aderige bidirectionele seriële bus die de industrie-standaard AV.link protocol gebruikt voor het uitvoeren afstandsbediening functies. CEC bedrading is verplicht, hoewel de uitvoering van de CEC in een product is optioneel. Het was in de zin van HDMI-specificatie 1.0 en bijgewerkt in HDMI 1.2, HDMI 1.2a en HDMI 1.3a (die timer en audio commando’s toegevoegd aan de bus).

Handel namen voor CEC zijn Anynet + (Samsung), Aquos Link (Sharp), BRAVIA Sync (Sony), HDMI-CEC (Hitachi), E-link (AOC), Kuro Link (Pioneer), CE-Link en Regza Link (Toshiba ); RIHD (Remote Interactive over HDMI) (Onkyo), SimpLink (LG), HDAVI Control, EZ-Sync, VIERA Link (Panasonic), EasyLink (Philips). NetCommand en voor HDMI (Mitsubishi)

Compatibiliteit met DVI

HDMI is backward-compatible met de single-link Digital Visual Interface digitale video (DVI-D of DVI-I, maar geen DVI-A). Geen signaal conversie is nodig wanneer een adapter of asymmetrische kabel gebruikt wordt, en dus geen verlies van beeldkwaliteit optreedt .

Vanuit het perspectief van een gebruiker, kan een HDMI-beeldscherm worden aangedreven door een single-link DVI-D-source, omdat HDMI en DVI-D definiëren een overlappende minimum aantal ondersteunde resoluties en framebuffer formaten om een ​​basisniveau van interoperabiliteit te waarborgen. Aangezien de DVI-D-displays zijn niet verplicht om High-bandwidth Digital Content Protection, in het omgekeerde scenario te ondersteunen, is een DVI-D-monitor niet gegarandeerd een signaal van een HDMI-bron weergeven. Een typische HDMI-bron (zoals een Blu-ray-speler) kan HDCP-naleving van het scherm de vraag, en dus tot uitvoer HDCP-beveiligde inhoud weigeren om een ​​niet-conforme display. Alle HDMI-apparaten moeten sRGB-ondersteuning voor codering. Afwezig dit HDCP probleem, een HDMI-bron en DVI-D scherm zou genieten van hetzelfde niveau van elementaire interoperabiliteit. Verdere complicatie van de kwestie is het bestaan ​​van een handvol van het display-apparatuur (high-end home theater projectoren), die werden ontworpen met HDMI-ingangen, maar die niet HDCP-compatibel.

Specifieke functies van HDMI, zoals remote-control en audio transport, zijn niet beschikbaar in apparaten die oudere DVI-D-signalen. Echter, veel apparaten uitgang HDMI over een DVI-aansluiting (bijvoorbeeld ATI 3000-serie en NVIDIA GTX 200-serie videokaarten), en een aantal multimedia-displays kunnen HDMI (inclusief audio) te aanvaarden over een DVI-ingang. In het algemeen, de exacte mogelijkheden variëren van product tot product.

Audio support

Omdat de DVI-specificatie ondersteunt geen audio-transport, een interoperabiliteit probleem ontstaat wanneer een HDMI-bron een erfenis DVI-display (zoals een PC-monitor), of omgekeerd, wanneer er een DVI-source een HDMI-display drives drives. Terwijl de HDMI-en DVI-compliance-regels ervoor zorgen dat een DVI-video-aansluiting met succes kan worden onderhandeld en vastgesteld (via een voor alle partijen ondersteund weergavestand), moet het audio-signaal nog getransporteerd worden door middel buiten de DVI-aansluiting. Meestal zal een HDMI-bron voorzien van extra uitgangen voor audio-only, zoals de line-level analoge en SPDIF, die een baseline audio-programma (zoals stereo PCM.) Bieden Ook bij het weergeven van video van een HDMI-aansluiting, een HDMI-uitgeruste display kan ondersteunen alternatieve audio-sourcing van een aparte paar analoge audio-ingangen. Voorziening voor een van deze mechanismen is de compatibiliteit geheel aan de keuze van de fabrikant, omdat zij niet gedekt door de HDMI-specificatie. Met ingang van 2010, bijna alle voorzien van HDMI-bronnen (set-top-en media-extender dozen, Blu-ray/DVD-spelers en pc’s) beschikken over een aparte analoge audio-uitgangen, en vele HDMI-uitgeruste televisies ondersteunen alternatieve-audio-ingang bij het inkoop video vanaf een HDMI-input.

Er zijn adapters beschikbaar voor de consument tussen een DVI-HDMI-bron en doel, die een aparte audio-signaal kan invoegen in een HDMI TDMS datastroom.

HDCP

HDMI kan gebruiken HDCP om het signaal te coderen indien vereist door de bron. CSS, CPPM en AACS vereisen het gebruik van HDCP op HDMI bij het afspelen van gecodeerde DVD Video, DVD-audio, HD DVD en Blu-ray Disc. De HDCP-Repeater beetje regelt de authenticatie en schakelen / distributie van een HDMI-signaal. Volgens de HDCP-specificatie 1.2 (beginnend met HDMI 1.3a CTS), een systeem dat implementeert HDCP moeten dat doen in een volledig voldoet manier. HDCP testen die voorheen was alleen een vereiste voor optionele tests, zoals de “Simplay HD” het testen van het programma is nu onderdeel van de vereisten voor HDMI-compliance. HDCP maakt het mogelijk tot 127 apparaten aan te sluiten bij elkaar , met maximaal zeven niveaus, met een combinatie van bronnen, putten en repeaters. Een eenvoudig voorbeeld hiervan is meerdere HDMI-apparaten aangesloten op een HDMI AV-ontvanger die is aangesloten op een HDMI weer te geven.

Apparaten genaamd HDCP strippers kan de HDCP-gegevens te verwijderen uit het videosignaal en laat de video kan worden afgespeeld op niet-HDCP-compatibele displays.

Versies

HDMI-apparaten worden vervaardigd zich te houden aan de verschillende versies van de specificatie, waarin elke versie krijgt een nummer, zoals 1.0, 1.2 of 1.3a. Elke volgende versie van de specificatie maakt gebruik van dezelfde soort kabel, maar verhoogt de bandbreedte en / of de mogelijkheden van wat er kan worden verzonden over de kabel. Een product dat is opgenomen als zijnde een HDMI-versie betekent niet noodzakelijkerwijs dat het alle functies die worden vermeld voor die versie hebben, omdat sommige HDMI-functies zijn optioneel , zoals Deep Color en xvYCC (die is gebrandmerkt door Sony als “xvColor”). Merk op dat met de release van de versie 1.4 kabel, de HDMI Licensing LLC groep (die toezicht houdt op de HDMI-standaard) zal vereisen dat elke verwijzing naar versie nummers worden verwijderd uit alle reclame van de kabel alleen. Niet-kabel HDMI-producten begint op 1 januari 2012 niet langer toegestaan ​​om de HDMI-nummer referentie en vereist zal zijn om aan welke kenmerken van De HDMI-specificatie het product ondersteunt.

Version 1,0 tot 1,2

HDMI 1.0 werd vrijgegeven 9 december 2002 en is een single-kabel digitale audio / video-aansluiting-interface met een maximale bandbreedte van 4,9 TMDS Gbit / s. Het ondersteunt tot 3,96 Gbit / s van video-bandbreedte (1080p/60 Hz of UXGA) en 8-kanaals audio LPCM/192 kHz/24-bit . HDMI 1.1 werd uitgebracht op 20 mei 2004 en toegevoegde ondersteuning voor DVD- Audio . HDMI 1.2 werd vrijgegeven 8 augustus 2005 en de toegevoegde ondersteuning voor een bit Audio, gebruikt op Super Audio CD’s, tot 8 kanalen. Het voegde ook de beschikbaarheid van HDMI-aansluitingen A type voor pc-bronnen, de mogelijkheid voor PC bronnen ondersteunen alleen de sRGB-kleurruimte met behoud van de optie om de YCbCr-kleurruimte te ondersteunen, en de vereiste HDMI 1.2 en later displays ter ondersteuning van low-voltage bronnen . HDMI 1.2a werd vrijgegeven op 14 december 2005 en volledig specificeert Consumer Electronic Control (CEC) functies, commando sets en CEC compliance testen .

Versie 1.3

HDMI 1.3 werd uitgebracht 22 juni 2006 en verhoogde de single-link bandbreedte tot 340 MHz (10,2 Gbit / s). Het ondersteunt optioneel Deep Color, met 30-bit, 36-bit en 48 xvYCC-bit, sRGB of YCbCr, in vergelijking met 24-bit sRGB of YCbCr in vorige versies van HDMI. Ook optioneel ondersteunt output van Dolby TrueHD en DTS-HD Master Audio streams voor externe decoderen door AV-ontvangers. Het omvat automatische audio synchroniseren (audio video sync) mogelijkheden. Het gedefinieerd kabel categorieën 1 en 2, met een categorie 1 kabel wordt getest tot 74,25 MHz en categorie 2 wordt getest tot 340 MHz. Zij voegde daar nog het nieuwe type C Mini-connector voor draagbare apparaten.

HDMI 1.3a werd uitgebracht op 10 november 2006 en had Kabel en Sink modificaties voor type C, de bron beëindiging van aanbevelingen, en verwijderd onderschrijden en een maximale stijging / daling termijnen. Het veranderde ook CEC capaciteit beperkt, verduidelijkt sRGB video quantisatie range , en CEC commando’s voor timer controle werden teruggebracht in een gewijzigde vorm, met audio stuurcommando’s toegevoegd. Ook extra ondersteuning voor streaming naar keuze SACD in de bitstream DST-formaat in plaats van niet-gecomprimeerde RAW-DSD zoals van HDMI 1.2 en later.

HDMI 1.3b, 1.3b1 en 1.3c zijn uitgebracht op 26 maart 2007, 9 november 2007, en 25 augustus 2008. Ze niet introduceren verschillen op HDMI-functies, functies of de prestaties, , maar alleen beschrijven het testen van producten op basis van de HDMI 1.3a-specificatie met betrekking tot HDMI compliance (1.3b ), de HDMI-soort C Mini-connector (1.3b1 ) en actieve HDMI-kabels (1.3c ) .

Versie 1.4

HDMI 1.4 werd uitgebracht op 28 mei 2009, en de eerste HDMI 1.4 producten beschikbaar waren in de tweede helft van 2009. HDMI 1.4 verhoogt de maximale resolutie te 4K x 2K, dat wil zeggen 3840 x 2160p met 24 Hz / 25 Hz/30 Hz of 4096 × 2160p op 24 Hz (dat is een resolutie die wordt gebruikt met digitale theaters); een HDMI Ethernet Channel (HEC), die zorgt voor een 100 Mb / s Ethernet-verbinding tussen de twee HDMI aangesloten apparaten, en introduceert een Audio Return Channel (ARC), 3D Over HDMI, een nieuwe Micro HDMI-connector, uitgebreide ondersteuning voor kleurruimten, met de toevoeging van sYCC601, Adobe RGB en Adobe YCC601,. en een Automotive Connection System HDMI 1.4 ondersteunt verschillende stereoscopische 3D-formaten met inbegrip van veld alternatief (interlaced), frame verpakking (een volledige resolutie top-bottom-formaat), lijn alternatief full, side-by-side half, side-by-side volledige , 2D + diepte, en 2D + diepte + graphics + graphics diepte (WOWvx), met extra boven / onder formaten toegevoegd in versie 1.4a. HDMI 1.4 vereist dat de 3D-schermen ondersteunen het frame verpakking 3D-formaat op een van beide 720p50 en 1080p24 of 720p60 en 1080p24. High Speed ​​HDMI 1.3 kabels kunnen ondersteunen alle HDMI 1.4 features, behalve voor de HDMI Ethernet Channel.

HDMI 1.4a werd uitgebracht op 4 maart 2010 en voegt twee extra verplichte 3D-formaten voor de uitzendingen inhoud, die was uitgesteld, met HDMI 1.4 om de richting van de 3D-uitzending markt te zien. HDMI 1.4a heeft gedefinieerd verplicht 3D-formaten voor uitzending, game, en film inhoud. HDMI 1.4a vereist dat de 3D-schermen ondersteunen het frame verpakking 3D-formaat op een van beide 720p50 en 1080p24 of 720p60 en 1080p24, side-by-side horizontaal op een van beide 1080i50 of 1080i60, en top-en-bodem op beide 720p50 en 1080p24 of 720p60 en 1080p24 .

Toepassingen

Tabletten

Sommige tabletten, zoals de Motorola Xoom, BlackBerry PlayBook en Acer Iconia Tab A500, ondersteuning HDMI met behulp van micro-HDMI (Type D)-poorten. Anderen, zoals de ASUS Eee Pad Transformer ondersteunen de standaard via de mini-HDMI (type C)-poorten. De iPad en iPad2 hebben een speciale A / V-adapter die Apple’s datalijn converteert naar een standaard HDMI (type A)-poort. Samsung heeft een vergelijkbaar eigen 30 pins poort voor hun Galaxy Tab 10,1 die zich kan aanpassen aan HDMI-en USB-sticks.

Digitale camera’s en camcorders

Met ingang van 2011 zijn de meeste standalone camcorders, evenals vele digitale camera’s, uitgerust met een mini-HDMI-connector.

Blu-ray Disc / HD DVD-spelers

Blu-ray Disc en HD DVD, geïntroduceerd in 2006, bieden nieuwe high-fidelity audio functies die HDMI nodig voor de beste resultaten. HDMI 1.3 kan vervoeren Dolby Digital Plus, Dolby TrueHD en DTS-HD Master Audio bitstreams in gecomprimeerde vorm. Deze mogelijkheid zorgt voor een AV-ontvanger met de nodige decoder om de gecomprimeerde audio-stream te decoderen. De Blu-ray-specificatie ondersteunt geen video gecodeerd met ofwel Deep Color of xvYCC, zodat HDMI 1.0 kan Blu-ray-schijven overdracht op volledige video kwaliteit.

Blu-ray maakt secundaire audio-decodering, waarbij de disc-inhoud kan de speler vertellen aan elkaar mixen met meerdere geluidsbronnen voor de definitieve uitvoer. Sommige Blu-ray en HD DVD-spelers kunnen intern decoderen alle audio-codecs en kan LPCM-audio-uitgang via HDMI. Multichannel LPCM kan via een HDMI-aansluiting, en zolang de AV-receiver meerkanaals LPCM audio via HDMI en ondersteunt HDCP ondersteunt, de geluidsweergave is gelijk in resolutie HDMI 1.3 bitstream uitgang. Een aantal low-cost AV-receivers, zoals de Onkyo TX-SR506, ondersteunen geen audio processing via HDMI en worden aangeduid als “HDMI passeren”-apparaten.

Personal computers

PC’s met een DVI-interface in staat zijn om video-uitgang op een HDMI-enabled monitor. Sommige pc’s bevatten een HDMI-interface en kan ook in staat om HDMI-audio-uitgang, worden afhankelijk van specifieke hardware. Bijvoorbeeld, Intel moederbord chipsets sinds de 945G zijn in staat om 8-kanaals LPCM via HDMI, evenals NVIDIA’s GeForce 8200/8300 moederbord chipsets. Acht-kanaals LPCM-audio-output via HDMI met een videokaart werd voor het eerst gezien met de ATI Radeon HD 4850, die werd uitgebracht in juni 2008 en wordt ondersteund door andere videokaarten in de ATI Radeon HD 4000 serie. Linux ondersteunt 8-kanaals LPCM audio via HDMI Als de videokaart beschikt over de nodige hardware en ondersteunt de Advanced Linux Sound Architecture (ALSA). De ATI Radeon HD 4000-serie ondersteunt ALSA. Cyberlink aangekondigd in juni 2008 dat ze hun PowerDVD afspelen software-update tot 192 kHz/24-bit Blu-ray Disc audio decoding ondersteuning in Q3-Q4 van 2008. Corel WinDVD 9 Plus ondersteunt momenteel 96 kHz/24-bit Blu-ray Disc audio-decodering.

Zelfs met een HDMI-uitgang, kan een computer geen ondersteuning voor HDCP, Protected Video Microsoft’s Path of Protected Audio Microsoft’s Path. In het geval van HDCP, waren er enkele vroege grafische kaarten die werden bestempeld als “HDCP-enabled “maar eigenlijk niet de nodige hardware hebben voor HDCP. Dit omvatte een aantal grafische kaarten gebaseerd op de ATI X1600-chipset en bepaalde modellen van de NVIDIA Geforce 7900-serie. De eerste computer-monitoren met HDCP-ondersteuning begon te worden vrijgegeven in 2005 en in februari 2006, had een tiental verschillende modellen uitgebracht. De Protected Video Path werd ingeschakeld in de grafische kaarten die ondersteund HDCP, want het was nodig voor de output van Blu-ray Disc video. Ter vergelijking, werd de Protected Audio Path alleen nodig als een lossless audio bitstream (zoals Dolby TrueHD of DTS-HD MA) werd uitgevoerd. ongecomprimeerde LPCM audio, echter niet nodig een Protected Audio Path, en software-programma’s zoals PowerDVD en WinDVD kan decoderen Dolby TrueHD en DTS-HD MA en output als LPCM. Een beperking is dat als de computer geen ondersteuning biedt een Protected Audio Path, de audio moet gedownsampled naar 16-bits 48 kHz, maar kan nog steeds vermogen bij maximaal 8 kanalen. Geen grafische kaarten werden uitgebracht in 2008 dat de Protected Audio Path ondersteund.

In juni 2008 kondigde Asus Xonar HDAV1.3, die in december 2008 kreeg een software-update en werd de eerste HDMI geluidskaart dat de Protected Audio Path ondersteund en kunnen zowel de bitstream en decoderen lossless audio (Dolby TrueHD en DTS-HD MA), hoewel bitstreaming is alleen beschikbaar bij gebruik van de ArcSoft TotalMedia Theater software. De Xonar HDAV1.3 heeft een HDMI 1.3 input / output, en Asus zegt dat het kan met de meeste video kaarten werken op de markt .

In september 2009 kondigde AMD de ATI Radeon HD 5000-serie videokaarten met ondersteuning voor HDMI 1.3-uitgang (Deep Color, xvYCC breed spectrum te ondersteunen en een hoge bitsnelheid audio) features, ondersteuning voor 8-kanaals LPCM over HDMI, en een geïntegreerde HD audio controller met een Protected Audio Path dat bitstream uitgang maakt het mogelijk via HDMI voor AAC, Dolby AC-3, Dolby TrueHD en DTS Master Audio formaten. De ATI Radeon HD 5870 uitgebracht in september 2009 is de eerste video kaart die bitstream uitgang ondersteunt via HDMI voor Dolby TrueHD en DTS-HD Master Audio.

In december 2010 werd aangekondigd dat een aantal verkopers computer en display makers waaronder Intel, AMD, Dell, Lenovo, Samsung, LG en zou stoppen met het gebruik LVDS vanaf 2013 en legacy-DVI-en VGA-connectors vanaf 2015, te vervangen door DisplayPort en HDMI.

Oude tv’s

HDMI kan gebruikt worden met oudere televisies die alleen gebruik maken van analoge poorten (Scart, VGA, RCA, etc.), met behulp van een scaler (digitaal-naar-analoog converter).

Data

De term Data hebben betrekking op kwalitatieve of kwantitatieve eigenschappen van een variabele of set van variabelen. Data (meervoud van “datum”) zijn meestal de resultaten van metingen en kan de basis van grafieken, afbeeldingen, of observaties van een set van variabelen. De gegevens worden vaak gezien als het laagste niveau van abstractie van die informatie en kennis vervolgens worden afgeleid. Ruwe gegevens, dwz onbewerkte data, verwijst naar een verzameling getallen, tekens, afbeeldingen of andere uitgangen van apparaten die informatie verzamelen om fysische grootheden te zetten in symbolen.

Etymologie

Het woord data (uitgesproken / deɪtə / dag-tə, / dætə / ​​da-tə, of / dɑ ː tə / dah-tə) is het Latijnse meervoud van datum, onzijdige voltooid deelwoord van durven, “te geven”, vandaar “gegeven iets” . In discussies over de problemen in de meetkunde, wiskunde, techniek, enzovoort, worden de termen givens en data door elkaar gebruikt. Ook zijn de data is een weergave van een feit, figuur, en idee. Dergelijk gebruik is de oorsprong van de gegevens als een begrip in de informatica: de gegevens zijn getallen, woorden, beelden, enz., aanvaard zoals ze staan.

Gebruik in het Engels

In het Engels wordt het woord gegeven nog steeds gebruikt in de algemene betekenis van ‘gegeven een item “. In cartografie, geografie, nucleaire magnetische resonantie en technische tekening wordt vaak gebruikt om te verwijzen naar een specifieke verwijzing gegeven van welke afstanden tot alle andere gegevens worden gemeten. Een meting of het resultaat is een gegeven, maar de gegevens punt is meer gebruikelijk, , zij het tautologisch. Beide datums (zie gebruik in datum artikel) en de oorspronkelijk Latijnse meervoud gegevens worden gebruikt als het meervoud van datum in het Engels, maar de gegevens wordt algemeen beschouwd als een massa zelfstandig naamwoord en gebruikt met een werkwoord in het enkelvoud, in het bijzonder in de dag-tot- dag gebruik. Bijvoorbeeld, Dit is al de gegevens van het experiment. Dit gebruik is in strijd met de regels van de Latijnse grammatica en een traditioneel Engels (Dit zijn alle gegevens van het experiment). Zelfs wanneer een zeer kleine hoeveelheid van de data wordt verwezen (Een nummer, bijvoorbeeld) de zinsnede stuk van de gegevens wordt vaak gebruikt, in tegenstelling tot datum. Het debat over correct gebruik is aan de gang.

De IEEE Computer Society, maakt gebruik van gegevens als ofwel een massa zelfstandig naamwoord of meervoud op basis van de auteur de voorkeur. Andere professionele organisaties en stijlgidsen vereist dat de auteurs gegevens als een meervoudig zelfstandig naamwoord te behandelen. Bijvoorbeeld, de Air Force Flight Test Center stelt uitdrukkelijk dat het woord gegevens altijd is meervoud, nooit enkelvoud .

De gegevens worden geaccepteerd als een enkelvoudig massa zelfstandig naamwoord in het dagelijks gebruik opgeleid. Sommige grote kranten zoals The New York Times gebruiken of in het enkelvoud of meervoud. In de New York Times de uitdrukkingen ‘de enquêtegegevens worden nog steeds geanalyseerd “en” het eerste jaar waarvoor gegevens beschikbaar zijn “zijn verschenen binnen een dag. In wetenschappelijke wegschrijven van gegevens wordt vaak behandeld als een meervoud, zoals in deze gegevens ondersteunen niet de conclusies, maar het wordt ook gebruikt als een enkelvoud massa-eenheid, zoals informatie. Britse gebruik nu op grote schaal accepteert het behandelen van data als enkelvoud in standaard Engels, , met inbegrip van het dagelijks dagblad gebruik op zijn minst in niet-wetenschappelijk gebruik. UK wetenschappelijk publiceren nog steeds de voorkeur te behandelen als een meervoud. Sommige UK universiteit stijlgidsen raden het gebruik van gegevens voor zowel enkelvoud en meervoud te gebruiken en een aantal raden de behandeling van het alleen als een enkelvoud in verband met computers .

Betekenis van gegevens, informatie en kennis

De termen informatie en kennis worden vaak gebruikt voor overlappende concepten. Het belangrijkste verschil is in het niveau van abstractie wordt overwogen. Data is het laagste niveau van abstractie, informatie is het volgende niveau, en ten slotte, kennis is het hoogste niveau van alle drie. Gegevens over de eigen draagt ​​geen betekenis. Voor gegevens te worden informatie, moet worden uitgelegd en nemen op een betekenis. Bijvoorbeeld, de hoogte van de Mt. Everest is over het algemeen beschouwd als “data”, een boek over Mt. Everest geologische kenmerken kunnen worden beschouwd als “informatie”, en een rapport met praktische informatie over de beste manier om Mt te bereiken. Everest hoogtepunt kan worden beschouwd als “kennis”.

Informatie als een begrip draagt ​​een verscheidenheid van betekenissen, van alledaagse gebruik van de technische instellingen. In het algemeen, het concept van de informatie is nauw verwant met de begrippen van dwang, communicatie, controle, data, vorm, instructie, kennis, betekenis, mentale stimulans, patroon, waarneming, en representatie.

Beynon-Davies gebruikt het concept van een teken om onderscheid te maken tussen gegevens en informatie, gegevens zijn symbolen, terwijl informatie doet zich voor wanneer symbolen worden gebruikt om te verwijzen naar iets.

Het is mensen en computers die gegevens verzamelen en op te leggen patronen op. Deze patronen worden gezien als informatie die gebruikt kan worden om kennis uit te breiden. Deze patronen kunnen worden geïnterpreteerd als de waarheid, en zijn toegelaten als esthetische en ethische criteria. Gebeurtenissen die achter te laten waarneembare fysieke of virtuele resten terug door middel van data worden achterhaald. Merken worden niet langer beschouwd als gegevens een keer de link tussen het merk en observatie is gebroken.

Ruwe data verwijst naar een verzameling van nummers, tekens, afbeeldingen of andere uitgangen van apparaten om fysische grootheden te zetten in symbolen, die niet verwerkt zijn. Dergelijke gegevens is meestal verder verwerkt door een mens of inbreng in een computer, opgeslagen en daar verwerkt of verzonden (output) naar een andere mens of computer (eventueel via een data kabel). Ruwe data is een relatief begrip, verwerking van gegevens doet zich doorgaans voor in etappes, en de “bewerkte data” van het ene stadium kan worden beschouwd als de “ruwe data” van de volgende.

Mechanische computers worden ingedeeld volgens de middelen die zij vertegenwoordigen gegevens. Een analoge computer is een gegeven als een spanning, afstand, positie, of een andere fysische grootheid. Een digitale computer is een gegeven als een opeenvolging van symbolen die uit een vast alfabet. De meest voorkomende digitale computers gebruiken een binair alfabet, dat wil zeggen, een alfabet van twee karakters, meestal aangeduid als “0″ en “1″. Meer bekende voorstellingen, zoals getallen of letters, worden vervolgens opgebouwd uit de binaire alfabet.

Enkele speciale vormen van gegevens worden onderscheiden. Een computerprogramma is een verzameling van de gegevens, die kunnen worden geïnterpreteerd als instructies. De meeste computertalen maken een onderscheid tussen programma’s en de andere gegevens over welke programma’s actief zijn, maar in sommige talen, met name Lisp en vergelijkbare talen, programma’s zijn in wezen niet te onderscheiden van andere gegevens. Het is ook nuttig om metadata, dat wil zeggen een beschrijving van de andere gegevens te onderscheiden. Een gelijkaardige maar eerder term voor metadata is “bijkomende gegevens.” De prototypische voorbeeld van metadata is de catalogus van de bibliotheek, dat is een beschrijving van de inhoud van boeken.

Experimentele gegevens verwijst naar de gegevens die worden gegenereerd in het kader van een wetenschappelijk onderzoek door observatie en opname. Veldgegevens verwijst naar de ruwe data verzameld in een ongecontroleerde omgeving in situ.

Computer file

Een computer-bestand is een blok van willekeurige informatie, of bron voor het opslaan van informatie, die beschikbaar is op een computer programma en is meestal gebaseerd op een soort van duurzame opslag. Een bestand is duurzaam in de zin dat deze beschikbaar zijn voor programma’s om te gebruiken na het huidige programma klaar is. Computerbestanden kunnen worden beschouwd als de moderne tegenhanger van papieren documenten die traditioneel worden bewaard in kantoren ‘en bibliotheken’ bestanden, en dit is de bron van de term.

Geschiedenis

Het woord “bestand” werd in het openbaar gebruikt in de context van de computer opslag al in februari, 1950. In een RCA (Radio Corporation of America) advertentie in Popular Science Magazine het beschrijven van een nieuw “geheugen” vacuum tube had ontwikkeld, RCA verklaarde: “… het resultaat van talloze berekeningen kan worden gehouden” on file “en genomen . weer een dergelijke “file” bestaat nu in een “geheugen” buis ontwikkeld aan de RCA Laboratories Elektronisch behoudt cijfers ingevoerd in rekenmachines, houdt ze in de opslag, terwijl het onthoudt nieuwe -.. snelheden intelligente oplossingen door doolhoven van de wiskunde ” In 1952 “file” werd gebruikt door te verwijzen naar informatie die is opgeslagen op de ponskaarten. In het begin van het gebruik van mensen die ook gezien de onderliggende hardware (in plaats van de inhoud) als een bestand. Zo werden de IBM 350 disk drives genaamd “disk files” . Systemen als de 1962 Compatible Time-Sharing System file systemen, die de verschijning van een aantal “bestanden” op een opslagapparaat gaf featured, wat leidde tot de moderne gebruik van het woord. Bestandsnamen in CTSS bestond uit twee delen, een door de gebruiker leesbaar “primaire naam” en een “tweede naam” met vermelding van het type bestand. Dit verdrag blijft in gebruik door meerdere besturingssystemen vandaag de dag, zoals Microsoft Windows. Hoewel de huidige term “register file” toont de vroege concept van bestanden, is het grotendeels verdwenen.

File inhoud

Op de meeste moderne besturingssystemen, worden bestanden georganiseerd in een-dimensionale arrays van bytes. Het formaat van een bestand wordt bepaald door de inhoud ervan, omdat een bestand is alleen een container voor data, hoewel op sommige platformen het formaat wordt meestal aangegeven door de bestandsextensie, met vermelding van de regels voor de manier waarop de bytes moet worden georganiseerd en zinvol geïnterpreteerd. Bijvoorbeeld, worden de bytes van een platte tekst bestand (. Txt in Windows) geassocieerd met ofwel ASCII of UTF-8 tekens, terwijl de bytes van beeld-, video-en audio-bestanden worden anders geïnterpreteerd. De meeste bestanden ook toe een paar bytes voor metadata die het mogelijk maakt een bestand om te onthouden wat basisinformatie over zichzelf.

File size

Op elk moment in de tijd, een bestand kan een grootte hebben, meestal uitgedrukt als het aantal bytes, dat aangeeft hoeveel opslagruimte wordt geassocieerd met het bestand. In de meeste moderne besturingssystemen van de grootte kan elke niet-negatief geheel aantal bytes dat tot een systeem te beperken. Echter, de algemene definitie van een bestand niet vereist dat de omvang moment geen echte betekenis heeft, tenzij de gegevens in het bestand gebeurt er met de gegevens overeenkomen binnen een pool van permanente opslag. Een speciaal geval is een nul-byte bestand, deze bestanden zijn ofwel een ongeluk (een gevolg van een afgebroken schijf niet) of dienen als een soort vlag in het bestandssysteem.

Bijvoorbeeld, om het dossier dat de link / bin / ls punten in een typische Unix-achtig systeem heeft waarschijnlijk een bepaald formaat dat zelden veranderd. Vergelijk dit met / dev / null, die ook is een bestand, maar de grootte kan zijn onduidelijk.

Het organiseren van de gegevens in een bestand

Informatie in een computerbestand kan bestaan ​​uit kleinere pakketten van informatie (vaak genaamd “records” of “lijnen”), die zijn individueel verschillend, maar delen een aantal karaktertrek gemeen. Bijvoorbeeld, kan een payroll-bestand bevat informatie over alle werknemers in een bedrijf en hun salarisadministratie details; elke record in de payroll bestand gaat over slechts een werknemer, en alle records hebben de gemeenschappelijke eigenschap van het zijn in verband met payroll-dit is zeer vergelijkbaar aan het plaatsen van alle payroll informatie in een specifieke archiefkast in een kantoor dat niet over een computer. Een tekstbestand kan regels tekst, die overeenkomt met gedrukte lijnen op een stuk papier. Als alternatief kan een bestand bevat een willekeurige binaire beeld (een BLOB), of het kan een uitvoerbaar bevatten.

De manier waarop informatie wordt gegroepeerd in een bestand is geheel aan hoe het is ontworpen. Dit heeft geleid tot een overvloed aan min of meer gestandaardiseerde bestand structuren voor alle denkbare doeleinden, van de eenvoudigste tot de meest complexe. De meeste computer-bestanden worden gebruikt door computerprogramma’s die maken, wijzigen of te verwijderen van de bestanden voor eigen gebruik op een als dit nodig is. De programmeurs die maken de programma’s bepalen welke bestanden zijn er nodig, hoe ze moeten worden gebruikt en (vaak) hun namen.

In sommige gevallen, computerprogramma’s te manipuleren bestanden die worden zichtbaar gemaakt op de computer gebruiker. Bijvoorbeeld, in een tekstverwerkingsprogramma, de gebruiker manipuleert document-bestanden die de gebruiker persoonlijk namen. Hoewel de inhoud van het document bestand is gerangschikt in een formaat dat de tekstverwerkingsprogramma begrijpt, maar de gebruiker in staat is om de naam en de locatie van het bestand kiezen en het grootste deel van de informatie (zoals woorden en tekst) bepalen dat zal worden opgeslagen in het bestand.

Veel toepassingen pak al hun data bestanden in een enkel bestand met de naam archiefbestand, gebruik van interne markers om de verschillende soorten informatie die in onderscheiden. De voordelen van het archiefbestand zijn om het aantal dossiers voor eenvoudiger overdracht lager, de opslag gebruik te verminderen, of gewoon om verouderde bestanden te organiseren. Het archiefbestand moeten vaak worden uitgepakt voor de volgende gebruik.

File operaties

Op het meest elementaire niveau zijn er slechts twee soorten bestands operaties, lezen en schrijven. Bijvoorbeeld: het toevoegen van tekst aan een document gaat, het openen van het bestand (lezen), het invoeren van de tekst en sla het bestand (schrijven)

Bestanden op een computer kan worden gemaakt, verplaatst, gewijzigd, gegroeid, gekrompen en verwijderd. In de meeste gevallen, computerprogramma’s die worden uitgevoerd op de computer omgaan met deze operaties, maar de gebruiker van een computer kan ook manipuleren bestanden indien nodig. Zo worden bijvoorbeeld Microsoft Word-bestanden normaal aangemaakt en gewijzigd door het Microsoft Word-programma in reactie op de gebruiker commando’s, maar de gebruiker kan ook verplaatsen, hernoemen, of direct verwijderen deze bestanden met behulp van een file manager programma zoals Windows Verkenner (op Windows-computers ).

In Unix-achtige systemen, doe user-space processen normaal gesproken niet omgaan met bestanden op alle, het besturingssysteem biedt een niveau van abstractie, wat betekent dat bijna alle interactie met de bestanden van user-space is door middel van hard links. Hard links kan een naam worden geassocieerd met een bestand (of ze kunnen worden anoniem – en dus tijdelijke) bestanden hebben geen namen in de OS. Bijvoorbeeld, kan een user-space programma geen bestand verwijderen, maar het kan een link naar een bestand (bijvoorbeeld het gebruik van de shell commando rm of mv of, in het anonieme geval, simpelweg door het verlaten) te verwijderen, en als de kernel bepaalt dat Er zijn geen bestaande harde links naar de file (symbolische links gewoon niet op te lossen), kan het dan de mogelijkheid het geheugen locatie voor het verwijderde bestand kan worden besteed aan een ander bestand. Omdat Unix-achtige systemen alleen verwijderen de aanwijzer naar het dossier van de gegevens blijven intact op de harde schijf, dit schept wat is bekend als vrije ruimte, die algemeen wordt beschouwd als een gevaar voor de veiligheid als gevolg van de aanwezigheid van file recovery software. Een dergelijk risico heeft aanleiding gegeven tot de veilige verwijdering programma’s zoals srm. In feite is het eigenlijk alleen de kernel die zich bezighoudt met bestanden, maar het dient tot alle user-space interactie handvat met (virtuele) bestanden op een manier die transparant is voor de user-space programma’s

Semantiek

Hoewel de manier waarop programma’s bestanden te bewerken is afhankelijk van het besturingssysteem en de betrokken bestandssysteem, de volgende handelingen zijn typisch:

Het maken van een bestand met een bepaalde naam

Instellen van attributen die controle operaties op het bestand

Openen van een bestand om de inhoud ervan te gebruiken

Lezen of bijwerken van de inhoud

Het plegen van bijgewerkte inhoud aan duurzame opslag

Het sluiten van het bestand, waardoor het verliezen van toegang tot het weer geopend

Het identificeren en ordenen van bestanden

In de moderne computersystemen, worden de bestanden meestal toegankelijk via namen (bestandsnamen). In sommige besturingssystemen, wordt de naam gekoppeld aan het bestand zelf. In andere, het bestand is anoniem, en wordt gewezen op de links die namen hebben. In het laatste geval kan een gebruiker te identificeren van de naam van de koppeling met het bestand zelf, maar dit is een valse analoog, met name wanneer er meer dan een link bestaat om hetzelfde bestand.

Bestanden (of links naar bestanden) kunnen worden gesitueerd in mappen. Echter, meer in het algemeen, kan een directory bevatten ofwel een lijst met bestanden of een lijst met links naar bestanden. Binnen deze definitie is het van het grootste belang dat de term “bestand” directories bevat. Dit maakt het bestaan ​​van de directory hiërarchieën, dat wil zeggen, directories met sub-directories. Een naam die verwijst naar een bestand in een directory die moet worden typisch uniek. Met andere woorden, er moet geen identieke namen in een directory. Echter, in sommige besturingssystemen, kan een naam ook een specificatie van het type dat betekent een map kan bevatten een identieke naam voor meer dan een type object, zoals een directory en een bestand.

In omgevingen waar een bestand wordt genoemd, moet een bestandsnaam en het pad naar de directory van het bestand uniek te identificeren is onder alle andere bestanden in het computersysteem, geen twee bestanden met dezelfde naam en het pad hebben. Wanneer een bestand anoniem is, zal bestaan ​​met de naam verwijzingen naar het binnen een naamruimte. In de meeste gevallen zal een naam binnen de naamruimte verwijzen naar precies nul of een bestand. Kan echter elk bestand vertegenwoordigd zijn in elke namespace door nul, een of meer namen.

Een willekeurige tekenreeks kan wel of niet een well-formed naam voor een bestand of een link, afhankelijk van de context van de toepassing. Het al dan niet een naam is goed gevormd is afhankelijk van het type computer dat wordt gebruikt. Begin van de computers is alleen toegestaan ​​met een paar letters of cijfers in de naam van een bestand, maar de moderne computers kunnen lange namen (sommige maximaal 255 tekens), die vrijwel elke combinatie van unicode letters of unicode cijfers, waardoor het makkelijker wordt om het doel van een bestand te begrijpen in een oogopslag. Sommige computer systemen maken bestandsnamen om ruimtes te bevatten; anderen niet. Case-gevoeligheid van bestandsnamen wordt bepaald door het bestandssysteem. Unix file systemen zijn meestal hoofdlettergevoelig en laat de gebruiker-level applicaties om bestanden waarvan de naam verschillen alleen in het geval van personages te creëren. Microsoft Windows ondersteunt meerdere bestandssystemen, elk met een verschillend beleid met betrekking tot case-gevoeligheid. De gemeenschappelijke FAT-bestandssysteem kan meerdere bestanden waarvan de naam verschillen alleen in het geval als de gebruiker gebruik maakt van een disk-editor te bewerken de bestandsnamen in de map inzendingen. Gebruiker applicaties, zal echter meestal niet toe dat de gebruiker meerdere bestanden te creëren met dezelfde naam maar verschillend in geval.

De meeste computers organiseren van bestanden in hiërarchieën met behulp van mappen, directories, of catalogi. Het concept is hetzelfde, ongeacht de gebruikte terminologie. Elke map kan bevatten, een willekeurig aantal bestanden, en het kan ook andere mappen. Deze andere mappen worden aangeduid als submappen. Submappen kunnen bevatten steeds meer bestanden en mappen en ga zo maar door, dus het bouwen van een boom-achtige structuur, waarin een “master map” (of “root folder” – de naam verschilt van het ene besturingssysteem naar het andere) kan een aantal niveaus van de bevatten andere mappen en bestanden. Mappen kunnen worden genoemd net als bestanden kunnen (behalve voor de hoofdmap, die vaak niet over een naam). Het gebruik van mappen maakt het makkelijker om te organiseren bestanden op een logische manier.

Wanneer een computer het gebruik van mappen maakt, elk bestand en map heeft niet alleen een eigen naam, maar ook een pad, dat de map of mappen waarin een bestand of map zich bevindt identificeert. In het pad, een soort van speciale tekens, zoals een slash-wordt gebruikt om de bestands-en mapnamen te scheiden. Bijvoorbeeld, in de illustratie getoond in dit artikel, het pad / Payroll / salarissen / managers unieke identificatie van een bestand met de naam Managers in een map genaamd Salarissen, die op zijn beurt is opgenomen in een map met de naam Payroll. De map-en bestandsnamen worden gescheiden door slashes in dit voorbeeld, de bovenste of de hoofdmap heeft geen naam, en zo het pad begint met een slash (als de hoofdmap had een naam, zou deze eerste slash voorafgaan).

Veel (maar niet alle) computer systemen gebruiken extensies in bestandsnamen te helpen wat ze bevatten te identificeren, ook wel bekend als het bestandstype. Op Windows-computers, uitbreidingen bestaan ​​uit een punt (periode) aan het eind van een bestandsnaam, gevolgd door een paar letters om het type van het bestand te identificeren. . Een uitbreiding van de txt identificeert een tekstbestand. Een doc extensie identificeert elk type document of documentatie, die gewoonlijk in het Microsoft Word-bestandsformaat, en ga zo maar door. Zelfs wanneer extensies worden gebruikt in een computersysteem, de mate waarin het computersysteem herkent en luistert naar hen kan verschillen, in sommige systemen, ze zijn verplicht, terwijl in andere systemen, ze zijn volledig genegeerd als ze worden gepresenteerd.

Bestanden beveiligen

Veel moderne computer systemen methoden voor de bescherming van bestanden tegen toevallige en opzettelijke schade. Computers die het mogelijk maken voor meerdere gebruikers implementeren bestandsrechten om te bepalen wie wel of niet mag wijzigen, verwijderen of maken bestanden en mappen. Kan bijvoorbeeld een bepaalde gebruiker slechts worden verleend toestemming om een ​​bestand of map te lezen, maar niet te wijzigen of te verwijderen, of een gebruiker kan worden gegeven toestemming om te lezen en te wijzigen bestanden of mappen, maar niet om ze uit te voeren. Machtigingen kunnen ook worden gebruikt om alleen bepaalde gebruikers de inhoud van een bestand of map te zien. Machtigingen te beschermen tegen onbevoegde manipulatie of vernietiging van gegevens in bestanden, en houd prive-informatie vertrouwelijk te behandelen tegen ongeautoriseerde gebruikers.

Een ander mechanisme voor civiele bescherming in een groot aantal computers is een alleen-lezen vlag. Wanneer deze vlag is ingeschakeld voor een bestand (dat kan worden bereikt door een computerprogramma of door een menselijke gebruiker), kan het bestand worden onderzocht, maar het kan niet worden gewijzigd. Deze vlag is handig voor kritische informatie die niet mag worden gewijzigd of gewist, zoals speciale bestanden die alleen worden gebruikt door interne onderdelen van het computersysteem. Sommige systemen omvatten ook een verborgen vlag om bepaalde bestanden onzichtbaar, deze vlag wordt gebruikt door het computersysteem van essentiële systeembestanden die gebruikers niet mogen wijzigen verbergen.

Het opslaan van bestanden

De discussie hierboven beschrijft een bestand als een concept gepresenteerd aan een gebruiker of een high-level besturingssysteem. Echter, elk bestand dat alle nuttige doel, buiten een gedachte-experiment is, moet een aantal fysieke manifestatie. Dat wil zeggen dat een bestand (een abstract begrip) in een echte computer-systeem hebben een echte fysieke analoog als het is om bestaan.

In fysieke termen, zijn de meeste computer bestanden die zijn opgeslagen op een soort van data-opslag apparaat. Bijvoorbeeld, er is een harde schijf, waarvan de meeste besturingssystemen draaien en waarop de meeste opslag van hun bestanden. Harde schijf is de alomtegenwoordige vorm van niet-vluchtige geheugens sinds de vroege jaren 1960. Waar bestanden alleen tijdelijke informatie bevatten, kunnen ze worden opgeslagen in het RAM-geheugen. Computer bestanden kunnen ook worden opgeslagen op andere media in sommige gevallen, zoals magnetische banden, compact discs, Digital Versatile Discs, Zip-schijven, USB flash drives, enz.

In Unix-achtige besturingssystemen, veel bestanden hebben geen directe associatie met een fysieke opslag apparaat: / dev / null is een goed voorbeeld, net als zowat alle bestanden onder / dev, / proc en / sys. Deze kunnen worden benaderd als bestanden in user space. Ze zijn echt virtuele bestanden die er zijn, in werkelijkheid, als objecten binnen de kernel van het besturingssysteem.

Een back-up bestanden

Wanneer computerbestanden informatie die is uiterst belangrijk bevatten, is een back-up proces dat wordt gebruikt om te beschermen tegen rampen die zouden kunnen vernietigen van de bestanden. Een back-up bestanden eenvoudig via het maken van kopieën van de bestanden in een aparte locatie, zodat ze kunnen worden hersteld als er iets gebeurt met de computer, of als ze per ongeluk worden verwijderd.

Er zijn vele manieren om een ​​back-up bestanden. De meeste computer systemen bieden hulpprogramma’s te helpen bij de back-up proces, dat kan erg tijdrovend als er veel bestanden te beschermen. Bestanden worden vaak gekopieerd naar verwisselbare media, zoals beschrijfbare cd’s of cassette tapes. Het kopiëren van bestanden naar een andere harde schijf in de zelfde computer beschermt tegen het falen van een schijf, maar als het nodig is om te beschermen tegen uitval of vernietiging van de hele computer, dan kopieën van de bestanden moeten worden gemaakt op andere media die kunnen uit de buurt van worden de computer en opgeslagen in een veilige, afgelegen locatie.

De grootvader-vader-zoon back-up methode automatisch drie back-ups maakt, de grootvader bestand is de oudste kopie van het bestand en de zoon is van de huidige exemplaar.

File-systemen en file-managers

De manier waarop een computer organiseert, namen, winkels en manipuleert bestanden is wereldwijd bekend als het bestandssysteem. De meeste computers hebben ten minste een bestandssysteem. Sommige computers maken het gebruik van verschillende bestandssystemen. Bijvoorbeeld, op nieuwere MS Windows-computers, worden de oudere FAT-type file systemen van MS-DOS en oude versies van Windows ondersteund, in aanvulling op het NTFS-bestandssysteem, dat is het normale bestandssysteem voor recente versies van Windows. Elk systeem heeft zijn eigen voor-en nadelen. Standaard FAT staat slechts acht tekens bestandsnamen (plus een extensie van drie tekens), zonder spaties, bijvoorbeeld, terwijl NTFS veel langere namen dat kan spaties bevatten mogelijk maakt. U kunt een bestand “Payroll records” in NTFS, maar in de FAT je zou beperkt worden tot iets als payroll.dat (tenzij je VFAT, een FAT-extensie zodat lange bestandsnamen gebruikt).

File manager programma’s zijn programma’s die gebruikers in staat om direct te manipuleren bestanden. Ze laten u toe verplaatsen, maken, verwijderen en bestanden en mappen te hernoemen, hoewel ze eigenlijk niet kunt u de inhoud van een bestand of op te slaan informatie te lezen in. Elke computer-systeem voorziet in ten minste een file-manager voor haar eigen bestandssysteem. Onder Windows, de meest gebruikte file manager programma is Windows Verkenner.

Asymmetric Digital Subscriber Line (ADSL)

Asymmetric Digital Subscriber Line (ADSL) is een vorm van Digital Subscriber Line-technologie, een datacommunicatie technologie die snellere datatransmissie via koperen telefoonlijnen dan een conventionele voiceband modem kan mogelijk maakt. Het doet dit door gebruik te maken van frequenties die niet gebruikt worden door een stem telefoontje. Een splitter, of een DSL-filter, maakt het mogelijk een telefonische verbinding te gebruiken voor zowel ADSL-service en gesprekken op hetzelfde moment. ADSL kan over het algemeen alleen worden verdeeld over korte afstanden van de centrale kantoor, meestal minder dan 4 kilometers (2 mi), , maar is bekend tot 8 km (5 km) groter zijn dan wanneer de oorspronkelijk bepaalde draaddikte zorgt voor verdere distributie.

Op de telefooncentrale de lijn eindigt in het algemeen op een Digital Subscriber Line Access Multiplexer (DSLAM), waar een andere frequentie splitter scheidt de stem band signaal voor de conventionele telefoon-netwerk. De gegevens die door de ADSL zijn meestal geleid over de gegevens van de telefoonmaatschappij netwerk en uiteindelijk tot een conventioneel Internet Protocol-netwerk.

Overzicht

ADSL verschilt van de minder vaak SDSL in die bandbreedte is groter in de richting van de klant voorzieningen dan het omgekeerde, waardoor het asymmetrisch. Aanbieders meestal ADSL-markt als een service voor de consument om verbinding met het internet in een relatief passieve modus: in staat om de hogere snelheid richting te gebruiken voor het downloaden van het internet, maar niet te hoeven servers die een hoge snelheid zou in de andere richting uit te voeren.

Er zijn zowel technische als marketing redenen waarom ADSL is op veel plaatsen de meest voorkomende vorm aangeboden onder de thuisgebruikers. Aan de technische kant, is er waarschijnlijk meer overspraak van andere circuits op de Digital Subscriber Line Access Multiplexer (DSLAM) uiteinde (waar de draden van vele lokale lussen dicht bij elkaar) dan bij de klant te zijn. Dus de upload-signaal het zwakst op de luidruchtigste deel van het aansluitnet, terwijl de download-signaal is het sterkst op de luidruchtigste deel van het aansluitnet. Het is daarom technische zin te hebben de DSLAM zenden op een hogere bitsnelheid dan werkt de modem op de klant te beëindigen. Sinds de typische thuisgebruiker in feite doet een hogere download snelheid wilt, de telefoon bedrijven ervoor gekozen om een ​​deugd te maken van de nood, dus ADSL. Het op de markt kant, het beperken van upload snelheden beperkt de aantrekkingskracht van deze service aan zakelijke klanten, waardoor ze vaak in de plaats kopen duurdere huurlijnen. In deze mode, het segment van de digitale communicatie markt tussen ondernemingen en van thuisgebruikers.

Operatie

Momenteel hebben de meeste ADSL-communicatie is full-duplex. Full-duplex communicatie ADSL is meestal bereikt op een dradenpaar door een frequentie-division duplex (FDD), echo-cancelling duplex (ECD), of time-division duplex (TDD). FDD gebruikt twee afzonderlijke frequentiebanden, aangeduid als de upstream-en downstream-bands. De upstream-band wordt gebruikt voor communicatie van de eindgebruiker op de telefoon centrale kantoor. De downstream-band wordt gebruikt voor het communiceren van de centrale kantoor aan de eindgebruiker.

Met standaard ADSL (bijlage A), de band van 26,000 kHz tot 137.825 kHz wordt gebruikt voor upstream-communicatie, terwijl het 138 kHz – 1104 kHz wordt gebruikt voor downstream communicatie. Volgens de gebruikelijke regeling DMT, wordt elk van deze verder onderverdeeld in kleinere frequentie kanalen van 4,3125 kHz. Deze frequentie kanalen zijn soms genoemd bakken. Tijdens de eerste training om de overdracht kwaliteit en snelheid te optimaliseren, de ADSL-modem testen elk van de bakken het bepalen van de signaal-ruisverhouding bij frequentie elke bak is. Afstand van de telefooncentrale, kabel kenmerken, interferentie van AM-radio stations, en de lokale interferentie en elektrische ruis op de locatie van de modem kan de signaal-ruisverhouding negatieve invloed hebben op bepaalde frequenties. Bakken voor frequenties vertonen een verminderde signaal-ruisverhouding zal worden gebruikt tegen een lagere doorvoersnelheid of helemaal niet, dit vermindert de maximale koppeling capaciteit, maar kan de modem te onderhouden een goede verbinding. De DSL-modem maakt een plan over hoe elk van de bakken te benutten, soms aangeduid als “bits per bin” toewijzing. Deze bakken dat een goede signaal-ruisverhouding (SNR) zullen worden gekozen om signalen gekozen uit een groter aantal mogelijke gecodeerde waarden (deze waaier van mogelijkheden neer op meer stukjes van de verzonden gegevens) in iedere grote klokcyclus te verzenden. Het aantal mogelijkheden moet niet zo groot zijn dat de ontvanger ten onrechte zou kunnen decoderen, die een bedoeld was in de aanwezigheid van lawaai. Noisy bakken mogen alleen worden verlangd dat zij slechts twee bits, een keuze uit slechts een van de vier mogelijke patronen, of slechts een bit per bin in het geval van ADSL2 +, en zeer luidruchtige bakken in het geheel niet gebruikt te dragen. Als het patroon van het geluid ten opzichte van frequenties horen in de bakken verandert, kan de DSL-modem veranderen de bits-per-bin toewijzingen, in een proces genaamd “bitswap”, waar bakken die zijn uitgegroeid tot meer lawaai alleen verplicht zijn om minder bits en andere te voeren kanalen worden gekozen te worden gegeven een hogere last. De data-overdracht de capaciteit van de DSL-modem dus rapporten wordt bepaald door het totaal van de bits-per-bin toewijzingen van alle gecombineerde de bakken. Hogere signaal-ruis-ratio’s en meer afvalbakken worden in gebruik geeft een hogere totale koppeling capaciteit, terwijl de lagere signaal-ruis-ratio’s of minder containers wordt gebruikt geeft een lage koppeling capaciteit.

De totale maximale capaciteit afgeleid van het optellen van de bits-per-bins wordt gemeld door DSL-modems en wordt soms genoemd sync tarief. Dit zal altijd nogal misleidend, als het ware een maximale koppeling capaciteit voor de gebruiker data transfer rate aanzienlijk geringer zal zijn, omdat extra data worden verzonden die worden genoemd protocol overhead, lagere cijfers voor PPPoA verbindingen van rond de 84-87 procent, bij de meeste, zijnde vaak voor. Daarnaast zullen sommige ISP’s hebben het verkeer beleid dat een maximale overdrachtsnelheid verder in te perken in de netwerken buiten de beurs, en de verkeersopstoppingen op het internet, zware belasting van de servers en traagheid of inefficiëntie van de klanten ‘computers kunnen allemaal bijdragen aan de vermindering onder het maximaal haalbare .

De keuzes die de DSL-modem te maken kan ook worden zowel conservatief, waar de modem kiest toe te wijzen minder bits per bin dan het zou kunnen, een keuze die zorgt voor een tragere verbinding, of minder conservatief waarin meer bits per bin worden gekozen, in welk geval Er is een groter risico geval van een fout moet de toekomst signaal-ruis verhoudingen verslechteren tot het punt waar de bits-per-bin gekozen toewijzingen te hoog zijn om te gaan met de grotere ruis aanwezig is. Dit conservatisme met een keuze om met minder bits per bin als een waarborg tegen toekomstige geluidshinder toe is gerapporteerd als de signaal-ruisverhouding marge of SNR marge. De telefooncentrale kan duiden op een voorgestelde SNR marge om DSL-modem van de klant als het in eerste instantie verbindt, en de modem kan de bits-per-bin plan voor de toewijzing dienovereenkomstig te maken. Een hoge SNR marge betekent een lagere maximale doorvoer, maar een grotere betrouwbaarheid en stabiliteit van de verbinding. Een lage SNR marge betekent hoge snelheden, op voorwaarde dat het geluidsniveau niet te veel te verhogen, anders zal de verbinding moeten laten vallen en heronderhandeld (resynced). ADSL2 + kan beter geschikt voor dergelijke omstandigheden, het aanbieden van een functie genaamd naadloze tarief aanpassing (SRA), die plaats biedt aan veranderingen in de totale band capaciteit met minder verstoring van de communicatie.

Verkopers kunnen ondersteunen het gebruik van hogere frequenties als een eigen uitbreiding op de standaard. Dit vereist echter matching leverancier geleverde apparatuur aan beide uiteinden van de lijn, en zal waarschijnlijk leiden tot overspraak problemen die andere lijnen in dezelfde bundel beïnvloeden.

Er is een directe relatie tussen het aantal beschikbare kanalen en de doorstroomcapaciteit van de ADSL-verbinding. De exacte data capaciteit per kanaal afhankelijk van de gebruikte modulatie methode.

ADSL in eerste instantie bestond in twee versies (vergelijkbaar met VDSL), namelijk het GLB en DMT. CAP was de de facto standaard voor ADSL-implementaties tot 1996, ingezet in 90 procent van de ADSL installeert op het moment. Er werd echter DMT gekozen voor de eerste ITU-T-ADSL-normen, G.992.1 en G.992.2 (ook wel G.dmt en G.lite respectievelijk). Daarom moeten alle moderne installaties van ADSL zijn gebaseerd op de DMT modulatie regeling.

Interleaving en fastpath

ISP’s (zelden, gebruikers) hebben de optie om interleaving van de pakketten te gebruiken om de effecten van de burst ruis op de telefoonlijn tegen te gaan. Een interleaved lijn heeft een diepte, meestal 8 tot 64, waarin wordt beschreven hoeveel Reed-Solomon codewoorden worden verzameld voordat ze worden verzonden. Als ze kunnen allemaal samen worden verzonden, kunnen hun forward error correction codes worden gemaakt veerkrachtig. Interleaving voegt latency als alle pakketten moeten eerst worden verzameld (of vervangen door lege pakketjes) en ze, uiteraard, alle tijd nemen om te zenden. 8 frame interleaving voegt 5 ms round-trip-time (RTT), terwijl 64 diepe interleaving voegt 25 ms RTT. Andere mogelijke dieptes zijn 16 en 32.

“Fastpath”-verbindingen hebben een interleaving diepte van 1, dat is een pakket wordt verstuurd op een moment. Dit heeft een lage latency, meestal rond de 10 ms (interleaving draagt ​​bij aan deze, deze is niet groter is dan interleaved), maar het zeer gevoelig voor fouten, zoals elke uitbarsting van geluid kan het volledige pakket en dat vereisen het allemaal moeten worden doorgestuurd. Zo’n uitbarsting op een groot interleaved pakket slechts blanks een deel van het pakket, kan deze worden teruggevorderd van foutcorrectie informatie in de rest van het pakket. Een “fastpath” verbinding zal resulteren in extreem hoge latency op een slechte lijn, zoals elk pakket zullen veel pogingen te nemen.

Installatie problemen

ADSL opstelling op een bestaande Plain Old Telephone Service (POTS) telefoonlijn presenteert een aantal problemen op, omdat de DSL is binnen een frequentieband die ongunstig zouden kunnen interageren met de bestaande apparatuur is aangesloten op de lijn. Daarom is het noodzakelijk om een ​​passende frequentie filters in de lokalen van de klant te installeren om interferentie te voorkomen tussen de DSL-, spraak-diensten, en alle andere aansluitingen op de lijn, bijvoorbeeld ter ondersteuning van de indringer alarmen “Red Care” een voorbeeld in het Verenigd Koninkrijk. Dit is wenselijk voor de voice-service en van essentieel belang voor een betrouwbare ADSL-verbinding.

In de vroege dagen van DSL, installatie vereist een technicus om het gebouw te bezoeken. Een splitter of een microfilter was geïnstalleerd in de buurt van de afbakening punt, van waaruit een speciale data-lijn werd geïnstalleerd. Op deze manier is het DSL-signaal gescheiden zo dicht mogelijk bij het centrale kantoor en is niet verzwakt in de lokalen van de klant. Echter, deze procedure was kostbaar, en ook problemen veroorzaakt met de klanten klagen over het hebben van te wachten op de monteur om de installatie uit te voeren. Ja, veel DSL-aanbieders begonnen met het aanbieden van een “self-install” optie, waarbij de aanbieder apparatuur en instructies aan de klant. In plaats van het scheiden van het DSL-signaal op de afbakening punt, is het DSL-signaal gefilterd op elke telefooncontactdoos door gebruik te maken van een low-pass filter voor spraak-en een high-pass filter voor data, meestal ingesloten in wat bekend staat als een microfilter. Dit microfilter kan worden aangesloten door een eindgebruiker in een ‘jack: het vereist geen nieuwe bedrading in de lokalen van de klant.

Gewoonlijk microfilters worden alleen low-pass filters, zodat daarachter alleen lage frequenties (spraak signalen) kunnen passeren. In de gegevens paragraaf wordt een microfilter niet gebruikt omdat digitale apparaten die bedoeld zijn om gegevens te extraheren uit het DSL-signaal, zichzelf, filteren lage frequenties. Voice telefoonapparaten zal aantrekken tot het gehele spectrum zo hoge frequenties, met inbegrip van het ADSL-signaal, zal worden “gehoord” als ruis in de telefoon-terminals, en zal beïnvloeden en vaak de dienst af te breken in fax, dataphones en modems. Vanuit het oogpunt van DSL-apparaten, een eventuele acceptatie van hun signaal door POTS-apparaten betekenen dat er een afbraak van de DSL-signaal naar de apparaten, en dit is de centrale reden waarom deze filters nodig.

Een neveneffect van de overgang naar de zelf-installeren model is dat het DSL-signaal kan worden afgebroken, vooral als er meer dan 5 voiceband (dat wil zeggen, POTS telefoon-achtige)-apparaten zijn aangesloten op de lijn. Zodra een lijn heeft gehad DSL ingeschakeld, het DSL-signaal is aanwezig op alle telefoon bekabeling in het gebouw, waardoor demping en echo. Een manier om dit te omzeilen is om terug te gaan naar het oorspronkelijke model, en de upstream installeer een filter van alle telefoon-aansluitingen in het gebouw, met uitzondering van de aansluiting waarop de DSL-modem wordt aangesloten. Aangezien dit vereist bekabeling verandert door de klant, en mogen niet werken op een aantal huishoudelijke telefoon bekabeling, wordt het zelden gedaan. Het is meestal veel gemakkelijker te installeren filters op elke telefoonaansluiting dat in gebruik is.

DSL-signalen kunnen worden afgebroken door oudere telefoonlijnen, surge protectors, slecht ontworpen microfilters, radio-interferentie, elektrische ruis, en door de lange telefonische verlengsnoeren. Telefoon verlengsnoeren zijn meestal gemaakt met kleine-gauge, multi-streng koperen geleiders die niet handhaven van een geluidsreducerende paar twist. Een dergelijke kabel is meer gevoelig voor elektromagnetische interferentie en heeft meer demping dan vaste twisted-pair koperen draden meestal aangesloten op de telefoon aansluitingen. Deze effecten zijn vooral van betekenis als de klant telefoonlijn is meer dan 4 km van de DSLAM in de telefooncentrale, die het signaal niveaus leidt tot lager ten opzichte van een lokale lawaai en demping. Dit zal tot gevolg hebben dat het verminderen van snelheid of het veroorzaken van verbinding mislukkingen.

Redundant Array of Independent Disks (RAID)

RAID, acroniem voor Redundant Array of Independent Disks (oorspronkelijk Redundant Array of Inexpensive Disks), is een technologie die grotere opslagcapaciteit functies en betrouwbaarheid door redundantie biedt. Dit wordt bereikt door het combineren van meerdere schijf componenten in een logische eenheid, waar gegevens over de schijven verdeeld in een van de verschillende manieren genaamd “RAID-niveaus”, dit concept is een voorbeeld van een storage virtualisatie en werd voor het eerst gedefinieerd door David A. Patterson, Garth A. Gibson, en Randy Katz aan de Universiteit van Californië, Berkeley in 1987 als Redundant Arrays of Inexpensive Disks . Marketeers die de industrie vertegenwoordigen RAID fabrikanten later geprobeerd om de term opnieuw uit te vinden om een ​​Redundant Array of Independent Disks beschrijven als een middel om dissociërende een low-cost verwachtingen van RAID-technologie .

RAID wordt nu gebruikt als een overkoepelende term voor computer data opslag systemen die kunnen verdelen en repliceren van gegevens tussen meerdere fysieke schijven. De fysieke schijven wordt gezegd dat ze in een RAID-array, , die toegankelijk is door het besturingssysteem als een enkele disk. De verschillende regelingen of architecturen worden genoemd door het woord RAID, gevolgd door een nummer (bv, RAID 0, RAID 1). Elke regeling voorziet in een ander evenwicht tussen de twee belangrijke doelen: verhoging van de betrouwbaarheid van gegevens en verhoging van input / output prestaties.

Standaard niveaus

Een aantal standaard programma’s hebben zich ontwikkeld, die worden aangeduid als niveaus. Er waren vijf RAID-niveaus oorspronkelijk bedacht, maar veel meer variaties zijn geëvolueerd, met name een aantal geneste niveaus en vele niet-standaard levels (meestal gesloten). RAID-niveaus en de bijbehorende data formaten worden gestandaardiseerd door SNIA in het gemeenschappelijk RAID Disk Drive Format (DDF) standaard.

Hieronder volgt een korte tekstuele samenvatting van de meest gebruikte RAID-niveau .

RAID 0 (block-level striping zonder pariteit of mirroring) heeft geen (of nul) redundantie. Het biedt verbeterde prestaties en extra opslag, maar geen fouttolerantie. Vandaar dat eenvoudige streep sets zijn gewoonlijk aangeduid als RAID 0. Elke schijf defect vernietigt de array, en de kans van falen stijgt met meer schijven in de array (bij een minimum, katastrofisch verlies van gegevens is bijna twee keer zoveel kans in vergelijking met enkele drives zonder RAID). Een schijf defect vernietigt de hele array, want wanneer gegevens worden weggeschreven naar een RAID 0-volume, de data wordt opgedeeld in fragmenten genaamd blokken. Het aantal blokken wordt bepaald door de stripegrootte, dat is een configuratie parameter van de array. De blokken zijn geschreven aan hun respectieve schijven tegelijkertijd op dezelfde sector. Hierdoor kunnen kleinere delen van het hele stuk van de gegevens te lezen uit de parallel aan te sturen, het verhogen van de bandbreedte. RAID 0 heeft geen foutcontrole uit te voeren, dus elke fout wordt oncorrigeerbare. Meer schijven in de array betekent een hogere bandbreedte, maar een groter risico op verlies van gegevens.

In RAID 1 (mirroring zonder pariteit of striping), worden de gegevens op dezelfde manier geschreven naar meerdere schijven (een “gespiegelde set”). Terwijl een aantal schijven kan worden gebruikt, vele implementaties te gaan met slechts 2. De array blijft functioneren, zolang ten minste een station werkt. Met de juiste besturingssysteem te ondersteunen, kan er worden vergroot leesprestaties, en slechts een minimale schrijfsnelheid vermindering, de uitvoering RAID 1 met een aparte controller voor elke schijf om gelijktijdig uit te voeren leest (en schrijft) wordt ook wel multiplexing (of dubbelzijdig afdrukken als er zijn slechts twee schijven).

In RAID-2 (bit-level striping met speciale Hamming-code pariteit), is alle schijf as draaien gesynchroniseerd, en data is gestreept zodanig dat elke sequentiële bit is op een andere schijf. Hamming-code pariteit wordt berekend over de corresponderende bits op schijven en opgeslagen op ten minste een pariteit schijf.

In RAID 3 (byte-level striping met speciale pariteit), is alle schijf as draaien gesynchroniseerd, en data is gestreept zodat elke sequentiële byte is op een andere schijf. Pariteit wordt berekend over overeenkomstige bytes op schijven en opgeslagen op een speciale pariteit schijf.

RAID 4 (block-level striping met speciale pariteit) is identiek aan RAID 5 (zie hieronder), maar beperkt alle pariteit gegevens op een enkele schijf, wat een performance bottleneck kan creëren. In deze opstelling kunnen bestanden worden verdeeld tussen meerdere schijven. Elke schijf werkt onafhankelijk waardoor I / O-verzoeken uit te voeren in parallel, hoewel data transfer snelheden kunnen lijden als gevolg van de aard van de pariteit. De fout detectie wordt bereikt door middel van speciale pariteit en wordt opgeslagen in een aparte, enkele schijf unit.

RAID 5 (block-level striping met verspreide pariteit) distribueert pariteit samen met de data en vereist alle stations, maar een aanwezig te zijn om te werken, de array is niet vernietigd door een enkele schijf kapot gaat. Bij de schijf, kan elke latere leest wordt berekend op basis van de gedistribueerde pariteit zodanig dat de schijf kapot is gemaskeerd door de eindgebruiker. Echter, een enkele schijf defect resulteert in een verminderde werking van de hele array totdat de defecte schijf is vervangen en de bijbehorende gegevens herbouwd.

RAID 6 (block-level striping met dubbele gedistribueerde pariteit) biedt fouttolerantie van twee rijden mislukkingen, de array blijft werken met maximaal twee defecte schijfeenheden. Dit maakt grotere RAID-groepen meer praktische, vooral voor systemen met hoge beschikbaarheid. Dit wordt steeds belangrijker als grote capaciteit drives verlengen de tijd die nodig is om te herstellen van het falen van een enkele schijf. Single-parity RAID-niveaus zijn zo kwetsbaar voor verlies van gegevens als een RAID 0-array totdat de defecte schijf wordt vervangen en de gegevens opnieuw opgebouwd, hoe groter de schijf, hoe langer het duurt weer op te bouwen. Dubbele pariteit geeft de tijd aan de array herbouwen zonder dat de data in gevaar als een extra schijf uitvalt voordat het opnieuw opbouwen is voltooid.

Geneste (hybride) RAID

In wat oorspronkelijk werd genoemd hybride RAID, veel opslag-controllers laten RAID-niveaus worden genest. De elementen van een RAID kan zowel de individuele schijven of RAID’s zelf. Nesten meer dan twee diep is ongebruikelijk.

Aangezien er geen fundamentele RAID-niveau genummerd groter dan 9, worden genest RAID’s meestal eenduidig ​​omschreven door het aanbrengen van de nummers met vermelding van de RAID-niveaus, soms met een “+” in tussen. De volgorde van de cijfers in een geneste RAID-aanduiding is de volgorde waarin de geneste array is gebouwd: Voor RAID 1 +0, drives worden eerst gecombineerd in meerdere RAID-arrays die een zelf behandeld als single drives worden gecombineerd in een enkele RAID 0-array, de omgekeerde structuur is ook mogelijk (RAID 0 +1).

Het uiteindelijke RAID-niveau staat bekend als de top array. Wanneer de top array is een RAID 0 (zoals in RAID 1 +0 en RAID 5 +0), de meeste leveranciers weglaten van de “+” (waardoor RAID 10 en RAID 50, respectievelijk).

RAID 0 +1: gestreepte sets in een gespiegelde set (minimum vier schijven, ook het aantal schijven) biedt fouttolerantie en betere prestaties, maar verhoogt de complexiteit.

Het belangrijkste verschil met RAID 1 +0 is dat RAID 0 +1 creëert een tweede gestreept ingesteld op een primaire spiegel gestreepte set. De array blijft werken met een of meer stations niet in dezelfde spiegel te stellen, maar als drives niet aan beide zijden van de spiegel de gegevens op het RAID systeem is verloren.

RAID 1 +0: gespiegeld sets in een gestreepte set (minimum vier schijven, ook het aantal schijven) biedt fouttolerantie en betere prestaties, maar verhoogt de complexiteit.

Het belangrijkste verschil met RAID 0 +1 is dat RAID 1 +0 een gestreepte set van een serie gespiegelde stations creëert. De array kan houden met meerdere rijden verliezen zolang er geen spiegel verliest al zijn schijven .

RAID 5 +1: gespiegelde gestreepte set met gedistribueerde pariteit (sommige fabrikanten label dit als RAID 53).

Of het nu een reeks draait als RAID 0 +1 of RAID 1 +0 in de praktijk vaak wordt bepaald door de evolutie van het opslagsysteem. Een RAID-controller zou kunnen ondersteunen upgraden van een RAID 1-array naar een RAID 1 +0 array op de fly, maar vereisen een lange offline weer op te bouwen om te upgraden van RAID 1 naar RAID 0 +1. Met geneste arrays, soms de weg van de minste verstoring prevaleert boven het bereiken van de gewenste configuratie.

RAID-Parity

Veel RAID-niveaus gebruik van een fout regeling voor de bescherming genaamd “pariteit”. De meeste gebruik maken van de eenvoudige XOR pariteit beschreven in deze sectie, maar RAID 6 gebruikt twee afzonderlijke pariteiten gebaseerd op respectievelijk optellen en vermenigvuldigen met een bepaald Galois veld of Reed-Solomon error correctie. XOR pariteit berekening is een veel gebruikte methode in de informatie-technologie om fouttolerantie in een bepaalde set van gegevens.

In Booleaanse logica, is er een operatie genaamd exclusieve of (XOR), wat betekent “een of het ander, maar niet geen van beide en niet beide. ‘ Bijvoorbeeld:

0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

De XOR operator staat centraal hoe de pariteit data wordt gemaakt en gebruikt binnen een array. Het wordt gebruikt zowel voor de bescherming van gegevens, alsmede voor het herstel van de ontbrekende gegevens.

Als voorbeeld, overweeg dan een eenvoudige RAID bestaat uit zes schijven (4 voor data, 1 voor pariteit, en 1 voor gebruik als een hot-spare), waar elk station heeft slechts een enkele byte waarde van opslag (een ‘-’ staat voor een bit, de waarde van die niet uit op dit punt in de discussie):

Drive # 1: ——– (Data)
Drive # 2: ——– (Data)
Drive # 3: ——– (Data)
Drive # 4: ——– (Data)
Drive # 5: ——– (Hot Spare)
Drive # 6: ——– (pariteit)

Laat de volgende gegevens worden geschreven om de gegevens te schijven:

Drive # 1: 00.101.010 (Data)
Drive # 2: 10.001.110 (Data)
Drive # 3: 11.110.111 (Data)
Drive # 4: 10.110.101 (Data)
Drive # 5: ——– (Hot Spare)
Drive # 6: ——– (pariteit)

Iedere keer dat gegevens worden weggeschreven naar de data schijven, is een pariteit waarde berekend om te kunnen herstellen van een data schijf kapot gaat. Voor het berekenen van de pariteit voor deze RAID, is een bitwise XOR van de gegevens elk station is als volgt berekend, waarvan het resultaat is de pariteit data:

00101010 XOR 10001110 XOR 11110111 XOR 10110101 = 11100110

De pariteit data 11100110 wordt vervolgens weggeschreven naar de speciale pariteit station:

Drive # 1: 00.101.010 (Data)
Drive # 2: 10.001.110 (Data)
Drive # 3: 11.110.111 (Data)
Drive # 4: 10.110.101 (Data)
Drive # 5: ——– (Hot Spare)
Drive # 6: 11100110 (pariteit)

Stel dat Drive # 3 mislukt. Om de inhoud van Drive # 3 te herstellen, is hetzelfde XOR berekening uitgevoerd met behulp van de gegevens van alle resterende data schijven en (als vervanging voor drive # 3) de pariteit waarde (11100110) opgeslagen in Drive # 6:

00101010 XOR 10001110 XOR 11100110 XOR 10110101 = 11110111

Met de volledige inhoud van Drive teruggevonden # 3, worden de gegevens weggeschreven naar de hot spare, en de RAID kan blijven functioneren.

Drive # 1: 00.101.010 (Data)
Drive # 2: 10.001.110 (Data)
Drive # 3: – Dead – (Data)
Drive # 4: 10.110.101 (Data)
Drive # 5: 11.110.111 (Hot Spare)
Drive # 6: 11100110 (pariteit)

Op dit punt is de dode schijf moet worden vervangen door een werkende een van dezelfde grootte. Afhankelijk van de uitvoering, de nieuwe schijf kan zowel over als een nieuwe hot-spare drive en de oude hot-spare schijf blijft fungeren als een data schijf van de array, of (zoals hieronder afgebeeld), de originele hot spare de inhoud automatisch gekopieerd naar de nieuwe station door de array controller, waardoor de originele hot spare aan haar oorspronkelijke doel terug te keren als een noodgeval standby rijden. De resulterende array is gelijk aan zijn pre-failure state:

Drive # 1: 00.101.010 (Data)
Drive # 2: 10.001.110 (Data)
Drive # 3: 11.110.111 (Data)
Drive # 4: 10.110.101 (Data)
Drive # 5: ——– (Hot Spare)
Drive # 6: 11100110 (pariteit)

Dit zelfde basis XOR principe geldt voor de pariteit binnen de RAID-groepen, ongeacht de capaciteit of het aantal schijven. Zolang er genoeg schijven aanwezig zijn om te zorgen voor een XOR berekening te laten plaatsvinden, kan pariteit worden gebruikt om gegevens van een enkele schijf defect te herstellen. (Een minimum van drie schijven moet aanwezig zijn om voor de pariteit te worden gebruikt voor de fouttolerantie, omdat de XOR-operator vereist twee operanden, en een plaats om het resultaat op te slaan).

RAID 10 versus RAID 5 in relationele databases

Een gemeenschappelijke mythe (en een die dient ter illustratie van de dynamiek van een goede RAID inzet) is dat RAID 10 is inherent beter is voor relationele databases dan RAID 5, te wijten aan het feit dat de RAID 5 nodig heeft om te herberekenen en te herverdelen pariteit data op een per-write basis.

Hoewel dit misschien een hindernis in het verleden RAID 5-implementaties, de taak van pariteit herberekening en herverdeling binnen de moderne Storage Area Network (SAN) apparaten is uitgevoerd als een back-end proces transparant voor de host, niet als een in-line proces dat concurreert met de bestaande I / O. De “schrijven penalty” inherent aan RAID 5 daadwerkelijk is gemaskeerd, omdat (dat wil zeggen de RAID-controller dit verwerkt als een huishoudelijke taak worden uitgevoerd tijdens idle een bepaalde spindel’s tijdsfragment volbrengen, om niet aan een behandeling I / O van de host. Verstoren) de late jaren 1990 door een combinatie van verbeterde controller design, grotere hoeveelheden van de cache, en een snellere harde schijven. Het effect van een boete schrijven bij het gebruik van RAID 5 is meestal een punt van zorg wanneer de werkdruk een groot aantal random writes heeft.

In de overgrote meerderheid van de enterprise-level SAN hardware, eventuele schrijft die worden gegenereerd door de gastheer zijn gewoon opgeslagen in een kleine, gespiegeld NVRAM cache, erkende onmiddellijk, en ten slotte gesynchroniseerd op de harde schijf als de controller naar eigen goeddunken te doen vanuit een efficiency oogpunt . Vanuit het perspectief van de gastheer, een individu te schrijven naar een RAID 10-volume is niet sneller dan een persoon te schrijven naar een RAID 5-volume, een verschil tussen hen pas duidelijk wanneer cache schrijven op het SAN controller niveau is overweldigd, zodat de SAN-apparaat moet weigeren of gate verder schrijf aanvragen. Hoewel zeldzaam, geeft dit aan het algemeen slechte performance management voor rekening van de SAN-beheerder, en niet een tekortkoming van RAID 5 of RAID 10. SAN-apparaten over het algemeen dienst meerdere hosts die zowel concurreren voor controller cache en as de tijd. Deze bewering is grotendeels gemaskeerd, omdat de controller is over het algemeen capabel genoeg om te lezen cache hit ratio’s te maximaliseren, terwijl blozen andere cache gegevens van de schrijfcache.

De keuze tussen RAID 10 en RAID 5 voor het doel van de huisvesting een relationele database is afhankelijk van een aantal factoren (spindel beschikbaarheid, kosten, zakelijk risico, enz.), maar vanuit een performance oogpunt, het hangt vooral af van het type I / O verwacht voor een bepaalde database applicatie. Voor databases die naar verwachting uitsluitend of sterk lezen bevooroordeeld, is RAID 10 vaak gekozen omdat het een lichte verbetering ten opzichte van snelheid RAID 5 op duurzame leest en aanhoudende gerandomiseerde schrijft. Als een database zal naar verwachting sterk schrijven bevooroordeeld te zijn, RAID 5 wordt de meer aantrekkelijke optie, omdat RAID 5 heeft geen last van hetzelfde schrijven handicap die inherent zijn in RAID 10, alle assen in een RAID 5 kan worden gebruikt om gelijktijdig te schrijven, terwijl slechts de helft van de leden van een RAID-10 kan worden gebruikt. Echter, om redenen die vergelijkbaar is met wat er is het ‘lezen penalty “geëlimineerd in RAID 5, het’ schrijven straf ‘van RAID 10 is grotendeels gemaskeerd door verbeteringen in de controller cache efficiency en disk throughput.

Wat zijn de oorzaken RAID 5 tot iets langzamer dan RAID 10 wordt op duurzame leest is het feit dat de RAID 5 pariteitsgegevens interleaved binnen de normale gegevens. Voor elke las pas in RAID 5, is er een kans dat een leeskop kan nodig zijn om een ​​regio van pariteitsgegevens doorkruisen. Het cumulatieve effect van deze prestatie is een lichte daling ten opzichte van RAID 10, die geen gebruik van pariteit, en dus nooit ontmoet een omstandigheid waar de gegevens onder een hoofd is van geen enkel nut. Voor de overgrote meerderheid van de situaties, maar de meeste relationele databases gehuisvest op RAID 10 even goed presteren in RAID 5. De sterke en zwakke punten van elk type slechts een probleem worden in atypische implementaties, of implementaties op overcommitted hardware .

Er zijn echter ook andere overwegingen die moeten worden gehouden met andere dan alleen die met betrekking tot de prestaties. RAID 5 en andere niet-mirror-arrays bieden op basis van een lagere graad van veerkracht dan RAID 10 uit hoofde van RAID 10-mirroring strategie. In een RAID 10, kan I / O, zelfs voort te zetten ondanks meerdere rijden mislukkingen. Ter vergelijking: in een RAID 5 array, iedere tekortkoming waarbij meer dan een schijf maakt de array zelf onbruikbaar op grond van pariteit herberekening wordt het onmogelijk om te presteren. Zo is RAID 10 vaak de voorkeur omdat het het laagste niveau van het risico .

Bovendien, de tijd die nodig is om gegevens te herbouwen op een hot spare in een RAID 10 is aanzienlijk minder dan in een RAID 5, omdat alle overige assen in een RAID 5 weer op te bouwen moeten deelnemen in het proces, terwijl alleen de hot spare en een spiegel vereist is in een RAID 10. Dus, in vergelijking met een RAID 5, RAID een 10 heeft een kleinere window of opportunity waarin een tweede schijf defect zou kunnen scala storing veroorzaken.

Nogmaals, modern SAN ontwerp grotendeels maskers een performance hit, terwijl een RAID is in een afgebroken staat op grond van het kunnen uitvoeren van bewerkingen weer op te bouwen, zowel in-band-of out-of-band met betrekking tot bestaande I / O-verkeer. Gezien het zeldzame karakter van de schijf storingen in het algemeen, en de zeer lage waarschijnlijkheid van meerdere gelijktijdige aandrijving storingen die zich in dezelfde RAID-array, de keuze van de RAID 5 RAID meer dan 10 komt vaak neer op de voorkeur van de opslag beheerder, in het bijzonder wanneer afgewogen tegen andere factoren zoals kosten, throughput eisen, en de fysieke spindel beschikbaarheid.

Kortom, de keuze tussen RAID 5 tussen RAID 10 gaat om een ​​ingewikkelde mix van factoren. Er is geen one-size-fits-all oplossing, de keuze van de een over de ander moet zijn ingegeven door alles van de I / O-kenmerken van de database, om zakelijke risico’s, voor het slechtste geval gedegradeerd-state-throughput, om het aantal en het type van de schijven in de array zelf. In de loop van het leven van een database, kan men zelfs situaties waarbij RAID 5 in eerste instantie de voorkeur, maar RAID 10 wordt langzaam de betere keuze, en vice versa.

Nieuwe RAID-classificatie

In 1996, de RAID Advisory Board introduceerde een verbeterde indeling van de RAID-systemen Het verdeelt RAID in drie types.:

Falen-resistente (systemen die bescherming bieden tegen het verlies van gegevens als gevolg van schijf).

Falen-tolerante (systemen die beschermen tegen verlies van de toegang tot de gegevens als gevolg van falen van een component).

Ramp-tolerante (systemen die bestaan ​​uit twee of meer onafhankelijke zones, die beide biedt toegang tot opgeslagen gegevens).

De originele “Berkeley” RAID classificaties zijn nog steeds bewaard als een belangrijk historisch referentiepunt, maar ook te erkennen dat RAID-niveaus 0-6 met succes alle bekende data mapping en bescherming van programma’s te definiëren voor disk-gebaseerde opslagsystemen. Helaas, de oorspronkelijke indeling veroorzaakte enige verwarring als gevolg van de veronderstelling dat een hoger RAID-niveaus hoger redundantie en prestaties betekenen, deze verwarring is uitgebuit door fabrikanten van RAID-systeem, en het heeft schonk het leven aan de producten met namen als RAID-7, RAID- 10, RAID-30, RAID-S, enz. Bijgevolg heeft de nieuwe classificatie beschrijft de beschikbaarheid van gegevens kenmerken van een RAID-systeem, waardoor de details van de uitvoering van het systeem fabrikanten.

Het niet-resistente disk systemen (FRDS) (voldoet aan een minimum van criteria 1-6) 1. Bescherming tegen verlies van gegevens en het verlies van toegang tot de gegevens als gevolg van schijf defect
2. Reconstructie van defecte schijf content naar een vervangende schijf
3. Bescherming tegen gegevensverlies als gevolg van een ‘write hole ”
4. Bescherming tegen gegevensverlies als gevolg van host en host I / O-bus niet
5. Bescherming tegen verlies van gegevens te wijten aan replaceable unit defect
6. Vervangbare eenheid de controle en het falen indicatie

Het niet-tolerante disk systemen (FTD) (voldoet aan een minimum van criteria 1-15)
7. Disk automatisch swap en hot-swap
8. Bescherming tegen verlies van gegevens te wijten aan cache falen
9. Bescherming tegen gegevensverlies als gevolg van externe stroomstoring
10. Bescherming tegen gegevensverlies als gevolg van een temperatuur buiten bereik
11. Vervangbare eenheid en het milieu falen waarschuwing
12. Bescherming tegen het verlies van toegang tot de gegevens als gevolg van het apparaat defect kanaal
13. Bescherming tegen het verlies van toegang tot de gegevens als gevolg van controller module mislukken
14. Bescherming tegen het verlies van toegang tot de gegevens als gevolg van cache falen
15. Bescherming tegen het verlies van toegang tot de gegevens als gevolg van een stroomonderbreking

Ramp-tolerante disk systemen (DTD) (voldoet aan een minimum van criteria 1-21)
16. Bescherming tegen het verlies van toegang tot de gegevens als gevolg van host en host I / O-bus niet
17. Bescherming tegen het verlies van toegang tot de gegevens als gevolg van externe stroomstoring
18. Bescherming tegen het verlies van toegang tot de gegevens als gevolg van vervanging van onderdelen
19. Bescherming tegen verlies van gegevens en het verlies van toegang tot de gegevens als gevolg van meerdere schijf defect
20. Bescherming tegen het verlies van toegang tot de gegevens als gevolg van zone mislukken
21. Lange afstand bescherming tegen het verlies van gegevens als gevolg van zone mislukken

Niet-standaard-levels

Vele andere configuraties dan de basis-genummerde RAID-niveaus zijn mogelijk, en veel bedrijven, organisaties en groepen hebben hun eigen niet-standaard configuraties, in veel gevallen ontworpen om de speciale behoeften van een kleine niche groep te ontmoeten. De meeste van deze niet-standaard RAID-niveaus zijn eigendom.

Storage Computer Corporation gebruikt om een ​​cachegeheugen opgeslagen versie van RAID 3 en 4, RAID 7 noemen. Storage Computer Corporation is nu ter ziele.

EMC Corporation gebruikt om de RAID-S te bieden als een alternatief voor de RAID 5 op hun Symmetrix-systemen. Hun laatste generaties van Symmetrix, de DMX en de V-Max-serie, ondersteunen geen RAID S (in plaats daarvan te ondersteunen RAID 1, RAID 5 en RAID 6.)

Het ZFS bestandssysteem, beschikbaar in Solaris, FreeBSD en OpenSolaris, biedt RAID-Z, die RAID 5 te schrijven hole probleem oplost.

Advanced Data Hewlett-Packard Bewaking (ADG) is een vorm van RAID 6.

NetApp’s Data ONTAP maakt gebruik van RAID-DP (ook wel aangeduid als “dubbel”, “dual” of “diagonaal” pariteit), is een vorm van RAID 6, maar in tegenstelling tot vele RAID 6 implementaties, het doet verdeeld pariteit niet als in RAID 5. In plaats daarvan worden twee unieke pariteit schijven met een aparte pariteit berekeningen gebruikt. Dit is een wijziging van RAID-4 met een extra pariteit schijf.

Accusys Triple pariteit (RAID TP) implementeert drie onafhankelijke pariteiten door de uitbreiding van RAID 6 algoritmes op de FC-SATA en SCSI-SATA RAID-controllers om een ​​uitval van 3 drives tolereren.

Linux MD RAID10 (RAID 10) implementeert een algemene RAID-driver die standaard een standaard RAID 1 met twee schijven, en een standaard RAID 1 +0 met vier schijven, maar kan een willekeurig aantal schijven, met inbegrip van oneven nummers hebben. MD RAID 10 kan draaien gestreept en gespiegeld, zelfs met slechts twee schijven met de f2 lay-out (mirroring met gestreepte leest, waardoor de lees prestaties van RAID 0, normaal Linux software RAID 1 niet streep leest, maar kan lezen in parallel).

EVA-serie van Hewlett-Packard arrays implementeren vRAID – vRAID-0, vRAID-1, vRAID-5, en vRAID-6; vRAID niveaus zijn nauw afgestemd op Geneste RAID-niveaus: vRAID-1 is eigenlijk een RAID 1 +0 (of RAID 10 ), vRAID-5 is eigenlijk een RAID 5 +0 (of RAID 50), enz.

IBM (onder andere) heeft geïmplementeerd een RAID 1E (Level 1 Enhanced). Het vereist een minimum van 3 schijven. Het is vergelijkbaar met een RAID 1 +0 array, maar het kan ook worden uitgevoerd met ofwel een even of oneven aantal schijven. De totale beschikbare schijfruimte is n / 2.

Hadoop is een RAID-systeem dat een pariteit bestand genereert door de XOR-gen een streep van de blokken in een enkel HDFS bestand .

Data back-up

Een RAID-systeem dat gebruikt wordt als secundaire opslag is niet bedoeld als vervanging voor back-up van gegevens. Op voet van gelijkheid configuraties, een RAID biedt een back-up-achtige functie om te beschermen tegen katastrofisch verlies van gegevens veroorzaakt door fysieke schade of fouten op een enkele schijf in de array. Echter, vele andere kenmerken van de back-up systemen niet worden verleend door een RAID alleen. De meest opvallende is de mogelijkheid om een ​​eerdere versie van de gegevens, die nodig is om te beschermen tegen software fouten die ongewenste data naar secundaire opslag schrijven, en ook om te herstellen van de gebruiker fouten en kwaadaardige gegevensverwijdering te herstellen. Een RAID kan ook worden overweldigd door de katastrofisch niet dat zijn herstelvermogen en natuurlijk overschrijdt, de hele array is het risico van fysieke schade door brand, natuurramp, en menselijke krachten. Bovendien is een RAID is ook kwetsbaar voor controller falen omdat het niet altijd mogelijk om te migreren naar een RAID een nieuwe controller, zonder verlies van gegevens .

RAID-schijven kunnen dienen als een uitstekende back-up schijven toen werkzaam als verwisselbare back-apparaten op de belangrijkste opslag, en met name wanneer zich off-site van de belangrijkste systemen. Echter, het gebruik van een RAID-als de enige storage oplossing niet vervangen back-ups.

Implementaties

De verdeling van data over meerdere schijven kunnen worden beheerd door speciale hardware of door software. Een software-oplossing kan een deel van het besturingssysteem, of het kan een deel van de firmware en drivers geleverd met een hardware RAID controller zijn.

Software-based RAID

Software RAID implementaties worden nu verzorgd door een groot aantal besturingssystemen. Software RAID kan worden uitgevoerd zoals:

een laag die meerdere apparaten abstracts, en bieden zodoende een enkele virtuele apparaat (bijvoorbeeld Linux md).

een meer generieke Logical Volume Manager (meegeleverd met de meeste server-class besturingssystemen, zoals Veritas of LVM).

een onderdeel van het bestandssysteem (ZFS bijvoorbeeld of Btrfs).

Volume Manager-ondersteuning

Server class besturingssystemen leveren in de regel logische volume beheer, waardoor een systeem om te gebruiken logisch volumes die kunnen worden aangepast of verplaatst. Vaak worden functies als RAID of foto’s ook ondersteund.

Vinum is een logische volume manager ondersteunen RAID-0, RAID-1 en RAID-5. Vinum is een onderdeel van de basis verdeling van het FreeBSD besturingssysteem, en versies bestaan ​​voor NetBSD, OpenBSD, en DragonFly BSD.

Solaris SVM ondersteunt RAID 1 voor de boot bestandssysteem, en voegt RAID 0 en RAID 5 ondersteuning (en verschillende geneste combinaties) voor data-schijven.

Linux LVM ondersteunt RAID 0 en RAID 1.

HP’s OpenVMS biedt een vorm van RAID 1 genaamd “Volume shadowing”, waarmee de mogelijkheid om gegevens op lokaal en op afstand cluster systemen spiegel.

File system support

Sommige geavanceerde file-systemen zijn ontworpen om direct te organiseren van gegevens op meerdere opslagapparaten (zonder de hulp van een derde partij Logical Volume Manager).

ZFS ondersteunt equivalenten van RAID 0, RAID 1, RAID 5 (RAID Z), RAID 6 (RAID Z2), en een drievoudige pariteit versie RAID Z3, en alle geneste combinatie van deze, zoals 1 +0. ZFS is het eigen bestandssysteem op Solaris, en ook beschikbaar op FreeBSD en Linux.

Btrfs ondersteunt RAID 0, RAID 1 en RAID 10 (RAID 5 en 6 zijn in ontwikkeling).

Andere support

Veel besturingssystemen bieden standaard RAID-functionaliteit, onafhankelijk van het volume management.

Apple’s Mac OS X Server en Mac OS X ondersteunen RAID 0, RAID 1 en RAID 1 +0. FreeBSD ondersteunt RAID 0, RAID 1, RAID 3 en RAID 5, en alle nestings via GEOM modules en ccd .

Linux md ondersteunt RAID 0, RAID 1, RAID 4, RAID 5, RAID 6, en alle nestings. Bepaalde omvorming / resizen / breidt haar activiteiten worden ook ondersteund .

Microsoft’s server-besturingssystemen ondersteunen RAID 0, RAID 1 en RAID 5. Sommige van de Microsoft-desktop-besturingssystemen ondersteunen RAID, zoals Windows XP Professional, die RAID-niveau 0 ondersteunt naast het verspreid over meerdere schijven, maar alleen als het gebruik van dynamische schijven en volumes. Windows XP kan worden aangepast om RAID 0, 1 en 5 ondersteuning.

NetBSD ondersteunt RAID 0, RAID 1, RAID 4, en RAID 5, en al nestings via de software-implementatie, genaamd RAIDframe.

OpenBSD is gericht op RAID 0, RAID 1, RAID 4, en RAID 5-ondersteuning via de software-implementatie softraid.

FlexRAID (voor Linux en Windows) is een momentopname RAID-implementatie.

Software RAID heeft voordelen en nadelen in vergelijking met hardware RAID. De software moet draaien op een host-server aan opslag, en de server-processor moet besteden verwerking tijd om de RAID-software te gebruiken, de extra verwerkingscapaciteit die nodig zijn voor RAID 0 en RAID 1 is laag, maar paritaire arrays vereisen meer complexe gegevens verwerken tijdens het schrijven of de integriteit controle operaties. Omdat de snelheid van verwerking van gegevens neemt toe met het aantal schijven in de array, dat doet de verwerking vereiste. Bovendien moeten alle bussen tussen de processor en de harde schijf controller dragen de extra benodigde gegevens door RAID, die kan leiden tot congestie.

Gelukkig, na verloop van tijd, is de stijging van de grondstoffenprijzen CPU-snelheid zijn consistent groter dan de stijging van de harde schijf throughput; het percentage van de host-CPU tijd die nodig is om een ​​bepaald aantal harde schijven te verzadigen is afgenomen. Bijvoorbeeld, onder de 100% gebruik van een single core op een 2,1 GHz Intel “Core 2″ CPU, de Linux software RAID-subsysteem (md) vanaf versie 2.6.26 is in staat om het berekenen van pariteit informatie op 6 GB / s, maar een drie-drive RAID 5 array met harde schijven staat is tot duurzame een schrijfbewerking op 100 MB / s vereist slechts pariteit worden berekend tegen het tarief van 200 MB / s, waarin de middelen van iets meer dan 3% van een enkele CPU core vereist.

Bovendien kunnen software-RAID-implementaties hebben meer geavanceerde algoritmen dan hardwarematige RAID-implementaties (bijv. disk scheduling en command queuing), en dus, kan in staat zijn een betere prestatie.

Een andere zorg met software-implementaties is het proces van het opstarten van het bijbehorende besturingssysteem. Bijvoorbeeld, overweeg dan een computer wordt opgestart vanaf een RAID 1 (gespiegelde schijven), indien de eerste schijf in de RAID 1 uitvalt, dan is een eerste fase bootloader is misschien niet verfijnd genoeg om te proberen het laden van de tweede fase bootloader van de tweede schijf als een fallback. In tegenstelling, een RAID 1-hardware controller heeft meestal expliciet programmering om te beslissen dat een drive niet goed werkt en dat de volgende schijf moet worden gebruikt. Gelukkig, ten minste de volgende tweede fase van de bootloaders in staat zijn om het laden van een kernel van een RAID 1:

LILO (voor Linux).

Sommige configuraties van de GRUB.

De boot loader voor FreeBSD .

De boot loader voor NetBSD.

Voor gegevens de veiligheid, kan de write-back cache van een besturingssysteem of individuele aandrijving moet worden uitgeschakeld om ervoor te zorgen dat zoveel mogelijk gegevens in feite is geschreven naar secundaire opslag voor sommige falen (zoals een verlies van macht); helaas, het uitschakelen van de write-back cache heeft een performance penalty die kan aanzienlijk zijn, afhankelijk van de werklast en command queuing ondersteunen. In tegenstelling, kan een hardware RAID controller dragen een speciale batterij-aangedreven write-back cache van zijn eigen, waardoor voor een efficiënte werking die ook relatief veilig. Gelukkig is het mogelijk om dergelijke problemen met een software-controller te voorkomen door de aanleg van een RAID met veiliger componenten, bijvoorbeeld, elke drive kan zijn eigen accu of condensator op eigen write-back cache, en de schijf kan atomiciteit uitvoeren op verschillende manieren , en de hele RAID of computing-systeem kan worden gevoed door een UPS, etc.

Ten slotte is meestal een software-RAID-controller die is ingebouwd in een besturingssysteem proprietary formaten en maakt gebruik van RAID-niveaus, zodat een samenhangende RAID meestal niet gedeeld kunnen worden tussen de besturingssystemen, als onderdeel van een multi boot setup. Toch kan een dergelijke RAID worden verplaatst tussen computers die hetzelfde besturingssysteem delen; in contrast, zoals mobiliteit moeilijker is bij het gebruik van een hardware RAID controller omdat beide computers moet compatibele hardware controllers. Ook, indien de hardware controller uitvalt voordat de schijven te doen, kan data worden gerecupereerd, tenzij een hardware controller van hetzelfde type wordt verkregen.

De meeste software implementaties kan een RAID worden gemaakt van de partities in plaats van hele fysieke schijven. Bijvoorbeeld, een beheerder kan elke schijf van een oneven aantal schijven te verdelen in twee partities, en dan spiegel partities over stations en streep een volume over de gespiegelde partities aan IBM’s RAID 1E-configuratie na te bootsen. Met behulp van partities op deze manier maakt het ook mogelijk voor de aanleg van meerdere invallen in verschillende RAID-niveaus, van dezelfde set van schijven. Bijvoorbeeld, kan men beschikken over een zeer robuuste RAID 1 voor belangrijke bestanden, en een minder robuuste RAID 5 of RAID 0 voor minder belangrijke data, allemaal met dezelfde set van onderliggende drijfveren. (Sommige BIOS-gebaseerde controllers bieden soortgelijke functies, zoals Intel Matrix RAID.) Met behulp van twee partities van dezelfde schijf in dezelfde RAID is echter gevaarlijk.

Een RAID-1 over partities van dezelfde drive maakt alle gegevens ontoegankelijk als de single drive uitvalt.
Overweeg een RAID 5 bestaat uit 4 schijven, waarvan 3 250 GB en een van die 500 GB, de 500 GB schijf is verdeeld in twee partities, die elk 250 GB. Dan zou een mislukking van de 500 GB schijf verwijderen twee onderliggende ‘drives’ van de array, waardoor een falen van de hele array.

Op hardware gebaseerde RAID

Hardware RAID-controllers maken gebruik van gepatenteerde disk lay-outs, dus het is meestal niet mogelijk om controllers overspanning van verschillende fabrikanten. Ze hebben geen processor middelen nodig, kan de BIOS opstart van hen, en nauwere integratie met de device driver kan beter foutafhandeling te bieden.

Een hardware RAID-implementatie vereist minimaal een RAID-controller. Op een desktop-systeem kan dit een PCI-uitbreidingskaart, PCI Express-uitbreidingskaart of ingebouwd in het moederbord te zijn. Controllers die de meeste soorten drives kunnen worden gebruikt – IDE / ATA, SATA, SCSI, SSA, Fibre Channel, soms zelfs een combinatie. De controller en de schijven kunnen worden in een stand-alone disk behuizing, in plaats van in een computer. De behuizing kan rechtstreeks worden aangesloten op een computer, of via SAN. De controller hardware handvatten rijden beheer en voert de pariteit berekeningen die nodig zijn door de gekozen RAID-niveau.

De meeste hardware implementaties zorgen voor een lees / schrijf-cache, die, afhankelijk van de I / O workload, zullen de prestaties verbeteren. In de meeste systemen, de schrijf-cache is niet-vluchtig (dwz batterij-beschermde), zodat in afwachting schrijft zijn niet verloren mag een stroomstoring optreden.

Hardware-implementaties te bieden gegarandeerde prestaties, voegen geen overhead aan de lokale CPU complex en kan ondersteunen vele operating systemen, zoals de controller is een eenvoudige logische schijf.

Firmware / driver-based RAID

Besturingssysteem op basis van RAID is niet altijd de bescherming van de boot proces en is over het algemeen onpraktisch op desktop-versies van Windows (zoals hierboven beschreven). Hardware-RAID-controllers zijn duur en merkgebonden. Om in deze leemte, waren goedkoop “RAID-controllers” geïntroduceerd die niet een RAID-controller chip bevatten, maar gewoon een standaard harde schijf controller chip met speciale firmware en drivers. Tijdens de vroege fase het opstarten van de RAID wordt uitgevoerd door de firmware, en als een protected-modus kernel van het besturingssysteem, zoals Linux of een moderne versie van Microsoft Windows wordt geladen de chauffeurs over te nemen.

Deze controllers worden beschreven door de fabrikant als RAID-controllers, en het is zelden duidelijk gemaakt aan kopers dat de last van RAID-verwerking wordt gedragen door de centrale van de hostcomputer processing unit, en niet de RAID-controller zelf, om zo voor de eerder genoemde CPU overhead van welke hardware controllers niet lijden. Firmware controllers vaak alleen gebruik maken van bepaalde typen harde schijven in hun RAID arrays (bijv. SATA voor Intel Matrix RAID), want er is geen SCSI of PATA-ondersteuning in de moderne Intel ICH southbridges, maar het moederbord makers RAID controllers te voeren buiten de southbridge op Sommige moederborden. Voor hun introductie, een “RAID-controller” impliceerde dat de controller de verwerking deed, en het nieuwe type is bekend geworden door sommigen als “fake RAID” ook al is de RAID-zelf correct wordt uitgevoerd. Adaptec noemt ze “HostRAID”. Verschillende Linux distributies zullen weigeren om te werken met “fake RAID”. .

Network-attached storage

Hoewel niet direct verband houden met RAID, network-attached storage (NAS) is een afgesloten ruimte waarin disk drives en de apparatuur die nodig is om ze beschikbaar via een computernetwerk, meestal Ethernet. De behuizing is in feite een speciale computer in zijn eigen recht, bedoeld om over het netwerk te bedienen, zonder scherm of toetsenbord. Het bevat een of meerdere schijven; meerdere stations kan worden geconfigureerd als RAID.

Hot spares

Zowel hardware als software RAID met redundantie kan ondersteunen het gebruik van de hot spare drives, een drive fysiek is geïnstalleerd in de array, die wordt pas geactiveerd zodra een actieve schijf uitvalt, wanneer het systeem automatisch de defecte schijf met de reserve vervangt, reconstrueren van de array met de reserve aandrijving inbegrepen. Dit vermindert de gemiddelde tijd tot herstel (MTTR), maar niet volledig te elimineren. Latere aanvullende tekortkoming (en) in dezelfde RAID-redundantie groep vóór de array volledig is herbouwd kan resulteren in verlies van gegevens. Wederopbouw kan enkele uren duren, vooral op drukke systemen.

Snelle vervanging van defecte schijven is belangrijk omdat alle schijven van een array zal dezelfde hoeveelheid van het gebruik hebben gehad, en kan de neiging om nogal niet op ongeveer hetzelfde moment dan willekeurig. RAID 6 zonder een reserve maakt gebruik van hetzelfde nummer van de schijven als RAID 5 met een hot spare en beschermt gegevens tegen gelijktijdige uitval van maximaal twee schijven, maar vereist een meer geavanceerde RAID-controller. Verder kan een hot-spare worden gedeeld door meerdere RAID-sets.

De gegevens Schrobben

Met gegevens schrobben, de RAID-controller leest periodiek alle schijven in een RAID-array en controleert voor defecte blokken voordat ze daadwerkelijk worden benaderd door applicaties. Dit vermindert de kans op stille data corruptie en verlies van gegevens als gevolg van bitfouten .

Betrouwbaarheid voorwaarden

Uitvalpercentage

Twee verschillende soorten uitval zijn van toepassing op RAID-systemen. Logische mislukking wordt gedefinieerd als het verlies van een enkele schijf en de snelheid is gelijk aan de som van de individuele stations ‘falen tarieven. Falen van het systeem wordt gedefinieerd als het verlies van gegevens en de snelheid is afhankelijk van het type RAID. Voor RAID 0 dit is gelijk aan de logische failure rate, want er is geen redundantie. Voor andere vormen van RAID, zal het minder zijn dan het logische percentage mislukkingen, mogelijk vrijwel nul, en de exacte waarde is afhankelijk van het type RAID, het aantal schijven gebruikt, en de waakzaamheid en het enthousiasme van zijn menselijke beheerders. Mean time to data loss (MTTDL)

In deze context is de gemiddelde tijd voordat een verlies van data in een bepaalde array. De gemiddelde tijd tot verlies van gegevens van een bepaalde RAID kan hoger of lager dan dat van de samenstellende harde schijven, afhankelijk van wat voor soort RAID wordt gebruikt . De genoemde rapport gaat uit van tijden om verlies van gegevens zijn exponentieel verdeeld. Dit betekent dat 63,2% van alle data verloren zal optreden tussen de tijd 0 en de MTTDL.

Mean time to recovery (MTTR)

In arrays die redundantie voor betrouwbaarheid zijn, is dit de tijd na een gebrek aan een reeks herstellen naar de normale failure-tolerant werkwijze. Dit omvat de tijd om een ​​defecte schijf-mechanisme, alsook de tijd om opnieuw opbouwen van de array (dwz om gegevens te repliceren voor redundantie) te vervangen.

Unrecoverable bit error rate (UBE) Dit is de snelheid waarmee een schijf zal niet in staat om gegevens te herstellen na het aanbrengen van cyclic redundancy check (CRC) codes en meerdere pogingen.

Schrijf-cache betrouwbaarheid

Sommige RAID-systemen maken gebruik van RAM-schrijf-cache om de prestaties te verhogen. Een stroomstoring kan leiden tot verlies van gegevens, tenzij dit soort disk buffer is aangevuld met een batterij om ervoor te zorgen dat de buffer voldoende tijd heeft om te schrijven van het RAM terug naar de schijf.

Atomic schrijf storing

Ook bekend onder verschillende termen zoals gescheurd schrijft, gescheurde pagina’s, incomplete schrijft, onderbroken schrijft, niet-transactionele, etc.

Problemen met RAID

Correlated storingen

De theorie achter de foutcorrectie in RAID gaat ervan uit dat fouten van aandrijvingen onafhankelijk zijn. Gezien deze veronderstellingen is het mogelijk om te berekenen hoe vaak ze kunnen mislukken en aan de array te regelen om het verlies van gegevens willekeurig onwaarschijnlijk.

In de praktijk, de stations zijn vaak van dezelfde leeftijd, met vergelijkbare slijtage, en onderworpen aan dezelfde omgeving. Aangezien veel rijden mislukkingen zijn te wijten aan mechanische zaken die meer kans op oudere drives, Dit druist in tegen die veronderstellingen en mislukkingen zijn in feite statistisch gecorreleerd. In de praktijk dan ook de kans op een tweede mislukking voordat de eerste is hersteld is lang niet zo onwaarschijnlijk als zou kunnen worden verondersteld, en verlies van gegevens kunnen in de praktijk, komen op grote schaal.

Een veel voorkomende misvatting is dat “server-grade” drives niet minder vaak dan de consumenten-grade drives. Twee onafhankelijke studies, een door de Carnegie Mellon University en de andere door Google, hebben aangetoond dat de “kwaliteit” van de drive geen betrekking heeft op uitval.

Atomiciteit

Dit is een weinig begrepen en zelden vermeld failure mode voor redundante opslag systemen die geen gebruik maken van transactionele functies. Database-onderzoeker Jim Gray schreef: “Update in Place is een Poison Apple ‘ tijdens de vroege dagen van de relationele database commercialisering. Echter, deze waarschuwing grotendeels in de wind geslagen en viel uit de boot op de komst van RAID, die veel software-engineers aanzagen als het oplossen van alle data-opslag integriteit en betrouwbaarheid problemen. Veel softwareprogramma’s updaten een storage object ‘in-place’, dat is, schrijven ze een nieuwe versie van het object op dezelfde schijf adressen als de oude versie van het object. Terwijl de software kan ook elders inloggen enige delta informatie, verwacht de opslag te presenteren “atomaire schrijven semantiek,” wat betekent dat het schrijven van de gegevens als zich in zijn geheel of kwam niet helemaal.

Maar zeer weinig storage systemen bieden ondersteuning voor atomaire schrijft, en nog minder van hun mate van mislukking te geven in het verstrekken van deze semantische. Merk op dat tijdens de handeling van het schrijven van een object, een RAID-opslagapparaat meestal alle overbodige kopieën van het object te schrijven in parallel, hoewel overlapte of gespreid schrijft komen vaker voor wanneer een enkele RAID-processor is verantwoordelijk voor meerdere stations. Vandaar dat een fout die optreedt tijdens het proces van het schrijven mag verlaten de overbodige exemplaren in verschillende staten, en bovendien kan de kopieën verlaten noch in de oude, noch de nieuwe staat. De weinig bekende mislukking modus is dat delta inloggen is gebaseerd op de oorspronkelijke gegevens worden hetzij in de oude of de nieuwe staat, zodat steun uit de logische verandering, maar weinig storage-systemen bieden een atomaire schrijven semantische op een RAID schijf.

Terwijl de batterij-backed schrijfcache kan gedeeltelijk het probleem oplossen, het is alleen van toepassing op een stroomstoring scenario.

Aangezien de transactionele ondersteuning is niet overal aanwezig is in de hardware RAID, een groot aantal besturingssystemen zijn transactionele ondersteuning aan tegen het verlies van gegevens te beschermen tijdens een onderbroken te schrijven. Novell NetWare, te beginnen met versie 3.x, inclusief een transactie tracking systeem. Microsoft introduceerde transactie volgen via de journaling functie in NTFS. ext4 is journaling met de checksums; ext3 journaling is zonder controlesommen maar een ‘append-only’ optie, of ext3cow (copy on write). Als het tijdschrift zelf in een bestandssysteem is echter beschadigd is, kan dit problematisch zijn. De journaling in NetApp WAFL file systeem geeft atomiciteit door nooit bijwerken van de gegevens op zijn plaats, net als ZFS. Een alternatieve methode om journaling is zacht updates, die worden gebruikt bij de uitvoering een aantal BSD-afgeleide systeem van de UFS.

Dit kan presenteren als een sector te lezen mislukking. Sommige RAID-implementaties te beschermen tegen deze mislukking modus door remapping de slechte sector, met behulp van de redundante gegevens om een ​​goede kopie van de gegevens op te halen, en herschrijven dat goede data naar de nieuw in kaart gebracht vervanging sector. Het UBE (Onherstelbare Bit Error) tarief is meestal gespecificeerd op een bit in 1015 voor enterprise class schijven (SCSI, FC, SAS), en een bit in 1014 voor desktop-klasse disk drives (IDE / ATA / PATA, SATA). Toenemende schijf capaciteiten en grote RAID 5 redundantie groepen hebben geleid tot een toenemend onvermogen om een ​​RAID-groep met succes weer op te bouwen na een schijf defect, want een onherstelbare sector is te vinden op de resterende schijven. Dubbele bescherming regelingen zoals RAID 6 proberen om dit probleem aan te pakken, maar last heeft van een zeer hoge boete schrijven.

Schrijf cache betrouwbaarheid

De schijf systeem kan erkennen schrijfbewerking zodra de gegevens in de cache, niet wachten op de gegevens fysiek worden geschreven. Dit gebeurt meestal in oude, niet-journaled systemen zoals FAT32, of als de Linux / Unix “writeback” optie is gekozen, zonder enige bescherming, zoals de ‘soft updates “optie (om I / O-snelheid te bevorderen, terwijl de handel in-away betrouwbaarheid van de gegevens) . Een stroomstoring of het systeem te hangen, zoals een BSOD kan een aanzienlijk verlies van gegevens in de wachtrij in zo’n cache betekenen.

Vaak wordt een batterij is de bescherming van de schrijf-cache, vooral het oplossen van het probleem. Als een schrijfbewerking mislukt als gevolg van stroomuitval, kan de controller de volledige afwachting schrijft zo snel hervat. Deze oplossing nog steeds mogelijk falen gevallen heeft: de accu kan leeg zijn, de stroom kan worden uitgeschakeld te lang, zou de schijven worden verplaatst naar een andere controller, de controller zelf zou kunnen mislukken. Sommige disk systemen bieden de mogelijkheid van het testen van de batterij regelmatig, maar dit laat het systeem, zonder een volledig opgeladen batterij gedurende enkele uren.

Een extra bezorgdheid over schrijf-cache betrouwbaarheid bestaat, specifiek met betrekking tot apparaten zijn uitgerust met een write-back cache-een caching systeem dat de gegevens rapporten zo snel geschreven als het is geschreven cache, in tegenstelling tot het niet-vluchtige medium . hoe veiliger cache techniek is write-through, die rapporteert transacties geschreven toen ze geschreven zijn om het niet-vluchtige medium.

Equipment compatibiliteit

De methoden die worden gebruikt om data op te slaan door verschillende RAID-controllers zijn niet noodzakelijk compatibel, zodat het niet mogelijk om een ​​RAID-array te lezen op verschillende hardware, met uitzondering van de RAID 1, die doorgaans wordt voorgesteld als duidelijk identieke kopieën van de oorspronkelijke gegevens op elke schijf. Bijgevolg een niet-disk hardwarestoring kan het gebruik van identieke hardware om de gegevens te herstellen, en voorts een identieke configuratie moet worden opnieuw gemonteerd zonder dat dit aanleiding een herbouwen en het overschrijven van de gegevens. Software RAID echter, zoals geïmplementeerd in de Linux-kernel, vermindert deze bezorgdheid, omdat de installatie is niet afhankelijk van de hardware, maar draait op gewone disk controllers, en maakt de montage van een array. Bovendien, individuele RAID1 schijven (software, en de meeste hardware implementaties) kan worden gelezen als normale schijven bij het verwijderen van de array, zodat er geen RAID-systeem nodig is om de gegevens op te halen. Onervaren data recovery bedrijven hebben meestal een moeilijke tijd herstellen van gegevens van RAID-schijven, met uitzondering van de RAID1 schijven met conventionele data structuur.

Data recovery in het geval van een mislukte serie

Met grotere harde schijf capaciteiten de kans op een schijf defect tijdens het weer op te bouwen zijn niet te verwaarlozen. In dat geval de moeilijkheid van het extraheren van gegevens van een defecte array moet worden overwogen. Alleen RAID 1 slaat alle gegevens op elke schijf. Hoewel het kan afhangen van de controller, kunnen sommige RAID 1 disks worden gelezen als een gewone schijf. Dit betekent dat een laten vallen RAID 1 disk, hoewel beschadigd, kan vaak redelijk eenvoudig worden hersteld met behulp van een software-recovery programma. Indien de schade is ernstiger, kunnen de gegevens vaak worden hersteld door professionele data recovery specialisten. RAID 5 en andere gestreept of verspreid arrays aanwezig is veel meer formidabele obstakels voor data recovery in het geval de array uitvalt.

Drive error recovery algoritmen

Veel moderne drives hebben een interne error recovery algoritmen die naar boven kan nemen van een minuut om te herstellen en opnieuw kaartgegevens dat de aandrijving niet gemakkelijk te lezen. Veel RAID-controllers zal dalen een niet-responsieve rijden in 8 seconden of zo. Dit kan ertoe leiden dat de array een goede drive laten vallen omdat het niet genoeg tijd om zijn interne fout recovery procedure te kunnen voltooien, waarbij de rest van de array kwetsbaar. De zogenaamde enterprise class schijven beperken de fout hersteltijd en het voorkomen van dit probleem, maar desktop drives kan heel riskant om deze reden. Een fix die specifiek zijn voor Western Digital schijven vroeger bekend: een utility genaamd WDTLER.exe kon de fout hersteltijd van een Western Digital Desktop Drive beperken, zodat het niet zou laten vallen van de array om deze reden. Het hulpprogramma is ingeschakeld tler (tijd beperkte foutherstel), die het herstellen van fouten termijnen tot 7 seconden. Vanaf oktober 2009 Western Digital heeft geblokkeerd deze functie in hun desktop-drives, zoals de Caviar Black. Western Digital enterprise class schijven zijn het verlaten van de fabriek met tler ingeschakeld om te voorkomen dat een val van RAID arrays. Soortgelijke technologieën worden gebruikt door Seagate, Samsung en Hitachi.

Met ingang van eind 2010, heeft ondersteuning voor ATA Error Recovery Controle configuratie is toegevoegd aan het smartmontools programma, dus het maakt het nu mogelijk te configureren veel desktop-class harde schijven voor gebruik op een RAID-controller .

Het verhogen van de hersteltijd

Capaciteit van het station is gegroeid in een veel sneller tempo dan de snelheid van en foutenpercentages slechts licht gedaald in vergelijking. Daarom kan een grotere capaciteit schijven te nemen uren, zo niet dagen, weer op te bouwen. De re-build tijd is ook beperkt als de hele array nog steeds in bedrijf is op verminderde capaciteit. Bij een RAID-array met slechts een schijf van redundantie (RAID 3, 4 en 5), zou een tweede storing veroorzaken complete mislukking van de array. Hoewel afzonderlijke stations ‘mean time between failure (MTBF) zijn toegenomen in de tijd, is deze stijging geen gelijke tred gehouden met de toegenomen opslagcapaciteit van de stations. De tijd om de array weer op te bouwen na een enkele schijf defect, evenals de kans op een tweede fout tijdens een weer op te bouwen, zijn toegenomen in de tijd.

Operator vaardigheden, de juiste werking

Met het oog op de gewenste bescherming tegen fysieke schijf defect te bieden, moet een RAID-array goed worden opgezet en onderhouden door een exploitant met voldoende kennis van de gekozen RAID-configuratie, array controller (hardware of software), mislukking detectie en herstel. Ongeschoolde afhandeling van de array op elk moment kan verergeren de gevolgen van een mislukking, en resulteren in uitval en geheel of gedeeltelijk verlies van gegevens die anders vergoeding in aanmerking.

In het bijzonder moet de array worden gecontroleerd, en eventuele storingen opgespoord en behandeld snel. Doet u dit niet zal resulteren in de array te blijven draaien in een gedegradeerde staat, kwetsbaar voor verdere storingen. Uiteindelijk meer storingen kunnen optreden, totdat de hele array onbruikbaar is, wat resulteert in verlies van data en downtime. In dit geval, geen bescherming van de array kan verschaffen alleen vertragingen van dien.

De bediener moet weten hoe je fouten op te sporen of te verifiëren gezonde toestand van de array, welke schijf is mislukt, zijn vervangende schijven beschikbaar zijn, en weet hoe je een drive te vervangen en start een verbouwing van de array.

Andere problemen

Terwijl de RAID kan beschermen tegen fysieke schijf defect, worden de gegevens nog steeds bloot aan operator, software, hardware en virus vernietiging. Veel studies operator fout noemen als de meest voorkomende bron van storingen, zoals een server operator vervanging van de verkeerde schijf in een defecte RAID-array, en uitschakelen van het systeem (zelfs tijdelijk) in het proces. Grootst aantal goed ontworpen systemen omvatten aparte back-up systemen, dat kopieën van de gegevens houden, maar staan ​​niet toe dat veel interactie met het. De meeste kopieert u de gegevens en verwijder de kopie van de computer voor een veilige opslag.

Geschiedenis

Norman Ken Ouchi bij IBM werd bekroond met een 1978 US patent 4092732 met de titel “-systeem voor het herstellen van gegevens die zijn opgeslagen in het geheugen is mislukt eenheid.” De vorderingen van dit patent wordt beschreven wat later zou RAID 5 worden genoemd met volledige streep schrijft. Deze 1978 patent vermeldt ook dat de disk mirroring of dubbelzijdig printen (wat zou later RAID 1 worden genoemd), en bescherming met speciale pariteit (dat later zou worden genoemd RAID 4) waren stand van de techniek in die tijd.

De term RAID werd voor het eerst gedefinieerd door David A. Patterson, Garth A. Gibson en Randy Katz aan de Universiteit van Californië, Berkeley, in 1987. Bestudeerden ze de mogelijkheid om met behulp van twee of meer stations te verschijnen als een enkel apparaat op het host systeem en een artikel gepubliceerd: “Een Case voor Redundant Arrays of Inexpensive Disks (RAID)” in juni 1988 op de SIGMOD conferentie .

Deze specificatie suggereerde een aantal prototype RAID-niveaus, of combinaties van schijven. Elk had theoretische voor-en nadelen. In de loop der jaren zijn verschillende implementaties van de RAID-concept van verschenen. De meeste verschillen wezenlijk van de oorspronkelijke geïdealiseerde RAID-niveaus, maar de genummerde namen zijn gebleven. Dit kan verwarrend zijn, omdat een implementatie van RAID 5, bijvoorbeeld, aanzienlijk kunnen verschillen van een ander. RAID 3 en RAID-4 zijn vaak verward en zelfs door elkaar gebruikt.

Een van de eerste gebruik van RAID 0 en 1 was de Crosfield Electronics Studio 9500 pagina-indeling op basis van de Python werkstation. De Python werkstation was een Crosfield beheerde internationale ontwikkeling met behulp van PERQ 3B elektronica, benchmark-Technology Viper systeem voor de weergave en de eigen RAID Crosfield en glasvezelnetwerk controllers. RAID 0 was vooral belangrijk om deze werkplekken als het dramatisch versneld beeldmanipulatie voor de pre-press markt. Volume productie begon in Peterborough, Engeland in het begin van 1987.

Niet-RAID-schijf architecturen

Non-RAID-schijf architecturen bestaan ​​ook, en worden vaak genoemd, vergelijkbaar met RAID, door middel van standaard afkortingen, verschillende tongue-in-cheek. Een enkele schijf is bedoeld als een SLED (Single Large Expensive Drive), in tegenstelling tot RAID, terwijl een array van schijven zonder extra controle (toegankelijk gewoon als onafhankelijke aandrijvingen) wordt aangeduid als een JBOD (Just a Bunch Of Disks) . Eenvoudige aaneenschakeling is bedoeld als een SPAN, of soms als JBOD, hoewel dit laatste is verboden in de zorgvuldige omgang, als gevolg van de alternatieve betekenis zojuist geciteerde.