En buss, engelska bus, är ett system av gemensamma ledningar som förbinder digitala moduler. Bussarna utgör en central komponent i modern elektronik.
I tidiga datorsystem var bussar parallella ledningar mellan enheter men har senare inom datortekniken kommit att beteckna alla subsystem i en dator, som distribuerar information mellan enheter i ett datorsystem.
Förbindelsen består ofta av dataledningar, signalledningar, adressledningar och spänningsledningar vilka traditionellt har varit bundna parallellt med varandra. Dataledningarnas uppgift är att överföra data. Signalledningarnas uppgift är att skicka kontrollsignaler, exempelvis indikera vilken typ av operation som äger rum. Adressledningarna har till uppgift att adressera data till rätt enhet eller underenhet. Spänningsledningarna fungerar som energikälla för enheterna som kopplas på bussen. Alla typer av ledningar behöver inte finnas, men åtminstone dataledningar bör finnas för att förbindelsen skall kunna kallas buss.
Varje buss använder ett protokoll enligt vilket kommunikation över bussen sker. Dessa protokoll varierar väldigt beroende på olika bussar.
Överföringsprinciperna var ursprungligen antingen parallellt eller seriellt. I det första fallet representerades varje individuell dataledning av en bit, varvid en 8-bitars buss krävde 8 signalledningar. Vid seriell överföring används färre signalledningar, och bitarna överförs i bestämda tidsperioder. En parallell buss är alltid snabbare än motsvarande seriella. Tack vare robustare överföringsprotokoll kunde den seriella användas över längre avstånd. Numera är skillnaderna små och de flesta busstekniker använder sig av seriell överföring eller en kombination.
Många busstandarder används såväl internt som externt, som till exempel USB och SCSI. En strikt indelning i internt och externt är därför inte relevant.
Vissa bussar är realiserade på moderkortet eller annat kretskort, exempelvis minnesbussar.