NO174528B - Anordning og fremgangsmaate for oversettelse av virtuelle inngangs/utgangskommandoer - Google Patents

Anordning og fremgangsmaate for oversettelse av virtuelle inngangs/utgangskommandoer Download PDF

Info

Publication number
NO174528B
NO174528B NO883493A NO883493A NO174528B NO 174528 B NO174528 B NO 174528B NO 883493 A NO883493 A NO 883493A NO 883493 A NO883493 A NO 883493A NO 174528 B NO174528 B NO 174528B
Authority
NO
Norway
Prior art keywords
descriptor
command
virtual
channel number
page
Prior art date
Application number
NO883493A
Other languages
English (en)
Other versions
NO883493D0 (no
NO174528C (no
NO883493L (no
Inventor
Joseph G Dichiara
Harry W Brown
Joseph M Valentine
Original Assignee
Honeywell Bull
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Bull filed Critical Honeywell Bull
Publication of NO883493D0 publication Critical patent/NO883493D0/no
Publication of NO883493L publication Critical patent/NO883493L/no
Publication of NO174528B publication Critical patent/NO174528B/no
Publication of NO174528C publication Critical patent/NO174528C/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Error Detection And Correction (AREA)

Description

Foreliggende oppfinnelse angår generelt området for databe-handling og mer bestemt utstyr som skal sørge for et sikrere inngangs/utgangs (I/O) system. Det kreves beskyttelse av databehandlingssystemer for å skille flere brukere fra hverandre og skille brukere fra operativsystemet. Beskyttelsen gjelder en mekanisme som skal kontrollere tilgangen, programmer, prosesser eller brukere har til ressursene i et datasystem. Beskyttelsen er hovedsaklig et internt problem, nemlig kravet om å ha kontroll med tilgangen til programmer og data som er lagret i datasystemet.
Datasikkerhet krever et tilstrekkelig beskyttelsessystem og også betraktning av utenforliggende områder datamaskinen kan arbeide i. Sikkerhet er meddelelse av personers adgang i et datasystem til objekter i dette, basert på en politikk som systemet håndhever. Forsikring er et mål på tillit til at integriteten for et system og dets data vil bli bevart.
Sikre systemer skal ha visse egenskaper så som:
1. Tilgangskontroll - Personer/gjenstander som søker tilgang til datamaskiner må kunne identifiseres positivt og pålitelig. 2. Prosesstyringsintegritet - Personer/gjenstander må kunne begrenses til bestemte funksjoner og adskillelse av brukere må kunne sikres. 3. Krenkelser av systemets sikkerhet må kunne påvises. 4. Meldinger mellom brukere og datamaskinen må kunne holdes hemmelige og være fuskesikre.
5. Maskinvare og programvare må være fuskesikre.
6. Systemene må kunne bygges opp med stor pålitelighet.
Mange av disse egenskaper finnes i andre databehandlingssystemer der et typisk system er Multics (registrert varemerke for Massachusetts Institute of Technology) som anvendes ved Massachusetts Institute of Technology and Honeywell Secure Communication Processor (SCOMP).
Multics lagrer prosessene i priviligerte ringer i lageret av sikkerhetsårsaker og bruker virtuell adressering. Imidlertid drar ikke Multics systemet fordel av den beskyttelse som gis ved anvendelse av virtuelle I/O kommandosystemer.
SCOMP systemet lagrer også prosessene i priviligerte ringer i lageret av sikkerhetsårsaker og bruker virtuell adressering, men SCOMP drar også fordel av den beskyttelse som fåes ved anvendelse av virtuelle I/O kommandosystemet. Imidlertid innbefatter SCOMP separate logikkort til utførelse av oversettelsen fra virtuell I/O til fysisk I/O.
Det er derfor en hensikt med foreliggende oppfinnelse å komme frem til et databehandlingssystem med et forbedret inngangs/utgangs (I/O) sikkerhetskommandosystem som er mindre kostbart å få til og har et forbedret gjennomløp.
Ovenfornevnte tilveiebringes ved hjelp av en anordning hvis karakteristiske trekk fremgår av krav 1, samt ved hjelp av en fremgangsmåte som angitt i innledningen til krav 2 og hvis karakteristiske trekk fremgår av krav 2.
Oppfinnelsen og dens hensikter og fordeler vil bli forklart nærmere i det følgende under henvisning til tegningene, der like henvisningstall viser til like komponenter på de forskjellige figurer og der: Figur 1 er et samlet blokkskjema for et databehandlingssystem. Figur 2A til 2E viser formatet for inngangs/utgangskom-mandoene. Figur 3 er en del av et blokkskjema for det virtuelle lagerstyresystem og den sentral behandlingsenhet. Figur 4 er et blokkskjema for registeret og tabellene i det sikre inngangs/utgangssystem. Figur 5 er et flytdiagram for den virtuelle inngangs/utgangs-systemimplementering med fastvaren.
Denne oppfinnelse tilveiebringer en flernivåsikkerhet i et datasystem med inngangs/utgangs (I/O) kommandoer som sendes over en systembuss til periferianordninger.
En I/O kommando som sendes over systembussen, innbefatter et fysisk kanaltall som identifiserer anordningen og en funksjonskode som spesifiserer den funksjon anordningen vil utføre. Operativsystemet frembringer en virtuell I/O kommando som innbefatter et ringtall, et virtuelt kanaltall og funksjonskoden.
Fastvaren foretar et antall kontroller av den virtuelle I/O kommando før oversettelse av det virtuelle kanaltall til det fysiske kanaltall. Disse kontroller som foretas før den fysiske I/O kommando genereres innbefatter: a - bekreftelse på at brukeren har rett til tilgang til
prosessen,
b - bekreftelse på at IOLD bufferen ligger innenfor en
2KB grense,
c - bekreftelse på at deskriptorene er gyldige og at
brukeren gis tilgang til anordningen,
d - bekreftelse på det virtuelle kanaltalls plassering
i I/O deskriptoren mot størrelsen på sidetabellen som inneholder deskriptoren og
e - bekreftelse på at IOLD databufferen er merket som en IOLD buffer av systemet programvare.
Dette oppnås med fastvaren som har tilgang til en reservert del av et kontrollager ved anvendelse av et antall registere og tabeller til utførelse av bekreftelsen og oversettelse av den virtuelle adresse til fysisk adresse.
Operativsystemet frembringer et tre av lagerdeskriptorer og anordningsdeskriptorer og lagrer en posisjonsgiver for denne datastrukturinformasjon i et deskriptorsegment basisregister. Informasjonen spesifiserer basisadressen til en sidetabell for deskriptorsegmentet. En verdi for høyordenbiten i det virtuelle kanaltall benyttes for å bestemme den konstant som skal tilføyes basisadressen for å gi den fysiske lageradresse for I/U sidedeskriptorens ord. I/O sidedeskriptoren innbefatter en gyldighetsbit, størrelsen på I/O deskriptortabellen og basisadressen for I/O deskriptortabellen. Det virtuelle kanaltall føyes til basisadressen som en indeks for I/O deskriptoren. I/O deskriptoren innbefatter en gyldighetsbit, en lese-eller en skriveadgangsbit, ringbrakettbiter og et fysisk kanaltall. Fastvaren kontrollerer gyldighetsbiten, bekrefter at den virtuelle I/O kommando anmoder om den rette lese/eller skriveoperasjon, bekrefter ringbrakettbitene mot det virtuelle I/O kommandoringtall. Hvis alle disse kontroller foregår riktig, vil det fysiske kanaltall erstatte det virtuelle kanaltall i kommandoen og den fysiske I/O kommando sendes ut over systembussen.
Det finnes en deskriptorsegment sidetabell og en I/O deskriptortabell for hver bruker. Dette gjør det mulig for operativsystemet på en enkel måte å forandre en brukers privilegier eller rettigheter.
Figur 1 viser et flerbehandlingssystem som innbefatter et antall delsystemer, hvert koblet til en asynkron systembuss 2 med sitt eget grensesnitt.
Disse delsystemer innbefatter et sentralt delsystem (CSS) 4 koblet til systembussen 2 med et systembussgrensesnitt (SBI) 2-10 og et CSS 4Å koblet til systembussen 2 med SBI 2-10A. Bare to sentrale delsystemer CSS er vist, men et hvilket som helst antall CSS enheter kan kobles til systembussen 2 med deres respektive grensesnitt. Hver av SBI enhetene innbefatter logikkretser for grensesnittene av den type som er vist på figur 9 i US patent nr. 3.995.258.
Til systembussen 2 er det via et systembussgrensesnitt SBI 2-8 koblet et styresystem (SMF) 20. Et lagerdelsystem 8 er koblet til systembussen 2 med en SBI enhet 2-2. Et antall ytre styrere 14 som i et typisk tilfelle kan være en skivestyrer, en enhetsregistrerende styrer, en mag-netbåndstyrer, en kommunikasjonsstyrer og lignende kan være koblet til systembussen 2 med deres respektive SBI enheter svarende til systembussgrensesnittet 2-4. Hver ytre styrer 14 er forbundet med et antall passende anordninger 18.
Hver CSS enhet innbefatter et hurtiglager, et styrelager, to sentrale behandlingsenheter (CPU) og deres respektive virtuelle lagerstyreenheter (NMMU). CSS 4 innbefatter en CPU 0 4-2, med dets VMMU 0 4-8, et CPU .1 4-4 med dennes VMMU 1 4-10, et styrelager 4-12 og et hurtiglager 4-6. Selv om det er vist et sentralt delsystem CSS med dobbelte sentrale behandlingsenheter (CPU), skal det påpekes at oppfinnelsen kan innbefattes i et system med en enkel CPU.
Alle kommunikasjoner mellom delsystemet foregår ved at et delsystem sender ut en kommando over systembussen 2 og mottar et svar fra det adresserte delsystem.
SMF 20 styrer igangsetting av systemet 1 såvel som overvåk-ning av et antall systemer og ytre funksjoner. SMF 20 innbefatter en vakthund og en sanntids klokke som stilles av kommandoer mottatt av SMF 20 og fra systembussen 2 fra en av de sentrale behandlingsenheter (CPU). SMF 20 svarer når vakthunden har dekrementert til null ved sending av en tilsvarende kommando over systembussen 2 til CPU som stiller klokken til start. I tillegg skal SMF 20 overvåke energitilførsel og temperatur og alarmere delsystemet hvis energi og temperatur overskrider på forhånd bestemte grenser. Virkemåten for SMF 20 er beskrevet i US ansøkning nr. 869.164 med tittelen "System Management Apparatus for a Multipro-cessor System".
Systemet fører både fysiske adresser og virtuelle adresser. De fleste adresser som er synlige i programvaren er virtuelle adresser. VMMU vil oversette de virtuelle adresser til fysiske adresser. De fysiske adresser benyttes av CPU for å adressere hurtiglageret eller lågere. For eksempel vil CPU 0 4-2 sende en virtuell adresse til VMMU 0 4-8 over bussen BP 38. VMMU 0 vil oversette den virtuelle adresse til en fysisk adresse og sende den fysiske adresse til hurtiglageret 4-6 og lageret 8 via en buss PA 39. Hvis innholdet i den fysiske adresse er lagret i hurtiglageret 4-6, vil det øyeblikkelig bli sendt tilbake til CPU 4-2, mens kommandoen ellers, inneholdende den fysiske adresse, blir sendt til lageret 8 via SBI 2-10, systembussen 2 og SBI 2-2. Innholdene i den fysiske adresseposisjon vil bli sendt tilbake til CPU 0 4-2 via SBI 2-2, systembussen 2 og SBI 2-10 med et kommandosvar.
En sikkerhetskjerne bestående av operativsystemets programvare, CPU og VMMU maskinvare og behandling av virtuell I/O er implementeringen av en refe.ransemonitor for det sikre DPS6 PLUS produkt. Eeferansemonitoren er et abstrakt begrep som må tilfredsstille tre sikkerhetskrav. Disse er: 1. Fullstendig megling av subjekter til objekter,
2. Isolasjon, og
3. Bekreftelse.
Det komplette meglingsforløp tilfredsstilles av det virtuelle lagerstyresystem som megler alle anmodninger til lågere. Denne meglingsprosedyre innbefatter også kontroll med tillatelse til tilgang. Den virtuelle I/O fastvare er også endel av dette krav. Alle I/O kommandoer er virtuelle og tillates under forutsetning av visse tilgangstillatelser og kontrollprosedyrer.
Isolasjonsforløpet foregår ved bruk av en ringstruktur i maskinvaren, som skiller sikkerhet og systembehandling fra brukerens anvendelsesbehandling. Dette trekk blir også håndhevet av den underliggende maskinvare og fastvare som sammenligner utføringsområdet med tillatelse som er godkjent og inneholdes i deskriptordatastrukturene.
Bekreftelsesforløpet tilfredsstilles ved frembringelse av en formell toppnivåspesifikasjon som sammenlignes med og bekreftes med en formell eller uformell matematisk modell av den sikkerhetspolitikk som skal håndheves. Modellen som benyttes er avhengig av at bekreftelsesnivået ettersøkes som beskrevet i "Trusted Computer Security Evaluation Criteria"
(DODS 5200.28-STD - desember 1985)..
I/O kommandoene som frembringes av operativsystemet innbefatter et virtuelt kanaltall og et ringtall. Fastvaren bekrefter ringtallet og gyldigheten av kommandoen og sammen med en I/O deskriptortabell som er lagret i lageret 8 oversettes det virtuelle kanaltall til det fysiske kanaltall. I/O kommandoen som innbefatter det fysiske kanaltall sendes ut over systembussen 2. Det ytre delsystem som gjenkjenner sitt fysiske kanaltall, avgir godkjennelse av kommandoen og utfører den operasjon som spesifiseres av kommandoens funksjonskodedel.
Alle CPU og VMMU operasjoner overvåkes av valgte biter i kontrollagerord som er lest ut fra kontrollageret 4-12. Kontrollageret 4-12 er delt i en A del for kontroll av normal CSS operasjon, innbefattende oversettelse av virtuell adresse til fysisk adresse, og en B del for overvåkningen av implementeringen av den virtuelle I/O innenfor det
eksisterende virtuelle lagersystem.
Virtuell I/O behandling skaper sikkerhet ved å skille ressursene i system 1 fra brukerens område. Dette sikrer at de nødvendige tillatelseskontroller er fullført før I/O kommandoen sendes ut over systembussen 2 til det ytre delsystem.
Figurene 2A til 2D viser I/O kommandoen sent ut over systembussen 2. Figur 2E viser formatet for den virtuelle I/O kommando med ringtall og virtuelt kanaltall og den oversatte fysiske I/O kommando med dens fysiske kanaltall.
Man skal merke seg at gjennom hele beskrivelsen vil betegnelsen "10" henvise til figurene 2A, 2B og 2C. Betegnelsen "I/O" vil henvise til figurene 2A, 2B, 2C og 2D. Dette betyr at betegnelsen "I/O" vil omfatte 10 og IOLD. Figur 2A viser formatet for en 10 utgangskommando frambragt av CPU. Signalene over systembussen 2 innbefatter 32 adressesignaler 0-23, A-H og 32 datasignaler 0-31. Det er dessuten innbefattet et antall kontrollsignaler (ikke vist). For 10 utgangskommandoen spesifiserer adressesignalene 8-17 det fysiske kanaltall for distribusjonsdelsystemet, mens adressesignalene 18-23 spesifiserer funksjonskoden. Databiter 0-31 spesifiserer den informasjon som overføres til det delsystem som er spesifisert ved kanaltallet. Databitene vil opptre som angitt med funksjonskoden. Figur 2B viser formatet for 10 inngangskommandoen som er frembragt av CPU og som innbefatter kanaltallet for anordningen og funksjonskoden som spesifiserer den informasjon det anmodes om av CPU enheten. Databitene 0-9 spesifiserer det fysiske kanaltall for den CPU enhet som frambragte kommandoen. Databitene 16-31 spesifiserer valgbar informasjon for anordningen. Figur 2C viser formatet for 10 svaret på 10 inngangskommandoen. Det fysiske kanaltall for kilden er nu det fysiske kanaltall for bestemmelsesstedet. Databiter 0-31 spesifiserer den informasjon det anmodes om med funksjonskoden i den frembragte kommando. Det er ikke behov for noen oversettelse fra virtuell til fysisk kanaltall for kildekanaltallet på figur 2B og det fysiske kanaltall på figur 2C.
Figur 2D viser formatet for 2 perioder av utgangskommandoens inngangs/utgangslast (IOLD). Den første periode spesifiserer startadressen for lageret 8 for en blokkoverføring og den andre periode spesifiserer området eller antall av ord i blokken.
Man skal merke seg at funksjonskoden på hexadesimal 09 angir at den 32 bit adresse er spesifisert av de 16 adressebiter A-H, 0-7 og 16 databiter 0-15. Funksjonskodens hexadesimal OD angir at databitene 0-15 spesifiserer området. Adressebitene 8-17 spesifiserer kanaltallet for samme anordning under begge bussperioder.
Figur 2E viser formatet for den virtuelle 1/0 kanaltall-kommando og formatet for den oversatte fysiske 1/0 ka-nal tallkommando. Man skal merke seg at det fysiske kanaltall som er spesifisert med adressebitene 8-17 på figurene 2A, 2B og 2D ble oversatt fra det virtuelle kanaltall 2-8 og retnings (D) bit 9. De gjenværende adresse-og databiter overføres uten oversettelse.
1/0 kanaltallene ligger fra hexadesimal 010 til 3FF. CPU kanaltallene ligger fra hexadesimal 000 til 00F. Fullsten-dige duplexanordninger så som kommunikasjonslinjer benytter to kanaltall, der lavordensbiten (D) identifiserer hvilken halvdel av linjen for sending eller mottak, som blir adressert.
Virtuelle kanalområder fra 0-63, med en side av kjerne-alene I/O deskriptorer og en side med delte I/O deskriptorer. Tilgangen til siden bestemmes av bit 2 (MSB) i det virtuelle kanaltall.
Halve duplexanordninger så som bonndriveanordninger benytter D biten som logisk 0 for å spesifisere en inngangsoperasjon og ved logisk 1 for å spesifisere en utgangsoperasjon.
Enveisanordninger så som kortlesere, vil ha D biten stilt på logisk 0 (en lik funksjonskode).
Ringbeskyttelsen består av et sett hierarkiske nivåer av beskyttelse og kan betraktes som et sett på N konsentriske sirkler, nummerert 0, 1, 2,...N-1, innenfra og ut. Lager 8 rommet som er inkludert i sirkel 0 kalles ring 0, mens lager 8 rommet som er innbefattet mellom sirklene 1 og 2 kalles ring 2. Hvert segment av en prosess er anbragt i en ring for lageret 8. Jo nærmere et segment er til sentrum, jo større er dets beskyttelse og privilegium. Fire ringer som er nummerert 0, 1, 2 og 3 understøttes av CSS, der ringen 0 er den mest priviligerte og ringen 3 er minst.
Sikkerhetskjernen for operativsystemet med unntagelse av 1/0 ligger i ringen 0. Behandlingsrekkefølgen for lagerstyre-systemet ligger i ring 1. Vernet programvare ligger i ring 2. Vernet programvare kan bryte enten en sikkerhetsegenskap eller integritetsegenskap som håndheves av sikkerhetskjernen. Vernet programvare har også funksjonalitet som krever høy integritet. Brukeranvendelser finnes i ring 3 som er den minst priviligerte og understøttes av en ikke-vernet ring knyttet til en grensesnittpakke for sikkerhetskjernen. Programvare som skal anvendes kan ikke løpe på toppen av vernet programvare.
En bruker får tildelt en klassifikasjon av operativsystemet. Klassifikasjonene er fritt, konfidensielt og hemmelig. Dette gir brukeren tilgang til prosesser i angitte ringer. Det antas at en bruker med klassifiseringen hemmelig får tilgang til ring 1, at en bruker med klassifikasjonen konfidensielt får tilgang til ring 2, mens en bruker som bare har adgang til fritt tilgjengelig materiale får tilgang til ring 3, og i så tilfelle gjelder de følgende regler. En bruker kan ikke lese ut, d.v.s. en bruker med en konfidensiell klassifisering som får tilgang til prosesser i ring 2, kan ikke lese prosesser i ring 1 eller 0. En bruker kan ikke skrive inn, d.v.s. en bruker med klassifiseringen konfidensielt kan ikke skrive inn en prosess i ring 3.
En prosedyre har tilknyttet tre ringtall RI, R2 og R3, som kalles prosedyrens ringklammere. Hvis R3 > R2, er prosedyren en port til ring R2, med tilgang fra ringer som ikke er høyere enn R3. Hvis R2=R3 er prosedyren ikke en port.
Figur 3 viser en del av VMMU og CPU som er en del av oppfinnelsen. Man skal merke seg at VMMU 0 4-8 og VMMU 1 4-10, såvel som CPU 0 4-2 og CPU 1 4-4 er duplikater. Av den grunn vil VMMU 0 4-8 og CPU 0 4-2 bli benyttet for å beskrive oppfinnelsen. Det skal imidlertid påpekes at oppfinnelsen vil arbeide like godt med VMMU 1 4-10 og CPU 1 4-4.
En registerfil 46 for CPU 0 4-2 innbefatter sekstifire 32 bits registere. Funksjonene for disse registere er beskrevet i US patentansøkning nr. 722.237, med tittelen "Micropro-cessors on a Single Semiconductor Chip". Den innbefatter også et basisregister for deskriptorsegmenter som er duplisert i VMMU 0 4-8 VM-RAM 30.
Operander blir mottatt fra en BP bus 38, lagret i et data-in register 26, og lagret i et register i registerfilen 46 via B bussen 40, en aritmetisk logisk enhet (ALU) 48 og en BI buss 44 eller en skyverenhet 24 og en BI buss 44. En aritmetisk operasjon utføres på to operander i registerfilen 46 ved lesing av en operand inn i A bussen 42 og en annen operand over B bussen 40, hvoretter begge operander tilføres deres respektive ALU 48 innganger.
ALU 48 utfører den aritmetiske operasjon som spesifiseres av styrelagerets 4-12 signaler (ikke vist). Resultatet av den aritmetiske operasjon skrives tilbake i registerfilen 46 via BI bussen 44 eller via skyverenheten og BI bussen 44.
Et 32 bit Q register 22 arbeider som en forlengelse av ALU 48 for å behandle 64 bit operander. Q registeret 22 lagrer også delprodukter og delkvotienter under utførelsen av binære multiplikasjons-og divisjonsinstruksjoner. Skyverenheten 24 trer i virksomhet sammen med ALU 48 til utføring av normale 32 bit skyveoperasjoner. Skyverenheten 24 arbeider sammen med Q registeret 22 og ALU 48 for å utføre 64 bit skyveoperasjoner. Styresignaler (ikke vist) fra kontrollageret 4-12 kontrollerer alle operasjoner i registerfilen 44, ALU 48, skyverenheten 24, Q registeret 22 og data-in registeret 26.
VMMU 0 4-8 innbefatter en dekoder som mottar kontrollagerets 4-12 signaler for å adressere en av de tyveåtte posisjoner for et 32 bit virtuelt minne direktelager (NM-RAM) 30. Delen av DSBR 54 ved denne oppfinnelse blir lagret i to posisjoner i VM-RAM 30. Informasjon blir innført i VM-RAM 30 fra BP bussen 38, BP låsen 36 og den interne buss 34. Styresignalet (ikke vist) kontrollerer inngang og utgang til og fra låsen 36.
Figur 4 viser den logiske flyt for oversettelse av virtuell I/O kommando til en fysisk 1/0 kommando som vist på figur 2E.
Operativsystemet har en tilgangskontrolliste for hver anordning der det oppgis hvilke brukere som har tilgang til anordningen. Når en prosess skal adresseres til en ny anordning, vil operativsystemet kontrollere listene over målanordninger for å bestemme om prosessen kan gis tilgang. Hvis tilgang kan gis, frembringer operativsystemet 50 den virtuelle I/O kommando 52 som lagres i en posisjon i lageret 8 og systemet overfører også den påfølgende informasjon til DSBR 54 som blir lagret i en posisjon i NM-RAM 30.
Biten 0, hvis den er innstilt, angir at en ny stakk skal benyttes og oppkallings-og returinstruksjoner tillates. Dette er ikke en del av oppfinnelsen og blir derfor ikke beskrevet ytterligere.
Biten 1, hvis den er stilt inn, angir at virtuelle I/O kommandoer frembringes av operativsystemet 50.
Bitene 4-23 spesifiserer den fysiske sideramme for basisadressen i lageret 8. Imidlertid vil bitene 24-31 forskyve basisadressen for å tillate en sidetabell 56 for deskriptorsegmentet og starte ved en modul 4 ordgrense.
Sidetabellen 56 for deskriptorsegmentet innbefatter fire sidedeskriptorer PDO til PD3 som benyttes i den normale oversettelse fra virtuell lageradresse til fysisk lageradresse. Denne normale operasjon innbefatter også behandling av IOLD områdekommandoer.
Sidetabellen 58 for deskriptorsegmenter innbefatter også en I/O sidedeskriptor 4 og en I/O sidedeskriptor 5. Tilstanden for høyordensbiten i det virtuelle kanaltall (bit 2 i den virtuelle I/O kommando) spesifiserer at hexadesimal 8 blir føyet til den forskjøvne basisadresse for å finne frem til I/O sidedeskriptoren 4. Hexadesimal A tilføyes den for-skjøvne basisadresse for å finne frem til I/O sidedeskriptoren 5.
1/0 sidedeskriptoren 4 peker på en tabell på 64 I/O deskriptorer (ikke vist) og I/O sidedeskriptoren 5 peker på en tabell på 64 I/O deskriptorer som identifiseres som 63 til 127. I/O deskriptoren er typisk for de som velges av I/O sidedeskriptoren 5.
De 128 I/O deskriptorer er delt i 64 globale deskriptorer og 64 lokale deskriptorer. De globale deskriptorer er betraktet som systemanordningsdeskriptorer og benyttes for å tillate sikkerhetskjernen og få tilgang til kjernefilsystemets anordninger i en hvilken som helst prosess. Lokale deskriptorer er definert som private for prosessen og er tilknyttet bruker I/O anordninger som er avbildet i pro-sessadresserommet av sikkerhetskjernen.
Informasjonen i I/O sidedeskriptoren 5 er som følger:
Bit 0 spesifiserer den gyldige indikator (V) som angir en gyldig I/O sidedeskriptor.
Bit 1 spesifiserer den brukte indikator (U) som angir at man hadde tilgang til siden.
Bit 2 spesifiserer den modifiserte indikator (M) som indikerer at siden var modifisert.
Bitene 4-23 spesifiserer den fysiske siderammetalladresse for I/O deskriptortabellen 58.
Bitene 26-30 spesifiserer tallet på de virtuelle anordningsdeskriptorer i I/O deskriptortabellen 58. En feil blir anvist hvis det virtuelle kanaltall er større enn I/O anordningens tabellstørrelse.
Det fysiske siderammetall angir basisadressen i lageret 8 for I/O deskriptortabellen 58. De virtuelle kanaltallbiter 2-8 peker på I/O deskriptoren i 1/0 deskriptortabellen 58.
1/0 deskriptoren definerer tilgangsrettighetene prosessen har til anordningen for lese-eller skriveoperasjon, og det fysiske kanaltall for anordningen. Andre informasjoner i I/O deskriptoren er som følger: Bit 0, den gyldige indikator (V) angir en I/O kanalfeil, (felle 37), hvis den er NULL.
Bit 1, lesetillatelsesindikatoren (R) tillater en IOLD instruksjon som spesifiserer en leseoperasjon hvis hiten er en ener og prosessen blir utført i et ringtall som er mindre eller lik R2. Hvis tilgangskontrollen ikke godkjennes, blir en I/O kanaltilgangsfeil, (felle 38), angitt.
Bit 2, skrivebeskyttelsesindikatoren (W) tillater en IOLD å spesifisere en skriveoperasjon hvis biten er en ener og prosessen blir utført i en ring som er mindre eller lik RI. Hvis denne tilgangskontroll ikke tilfredsstilles, vil en I/O kanaltilgangsfeil bli anvist.
For IOLD instruksjoner, spesifiserer bitene 4 og 5, RI, det høyeste ringtall for skriveklammeret for media i denne anordning. Bitene 6 og 7, R2, spesifiserer det høyeste ringtall for leseklammeret i denne anordning.
For 10 instruksjoner, spesifiserer bitene 4 og 5, RI, det høyeste ringtall for kontrollklammere ved denne anordning.
Bitene 16-22 må være NULL og bitene 23-31 pluss den opp-rinnelige retningsbit D for det virtuelle kanaltall utgjør det fysiske kanaltall for I/O anordningen, enten denne kommando er en lesekommando eller en skrivekommando.
DSBR 54 innføres med et eget rammenummer og forskyvning for hver bruker. DSBR bitene 4-33 peker derfor til en egen sidetabell 56 for deskriptorsegmenter. Det finnes like mange deskriptorsegment-sidetabeller 56 som det er brukere. Det finnes også et eget prosessdeskriptorsegment 60 for hver bruker.
Den totale lagerstørrelse for system 1 er opptil 16 megabyter for det fysiske lager og 2 gigabyter for virtuelt lager. Lågere 8 lager de fysiske lagerbyter og et antall masselager-anordninger lagrer de virtuelle lagerbyter.
En segmentstørrelse kan være opptil 2 megabyter. En prosess kan innbefatte opptil 1024 segmenter. En side inneholder 2K byter med opptil 1024 sider pr. segment. Den virtuelle adresse uttrykkes som et 10 bit segmenttall og en 20 bit forskyvning, som sammen med innholdene i DSBR 54 og de følgende tabeller frembringer den fysiske adresse for lager 8, med de ønskede dobbelte ord (30 biter).
I det spesielle deskriptorsegment som inneholder alle deskriptorer i en prosess, innbefatter deskriptorsegment-sidetabellen 56 deskriptoren (PD) 0 som peker på segment-deskriptorene (SD) 0-255, PD 1 som peker på SD 256-511, PD 2 som peker på SD 512-767 og PD 3 som peker på SD 768-1023.
PD 0 til PD 3 peker hver på deres respektive segmentdeskriptor-tabeller. Innholdene i segmentdeskriptor-tabellene peker, om de undersøkes, på en tabell for sidedeskriptorer. Sidetabellen lagrer deskriptorer som inneholder de fysiske adresser i et hovedlager 8 som svarer til de virtuelle adresser frembragt av operativsystemet. Dette er normal systemdrift for oversettelse av virtuelle lageradresser til fysiske lageradresser.
Under normal drift blir IOLD områdekommando på figur 2D behandlet som følger: En valgt sidedeskriptor fra deskriptorsegment-sidetabellen 56, for eksempel PD1, får overført sidetallet for et prosessor-deskriptorsegment 60. Hvert prosessor-deskriptorsegment 60 innbefatter 256 segmentdeskriptorer pr. side. I tillegg til gyldighets-(V) biten 0, er biten 1 en priviligert indikator (PR). Hvis den er innstilt, tillates utførelse av priviligerte instruksjoner bare hvis det foregår i ring 0. Hvis den ikke er stilt inn, vil ingen priviligerte instruksjoner tillates, og hvis en påtreffes, vil en felle 13 bli påkalt. IOLD (10) bit 2 vil, om den er innstilt, anvise at dette er et IOLD buffersegment for direkte lagertilgang (DMA) overføringer. Evis den ikke er stilt inn og en IOLD instruksjon utføres med spesifikasjon av dette segment, vil en lagerbeskyttende felle 14 bli påkalt.
Sidetallbitene 4 til 22 pluss de forskjøvede biter 23 til 31 i prosessordeskriptorsegmentet 60 peker på en valgt sidedeskriptor (PDX) for en sidetabell 62 med IOLD buffer-segmenter, som lagrer 1024 trettito bit sidedeskriptorer.
Bitene 0, 1 og 2 (V, U og M) er beskrevet tidligere. Sidetallbitene 4 til 23 i sidetabellen 62 for IOLD buffer-segmenter peker til en IOLD buffersegment sideramme 64 i lageret 8. Den maksimale buffersidestørrelse er 2048 byter hvis sidetallet for IOLD buffersegmentenes sidetabell 62 peker på basisadressen for siderammen 64. Hvis basisadressen inkrementeres med en forskyvning, vil området være mindre enn 2048 byter, siden en sidekryssing ikke tillates.
Det skal bemerkes at under den første oversettelse av brukerens virtuelle 1/0 til fysiske I/O at delene av innholdet i deskriptorsegmentenes sidetabell 56 og deler av innholdene i 1/0 deskriptortabellen 58 bringes inn i hurtiglageret 4-6. Senere kan 1/0 kommando-oversettelser som kreves for samme bruker, foregå ved hurtiglagerets 4-6 hastighet istedet for ved den langsommere lager 8 hastighet.
For beskrivelse av figur 5 kalles kommandoene på figurene 2A til 2C 10 kommandoer og kommandoene på figur 2D kalles IOLD kommandoer. Fastvaren vil behandle begge perioder for IOLD kommandoen som en IOLD kommando. Betegnelsen I/O vil vise til både 10 og IOLD.
Figur 5 er et flytdiagram for den virtuelle 1/0 fastvare-implementering. CPU 0 4-2 utfører programvareinstruksjoner som på sin side adresserer B delen av kontrollageret 4-12 for å oversette det virtuelle I/O kanaltall til det fysiske I/O kanaltall.
Bestemmelsesblokken 72 prøver biten 1 i innholdet for DSBR 54 og grener av til blokken 74 hvis dette ikke er en virtuell I/O operasjon. Bestemmelsesblokkene er implementert ved overføring av informasjon til registerfil 46, figur 3, som foretar de operasjoner det anmodes om i ALU 48 og skyverenheten 24 og fører tilbake resultatet til registerfilen 46 der den er tilgjengelig for fastvaren. Dette foregår med signaler fra kontrollageret 4-12. Blokken 74 oversetter kommandoen som om den har et fysisk kanaltall og bringer CPU 0 4-2 til å sende kommando direkte over systembussen 2. Ellers leser blokken 76 bitene 0 og 1 for strømringtallet for I/O instruksjonen i lageret som CPU 0 4-2 behandler. Hvis dette ikke er en priviligert instruksjon, d.v.s. at den ikke er en ring 0 eller ring 1 instruksjon, anroper blokken 78 en felle 13 for å meddele operativsystemet at prosessen skal stanse.
Ellers beregner blokken 80 hvori lageret 8 man finner I/O sidedeskriptorene 4 eller 5 for deskriptorsegmentenes sidetabell (DSPT) 56. Dette gjøres av CPU 0 4-2 som tilføyer basisadressen, (bitene 4-31 i deskriptorsegmentenes basisregister 54) til enten hexadesimal 8 eller hexadesimal A, avhengig av tilstanden for høyordensbiten i det virtuelle kanaltall (bit 2).
Blokken 82 henter I/O sidedeskriptoren fra plasseringen i lageret 8 og lagrer denne i et arbeidsregister i re-gisterf ilen 46 for CPU 0 4-2, figur 3.
Beslutningsblokken 84 prøver den gyldige (V) bit 0 i I/O sidedeskriptoren. At den gyldige bit er riktig, angir at siden finnes i lageret 8. Hvis den ikke er riktig, anvises det en sidefeil for å anmode operativsystemet om å bringe siden inn i lageret 8. Siden befinner seg vanligvis i platedelsystemet. Blokken 86 vil da anmode om en standard sidefeilrutine som implementeres av maskinvare.
Ellers vil blokken 88 lagre I/O sidedeskriptoren fra deskriptorsegmentets sidetabell 56 i en arbeidsregister for registerfilen 46 til CPU 0 4-2. Plasseringen i lageret 8 av I/O deskriptoren fremkommer ved å legge det virtuelle kanaltall til det fysiske siderammetall for I/O sidedeskriptoren .
Beslutningsblokken 90 sammenligner tabellstørrelsen som er lagret i 1/0 sidedeskriptoren med det virtuelle kanaltall for å sikre at 1/0 deskriptortabellen 58 kan ta opp det virtuelle kanaltall. Hvis det virtuelle kanaltall er større enn størrelsen, vil blokken 92 anmode om en felle 37 for å angi en fiksert feil når det gjelder det virtuelle kanaltall.
Hvis I/O deskriptortabellen 58 er stor nok, vil blokken 94 hente ut I/O deskriptoren fra lageret 8 og lagre denne i et arbeidsregister i registerfilen 46 for CPU 0 4-2.
Beslutningsblokken 46 prøver den gyldige (V) bit 0 i 1/0 deskriptoren og grener av til blokken 98 hvis biten er tilbakestilt for å angi et 1/0 feilfelletall 37.
Ellers vil blokken 100 beregne Reff på grunnlag av ringbitene 0 5 og 1 i den virtuelle I/O kommando.
Reff er maksimumverdien (minst priviligert) for de ringer hvori det er lagret de kommandoer som utgjør IOLD eller I/O kommandoen.
Beslutningsblokken 101 prøver om den virtuelle I/O kommando er en 10 kommando, figurene 2A, 2B eller 2C, eller en IOLD kommando, figur 2D, ved å sammenligne OP kodefeltet for instruksjonen i lageret 8 som startet opp kommandoen. Evis instruksjonen krever en 10 kommando, vil beslutningsblokken 103 prøve Reff verdien mot RI i 1/0 deskriptoren. Evis verdien av Reff er større enn RI, starter blokken 105 opp en felle 38 med 1/0 tilgangsfeiloperasjon. Evis Reff er mindre eller lik RI, vil fastvaren grene av til blokken 118 som erstatter det virtuelle kanaltall med det fysiske kanaltall fra 1/0 deskriptoren i 1/0 deskriptortabellen 58.
Beslutningsblokken 102 prøver D biten 9 i den virtuelle 1/0 kommando. Evis biten 9 angir en anordnings-inngangskommando, vil beslutningsblokken 108 undersøke om R biten 1 i I/O deskriptoren er stilt inn og om Reff er mindre enn eller lik R2, bitene 6 og 7 i I/O deskriptoren. Evis svaret er ja, vil blokken 140 stille inn M biten 2 i IOLD buffersidedeskrip-toren. Evis ikke, vil blokken 106 anmode om en tilgangsfeil 38 via fastvarens tilgangskontroll.
Evis beslutningsblokken 102 anga en anordningsutgangskommando ved kontroll av tilstanden for D biten i den virtuelle IOLD kommando, vil beslutningsblokken 104 undersøke om W biten for I/O deskriptoren er stilt inn og verdien Reff er mindre eller lik RI (bitene 4 og 5) for I/O deskriptoren. Ellers vil blokken 106 frembringe fellen 38.
Blokken 110 stiller inn modifiserings (M) biten (bit 2) for I/O sidedeskriptoren.
Beslutningsblokken 112 undersøker om 1/0 biten 2 i segmentdeskriptoren for IOLD bufferen i prosessordeskriptorsegmentet (PDS) 60 er stilt inn. Evis den ikke er stilt inn, anmoder blokken 112 om en beskyttelsesrutine med fellen 14. Ellers vil beslutningsblokken 116 undersøke om størrelsen på IOLD bufferen er mindre eller lik 2048 byter ved sammenligning av en konstant (2048) med områdedata feltbiter 0-15 fra området på figur 2D, annen periode. For å sikre at området ikke skal krysses siden, vil fastvaren kontrollere at området på figur 2D pluss forskyvningen ikke er større enn 2048. Forskyvningen beregnes under den normale oversettelse fra virtuell til fysisk adresse. Hvis den ene eller annen kontroll ikke tilfredsstilles, vil blokken 114 anmode om beskyttelsesrutine for fellen 14.
Hvis begge kontroller tilfredsstilles, vil blokken 118 erstatte det virtuelle kanaltall i den virtuelle I/O kommando med det fysiske kanaltall som inneholdes i I/O deskriptoren.
Fastvaren grener da av til blokken 74 og 10 eller IOLD kommandoen behandles som en normal kommando og blir behandlet av de delsystemer som er koblet til systembussen 2, figur 1, som en hvilken som helst normal kommando.
Selv om oppfinnelsen her er vist og beskrevet i form av et foretrukket eksempel, vil fagfolk på området være klar over at det her kan gjøres mange forandringer i form og detalj , uten dermed å avvike fra oppfinnelsens ånd og ramme.

Claims (2)

1. Anordning for oversettelse av en virtuell I/O-kommando til en fysisk I/O-kommando, karakterisert ved at den omfatter: en første anordning (52) for lagring av en virtuell I/O-kommando, innbefattende et virtuelt kanaltall som identifiserer en anordning, en andre anordning (54) for lagring av et deskriptorsegment som identifiserer en bruker, en første tabell innretning (56) koblet til den nevnte første anordning (52) og som reagerer på en første del av kanaltallet lagret i den første anordningen (52), idet den første tabell innretningen (56) er koblet med den andre anordningen (54) og reagerer på deskriptorsegmentet for identifisering av en bruker lagret i nevnte andre anordning (54) for å lokalisere en I/O-sidedeskriptor som identifiserer en familie med anordninger tilgjengelig for brukeren, en andre tabellinnretning (58) koblet med den første anordningen (52) og den første tabellinnretningen (56) og som reagerer på kanaltallet og I/O-sidedeskriptoren for lokali-sering av en I/O-deskriptor innbefattende et fysisk kanaltall som identifiserer nevnte anordning, og en tredje innretning (48) koblet med den første anordning (52) og den andre nevnte tabellinnretning (58) innbefattende en sammenligningsinnretning for å verifisere et brukerprivi-legium ved å bestemme brukertilgang til en anordning via I/O-sidedeskriptoren og den virtuelle I/O-kommandoen via nevnte I/O-deskriptor, og som reaksjon på verifiseringen av brukerprivilegiet erstatter det virtuelle kanaltallet med det fysiske kanaltallet, som derved genererer den fysiske I/O-kommandoen .
2. Fremgangsmåte for oversettelse av en virtuell I/O-kommando til en fysisk I/O-kommando i et system ved hvilket den virtuelle I/O-kommandoen blir entret i et første register (52), idet kommandoen innbefatter et virtuelt kanaltall og brukerprivilegiet til prosessen som utgjør kommandoen, idet systemet videre entrer en segmentdeskriptor unik for brukeren i et andre register (54), karakterisert ved at det i deskriptoren anbringes basisadressen til lokaliseringen i en lagerholding av en gruppe (56) sidedeskriptorer , bestemmelse av adressen i lageret til en bestemt av sidedeskriptorene ved å kombinere basisadressen fastholdt i det andre registeret og en del av det virtuelle kanaltallet fastholdt i det første registeret, bruk av adressen til den ene sidedeskriptoren for å få tilgang til nevnte lager for å fange den ene sidedeskriptoren, bestemmelse av adressen i nevnte lager til en bestemt inngangs/utgangsdeskriptor (58) ved å kombinere en del av den ene sidedeskriptoren og det virtuelle kanaltallet fastholdt i det første registeret, bruk av adressen til den bestemte inngangs/utgangs-deskriptoren for å innhente den bestemte inngangs/utgangs-deskriptoren, idet inngangs/utgangsdeskriptoren innbefatter en fremstilling av ønsket privilegium til en prosess tillatt til å bruke inngangs/utgangsdeskriptoren, og et fysisk kanaltall, sammenligning av det ønskede privilegiet bestemt ut fra fremstillingen innbefattet i inngangs/utgangsdeskriptoren med brukerprivilegiet innbefattet i kommandoen, og dersom brukerprivilegiet er innenfor rammen av privilegiet tillatt av det ønskede privilegiet genereres en fysisk inngangs/utgangskommando som bruker det fysiske kanaltallet innbefattet i inngangs/utgangsdeskriptoren.
NO883493A 1987-08-07 1988-08-05 Anordning og fremgangsmaate for oversettelse av virtuelle inngangs/utgangskommandoer NO174528B (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/083,534 US4858117A (en) 1987-08-07 1987-08-07 Apparatus and method for preventing computer access by unauthorized personnel

Publications (4)

Publication Number Publication Date
NO883493D0 NO883493D0 (no) 1988-08-05
NO883493L NO883493L (no) 1989-02-08
NO174528B true NO174528B (no) 1994-02-07
NO174528C NO174528C (no) 1994-05-18

Family

ID=22178948

Family Applications (1)

Application Number Title Priority Date Filing Date
NO883493A NO174528B (no) 1987-08-07 1988-08-05 Anordning og fremgangsmaate for oversettelse av virtuelle inngangs/utgangskommandoer

Country Status (15)

Country Link
US (1) US4858117A (no)
EP (1) EP0306702B1 (no)
JP (1) JPH0199147A (no)
KR (1) KR940003325B1 (no)
CN (1) CN1014841B (no)
AU (1) AU611468B2 (no)
CA (1) CA1315007C (no)
DE (1) DE3889816T2 (no)
DK (1) DK439088A (no)
ES (1) ES2053640T3 (no)
FI (1) FI883566A (no)
IL (1) IL87295A (no)
MX (1) MX166611B (no)
NO (1) NO174528B (no)
YU (1) YU151988A (no)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1314108C (en) * 1988-03-18 1993-03-02 Robert P. Ryan Distributed reference and change table for a virtual memory system
US5063496A (en) * 1988-06-01 1991-11-05 International Business Machines Corporation Signaling attempted transfer to protected entry point bios routine
JP2776841B2 (ja) * 1988-09-28 1998-07-16 株式会社日立製作所 ディスク制御装置におけるディスクアクセス制御方法
US4984272A (en) * 1988-11-30 1991-01-08 At&T Bell Laboratories Secure file handling in a computer operating system
US5117491A (en) * 1989-03-31 1992-05-26 Bull Hn Information Systems Inc. Ring reduction logic using parallel determination of ring numbers in a plurality of functional units and forced ring numbers by instruction decoding
DE69029759T2 (de) * 1989-05-15 1997-07-17 Ibm Flexible Schnittstelle für Beglaubigungsdienste in einem verteilten Datenverarbeitungssystem
US5469556A (en) * 1989-12-12 1995-11-21 Harris Corporation Resource access security system for controlling access to resources of a data processing system
US6507909B1 (en) 1990-02-13 2003-01-14 Compaq Information Technologies Group, L.P. Method for executing trusted-path commands
US5574912A (en) * 1990-05-04 1996-11-12 Digital Equipment Corporation Lattice scheduler method for reducing the impact of covert-channel countermeasures
US5315657A (en) * 1990-09-28 1994-05-24 Digital Equipment Corporation Compound principals in access control lists
US5253344A (en) * 1991-09-05 1993-10-12 International Business Machines Corp. Method and apparatus for dynamically changing the configuration of a logically partitioned data processing system
US5432934A (en) * 1993-07-26 1995-07-11 Gensym Corporation Access restrictions as a means of configuring a user interface and making an application secure
US6289390B1 (en) 1993-08-18 2001-09-11 Microsoft Corporation System and method for performing remote requests with an on-line service network
US5603059A (en) * 1994-04-22 1997-02-11 Pitney Bowes Inc. Software architecture system having a virtual I/O channel including multi-layered communication interface in between virtual stations and physical modules
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US6901433B2 (en) * 1995-06-07 2005-05-31 Microsoft Corporation System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service
US5933599A (en) * 1995-07-17 1999-08-03 Microsoft Corporation Apparatus for presenting the content of an interactive on-line network
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US5956509A (en) 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
US5875352A (en) * 1995-11-03 1999-02-23 Sun Microsystems, Inc. Method and apparatus for multiple channel direct memory access control
JP2982702B2 (ja) * 1996-08-30 1999-11-29 日本電気株式会社 ディスク装置
US6105132A (en) * 1997-02-20 2000-08-15 Novell, Inc. Computer network graded authentication system and method
US5961626A (en) * 1997-10-10 1999-10-05 Motorola, Inc. Method and processing interface for transferring data between host systems and a packetized processing system
FR2770918B1 (fr) * 1997-11-07 1999-12-10 Gemplus Card Int Procede de gestion securise d'une memoire
EP0944257A1 (en) * 1998-03-06 1999-09-22 CANAL+ Société Anonyme Multimedia terminal adapted for multiple users
US7305451B2 (en) * 1998-08-24 2007-12-04 Microsoft Corporation System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network
US7343441B1 (en) * 1999-12-08 2008-03-11 Microsoft Corporation Method and apparatus of remote computer management
US6990579B1 (en) * 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US7082615B1 (en) * 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US6714930B1 (en) 2000-05-31 2004-03-30 International Business Machines Corporation Lightweight directory access protocol, (LDAP) trusted processing of unique identifiers
US6978324B1 (en) * 2000-06-27 2005-12-20 Emc Corporation Method and apparatus for controlling read and write accesses to a logical entity
US7065610B1 (en) * 2000-06-27 2006-06-20 Emc Corporation Method and apparatus for maintaining inventory of logical volumes stored on storage elements
US7036122B2 (en) * 2002-04-01 2006-04-25 Intel Corporation Device virtualization and assignment of interconnect devices
US8572391B2 (en) * 2003-09-12 2013-10-29 Emc Corporation System and method for risk based authentication
DE10353210A1 (de) * 2003-11-13 2005-06-16 Siemens Ag Sichere Erfassung von Eingabewerten
US8781975B2 (en) * 2004-05-21 2014-07-15 Emc Corporation System and method of fraud reduction
JP4499008B2 (ja) * 2005-09-15 2010-07-07 富士通マイクロエレクトロニクス株式会社 Dma転送システム
US7682577B2 (en) 2005-11-07 2010-03-23 Geo2 Technologies, Inc. Catalytic exhaust device for simplified installation or replacement
US7682578B2 (en) 2005-11-07 2010-03-23 Geo2 Technologies, Inc. Device for catalytically reducing exhaust
US7722828B2 (en) 2005-12-30 2010-05-25 Geo2 Technologies, Inc. Catalytic fibrous exhaust system and method for catalyzing an exhaust gas
JP5285969B2 (ja) * 2008-06-11 2013-09-11 シロキ工業株式会社 ドアロック装置
US7530106B1 (en) 2008-07-02 2009-05-05 Kaspersky Lab, Zao System and method for security rating of computer processes
US10620687B2 (en) * 2014-12-22 2020-04-14 Intel Corporation Hybrid power management approach
US10489335B1 (en) * 2018-09-28 2019-11-26 Silicon Motion, Inc. Apparatus and method and computer program product for accessing a memory card

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1329721A (en) * 1970-05-26 1973-09-12 Plessey Co Ltd Data processing devices
US4092715A (en) * 1976-09-22 1978-05-30 Honeywell Information Systems Inc. Input-output unit having extended addressing capability
US4084227A (en) * 1976-09-24 1978-04-11 Sperry Rand Corporation Virtual address translator
US4155119A (en) * 1977-09-21 1979-05-15 Sperry Rand Corporation Method for providing virtual addressing for externally specified addressed input/output operations
US4320456A (en) * 1980-01-18 1982-03-16 International Business Machines Corporation Control apparatus for virtual address translation unit
US4419728A (en) * 1981-06-22 1983-12-06 Bell Telephone Laboratories, Incorporated Channel interface circuit providing virtual channel number translation and direct memory access
JPS58195230A (ja) * 1982-05-10 1983-11-14 Hitachi Ltd チヤネル制御装置

Also Published As

Publication number Publication date
CN1014841B (zh) 1991-11-20
FI883566A (fi) 1989-02-08
CA1315007C (en) 1993-03-23
DK439088D0 (da) 1988-08-05
US4858117A (en) 1989-08-15
IL87295A0 (en) 1989-01-31
IL87295A (en) 1992-05-25
CN1033119A (zh) 1989-05-24
DE3889816T2 (de) 1995-01-19
AU611468B2 (en) 1991-06-13
FI883566A0 (fi) 1988-07-29
KR890004230A (ko) 1989-04-20
NO883493D0 (no) 1988-08-05
AU2052288A (en) 1989-02-09
DK439088A (da) 1989-02-08
JPH0578858B2 (no) 1993-10-29
YU151988A (en) 1991-08-31
KR940003325B1 (ko) 1994-04-20
EP0306702A2 (en) 1989-03-15
ES2053640T3 (es) 1994-08-01
DE3889816D1 (de) 1994-07-07
NO174528C (no) 1994-05-18
MX166611B (es) 1993-01-21
EP0306702A3 (en) 1990-08-29
EP0306702B1 (en) 1994-06-01
JPH0199147A (ja) 1989-04-18
NO883493L (no) 1989-02-08

Similar Documents

Publication Publication Date Title
NO174528B (no) Anordning og fremgangsmaate for oversettelse av virtuelle inngangs/utgangskommandoer
TWI705353B (zh) 用於容許安全通訊之積體電路、方法及製造物件
CN103842976B (zh) 具有保护模式以防止i/o装置进行存储器访问的输入/输出存储器管理单元
US7139890B2 (en) Methods and arrangements to interface memory
KR101455011B1 (ko) 메시지 시그널 인터럽션을 i/o 어댑터 이벤트 통지로 변환
US4959860A (en) Power-on password functions for computer system
CA1092719A (en) Synonym control means for multiple virtual storage systems
JP4295111B2 (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
US7571294B2 (en) NoDMA cache
KR20040093472A (ko) 영역-입도 하드웨어-제어 메모리 암호화를 제공하기 위한시스템 및 방법
MX2012014534A (es) Espacios de multiples direcciones por adaptador.
CA1300279C (en) Central processor unit for digital data processing system including cache management mechanism
WO1988006760A2 (en) Central processor unit for digital data processing system including write buffer management mechanism
JP2005512228A (ja) 強化されたメモリアクセスセキュリティを提供する、メモリに対するデバイスのアクセスを制御するシステムおよび方法
KR100972635B1 (ko) 컴퓨터 시스템내에서의 장치간 액세스를 제어하는 시스템및 방법
US20220335109A1 (en) On-demand paging support for confidential computing
US20060136634A1 (en) Data address security device and method
CN115640239A (zh) 计算机系统以及可信计算方法
CN115509964A (zh) 计算机系统以及可信计算方法
JPS62274445A (ja) マイクロ・コンピユ−タ・システムにおける特権保護方式
EP0303664A1 (en) Central processor unit for digital data processing system including virtual to physical address translation circuit