한국   대만   중국   일본 
Tarkvara ? Vikipeedia Mine sisu juurde

Tarkvara

Allikas: Vikipeedia
LibreOffice Writer

Tarkvara ehk arvuti tarkvara on masinloetav juhend, mis suunab arvuti protsessorit spetsiifilisi toiminguid sooritama. Tarkvara holmab koiki mittefuusilisi arvuti tooks vajalikke voi rakenduslikke komponente, eelkoige arvutiprogramme ning nende andmeid ? andmefaile , seadeid , dokumentatsiooni , jne.

Tarkvara moistet kasutatakse vastandina arvuti riistvara moistele, need on arvuti fuusilised seadmed ja uhendused (naiteks protsessor ), millel on tarkvara talletatud ja mis teostavad antud juhised. [1] [2] Arvuti riist- ja tarkvara vajavad uksteist ja kumbagi ei saa reaalselt kasutada ilma teiseta.

"Tarkvara" on uldine termin. See voib viidata koikidele arvuti juhistele uldiselt voi mistahes konkreetsele juhisele. See holmab nii masinjuhiseid ( kahendkood , mida protsessor "Moistab") kui ka lahtekoodist (inimesele arusaadavamad juhendid, mis tuleb enne kaivitamist tolkida masinkoodi).

Arvuti tarkvara on komplekt programme, protseduure, funktsioone , seotud andmeid ja nende dokumentatsioone, kui voimalik. Programmi tarkvara taidab rakendatava programmi ulesande, kas andes juhised otse digitaalsele elektroonikale voi tootavad sisendina mone teise tarkvara jaoks.

Kihtstruktuur, mis naitab, kus asub operatsioonisusteem ja rakendused (rakendusprogrammid)

Erinevalt riistvarast on kaivitatav tarkvara salvestatud andmetena arvuti susteemis ning seega ei saa seda fuusiliselt puudutada. Madalaimal tasandil kaivitatav kood koosneb masinkeelsetest juhistest, mis on spetsiifilised uhele individuaalsele protsessorile. Masinkeel koosneb kahendvaartuste ruhmadest, mis tahistavad protsessori juhiseid, mis muudavad arvuti olekut. [3] Naiteks voib moni juhis muuta konkreetsesse kohta salvestatud vaartuse (mida kasutaja silmaga ei nae) voi (kaudselt) panna arvuti ekraanile ilmuma mone objekti (mida naeb kasutaja ka ise). Protsessor taidab juhiseid nende esitatud jarjekorras, valja arvatud olukorras, kui tal on kastud "hupata" monele teisele kasule voi kui toiming on katkestatud.

Tarkvara on tavaliselt kirjutatud korgetasemelises programmeerimiskeeles , mida on inimestel lihtsam ja tohusam kasutada (sarnaneb rohkem loomuliku keelega ) kui masinkeelt. Korgetasemelised keeled on koostatud voi tolgitakse masinkeele objektikoodi. Tarkvara voib olla kirjutatud ka assemblerkeeles , sisuliselt meeldejaavam variant masinkeelest, kasutades loomuliku keele tahestikku. Assemblerkeel tuleb koostada objektikoodi koostaja ( assembler ) abil.

Tarkvara liigid [ muuda | muuda lahteteksti ]

Tarkvara holmab suurt hulka tooteid, mis voivad olla toodetud erinevaid tehnikaid nagu tavalisi programmeerimiskeeli, mikrokoodi voi FPGA konfiguratsiooni kasutades.

Peaaegu koikidel arvuti platvormidel saab tarkvara jagada paari suuremasse kategooriasse:

  • Susteemitarkvara on tarkvara, mis on kavandatud arvuti riistvara juhendamiseks, et tagada pohifunktsioonid ja tagada platvorm jooksvatele rakendustarkvaradele . Susteemi tarkvara holmab seadme susteemidraivereid , operatsioonisusteeme ( Mac OS X , Microsoft Windows , Linux jne), serveritarkvara , aknahaldustarkvara ja utiliite (nt diagnostikaprogrammid ).
    • Susteemi tarkvara sisaldab ka alglaadimise pusivara , mis laadib lahti (voi monel juhul ka moodustab) operatsioonisusteemi. Pusivara on tarkvara, mis on pusivalt salvestatud riistvarasse (tapsemalt pusimallu ). Seega on sellel nii tarkvara kui ka riistvara omadusi, kuid on siiski tarkvara.
  • Rakendustarkvara ja skriptid olid ajalooliselt maaratletud kui kogu tarkvara, mis kasutab arvutisusteemi, et teha kasulikumat tood (voi lahutada meelt), kui arvuti algoperatsioonid voi arvuti ise. Praktikas on aga susteemi- ja rakendustarkvara erinevused sageli ahmased kasulikkude operatsioonisusteemi rakenduste tottu. Rakendustarkvara voimaldab kasutajal teatava kindla ulesande taitmist. Rakendustarkvara alla kuuluvad naiteks kontoritarkvara ( Microsoft Office , LibreOffice ), arhiveerimistarkvara , majandustarkvara , andmebaasid , arvutimangud . Rakendustarkvaras on tavaliselt kasutusel graafiline kasutajaliides (GUI).
    • Rakendustarkvara sisaldab toolauarakendusi nagu brauserid ja Microsoft Office, samuti nutitelefoni ja tableti rakendusi (nn "app").
    • JavaScripti skriptid on tarkvara osad, mis on traditsiooniliselt veebilehtede osad, mis kaivitatakse otse brauseri sees, kui veebileht lahti laaditakse, ilma et oleks vaja veebibrauseri pistikprogrammi (inglise plug-in ). Tarkvara, mis on kirjutatud teistes programmeerimiskeeltes, saab ka veebibrauseris kaivitada, kui tarkvara on, kas tolgitud JavaScripti voi kui brauseri pistikprogramm, mis toetad vastavat keelt, on installitud. Koige levinum naide viimasest on ActionScripti skriptid, mida toetab Adobe Flashi lisandprogramm.
    • Veebirakendused tootavad tavaliselt veebiserveris ja valjundavad veebibrauseritele dunaamiliselt genereeritud veebilehti, kasutades tarkvara nagu PHP , Java voi ASP.NET , voi isegi JavaScripti, mis jookseb serveris .
  • Pistikprogrammid ja laiendid on tarkvara, mis laiendab voi muudab mone teise tarkvara funktsionaalsust, noudes vastava tarkvara kasutamist, et funktsioneerida.
  • Sisseehitatud tarkvara on arvuti tarkvara, mis on kirjutatud, et juhtida masinaid voi seadmeid, millest tavaliselt ei moelda kui arvutitest. Uldiselt spetsialiseerunud eelkoige riistvarale, mida vastav tarkvara kaitab ning millel on aja- ja malupiirangud. Seda terminit kasutatakse monikord pusivarana, kuigi pusivara saab kasutada ka arvuti pusimalupohises koodis, millelt operatsioonisusteem jookseb, samas kui sisseehitatud tarkvara on tavaliselt ainuke tarkvara konealusel seadmel. [4]
  • Mikrokood on eriline, suhteliselt segast tuupi sisseehitatud tarkvara, mis utleb protsessorile, kuidas taita masinkoodi, nii et tegelikult on see madalam tasand kui masinkood. [5] See on tavaliselt salastatud protsessori tootja poolt ning koik vajalikud mikrokoodi tarkvara uuendused varustatakse kasutajatele nende poolt (mis on palju odavam kui asendava protsessori riistvara kohaletoimetamine). Seega tavaline programmeerija ei peaks kunagi eeldama, et peab sellega tegelema.

Programmeerimisvahendid [ muuda | muuda lahteteksti ]

Programmeerimisvahendid on tarkvara programmide voi rakenduste kujul, mida tarkvara arendajad (tuntud ka kui programmeerijad , koodijad, hakkerid voi tarkvarainsenerid) kasutavad, et luua, siluda , sailitada (st parandada voi taiustada) voi muul viisil toetada tarkvara. Tarkvara kirjutatakse uhes voi mitmes programmeerimiskeeles; on palju programmeerimiskeeli ja igauhel neist on vahemalt uks rakendus, millest igauks koosneb oma programmeerimisvahendite komplektist. Need vahendid voivad olla suhteliselt iseseisvad programmid nagu koostajad, silujad, tolgid ja teksti toimetajad, mida saab kasutada koos, et taita teatud ulesanne (tapselt nagu fuusilise objekti parandamisel mitme tooriista kasutamine). Nad voivad olla ka integreeritud arenduskeskkond (IDE), millel on mitmed voi koik selliseid kompaktsete tooriistade funktsioonid. Peaaegu koik programmeerimiskeele rakendused (erandiks on Smalltalk ) annavad voimaluse kasutada konkreetseid vahendeid IDE asemel, sest moned programmeerijad eelistavad IDE mittekasutamist eri pohjustel. Lisaks laheb tavaliselt kauem aega, et arendada IDE "vastuvoetavale" tasemele.

Tarkvaralised teemad [ muuda | muuda lahteteksti ]

Arhitektuur [ muuda | muuda lahteteksti ]

Kasutajad naevad asju sageli teistmoodi kui programmeerijad. Inimesed, kes kasutavad nuudisaegseid uldotstarbelisi arvuteid (erinevalt manussusteemidest, analoogarvutitest ja superarvutitest ) naevad tavaliselt kolme kihti tarkvara, mis taidavad erinevaid ulesandeid: platvormi, rakenduslik ja kasutaja tarkvara.

  • Tarkvaraplatvorm ? sisaldab pusivara, seadmedraiverid, operatsioonisusteemi ja tavaliselt graafilist kasutajaliidest, mis kokkuvottes voimaldab kasutajal suhelda arvuti ja selle valisseadmetega. Tarkvaraplatvorm on sageli arvutiga komplekteeritud. Eraarvutitel on kasutajal tavaliselt voimalus muuta tarkvaraplatvormi.
  • Rakendustarkvara ? rakendustarkvara voi rakendused on need, mida enamik inimesi peavad tarkvaraks. Tuupilised naited on kontoritoo programmid ja videomangud. Rakendustarkvara ostetakse sageli riistvarast eraldi. Monikord on rakendused arvutiga kaasas, kuid see ei muuda asjaolu, et nad tootavad iseseisvate rakendustena. Rakendused on tavaliselt soltumatud programmid operatsioonisusteemis, kuigi nad on sageli kohandatud teatud platvormidele.
  • Kasutaja kirjutatud tarkvara, mida loppkasutajad ise arendavad ja kujundavad vastavalt endi vajadustele. Kasutaja tarkvara hulka kuuluvad arvutustabeli- ja tekstitootlusmallid. Isegi e-posti filtrid on omamoodi kasutaja tarkvara. Kasutajad loovad selle tarkvara ise ja tihti ei pane isegi tahele, kui oluline see on. Soltuvalt sellest, kui asjatundlikult kasutaja kirjutatud tarkvara on integreeritud vaikerakenduse pakettidesse , ei pruugi paljud kasutajad teha vahet originaalpaketil ja tookaaslaste lisatud tarkvaral.

Teostus [ muuda | muuda lahteteksti ]

Arvuti tarkvara peab laadima arvuti "salve" (naiteks kovaketas voi malu ). Parast tarkvara laadimist on arvuti voimeline tarkvara kaivitama. See sisaldab rakendustarkvara juhiste labimist labi susteemi tarkvara riistvarale, mis lopuks saab juhendid kui masinkoodis. Iga juhis pohjustab arvutis teatud operatsiooni teostamise ? andmete teisaldamise, arvutuse tegemise voi juhiste kontrollvoolu muutmise.

Andmete teisaldamine tahendab tavaliselt andmete teisaldamist uhest malu kohast teise. Vahel sisaldab see andmete teisaldamist malu ja registrite vahel, mis voimaldavad protsessoris andmetele kiire juurdepaasu. Andmete teisaldamine, eriti suurtes kogustes, voib olla ohtlik. Seega aeg-ajalt valditakse seda, kasutades andmete viitu. Arvutused sisaldavad lihtsaid toiminguid, naiteks muutuva andme osale vaartuse juurde lisamine. Keerulisemad arvutused voivad sisaldada nii mitmeid operatsioone kui ka andmete elemente.

Kvaliteet ja tookindlus [ muuda | muuda lahteteksti ]

  Pikemalt artiklis Tarkvara testimine

Tarkvara kvaliteet on vaga oluline, eriti ari- ja susteemitarkvara (naiteks Microsoft Office, Microsoft Windows ja Linux) kvaliteet. Kui tarkvara on vigane, voib see kustutada isiku too, arvuti kokku jooksutada ja teha muid ootamatuid asju. Paljud vead avastatakse ja korvaldatakse tarkvara testimise kaigus. Kuid tarkvara testimine eemaldab harva ? kui uldse ? koik vead. Moned programmeerijad isegi utlevad, et "igal programmil on vahemalt uks viga" (Lubarsky seadus). Koikidel suurtel tarkvarafirmadel, naiteks Microsoftil , Novellil ja Sun Microsystemsil , on oma tarkvara testimise osakonnad, mille konkreetne eesmark ongi vaid tarkvara testimine. Tarkvara saab kontrollida uhiktestimise , regressioonitestimise ja muude meetodite rakendamisel, mida tehakse kasitsi. Tavaliselt tehakse seda aga automaatselt, sest tihti on testitava koodi suurus usna suur. Naiteks NASA -l on aarmiselt ranged tarkvara testimise protseduurid paljude operatsioonisusteemide ja sidefunktsioonide jaoks. Paljud NASA-l pohinevad operatsioonid suhtlevad ja tuvastavad uksteist labi kaskprogrammide, mida kutsutakse kasktarkvaraks. See voimaldab paljudel NASA-s tootavatel inimestel kontrollida ja hinnata uldisi funktsionaalseid susteeme. Programmid sisaldavad kask tarkvara voimaldab riistvara insenerja susteemi tegevuse toimida palju lihtsam koos. Programmide abil, mis sisaldavad kasktarkvara, saavad riistvara ja tarkvara palju sujuvamalt koos tootada.

Litsents [6] [ muuda | muuda lahteteksti ]

Tarkvaralitsents annab kasutajale oiguse kasutada tarkvara litsentsitud keskkonnas. Monel tarkvaral on litsents, kui see ostetakse n-o riiulilt, riistvaraga kaasas aga OEM litsents. Ulejaanud tarkvaraga kaasneb tasuta tarkvara litsents, andes saajale oigused muuta ja levitada antud tarkvara. Tarkvara voib olla ka vabavara voi jaosvara kujul.

Patendid [ muuda | muuda lahteteksti ]

Tarkvara saab patenteerida moningates, kuid mitte koikides riikides. Tarkvarapatendid voivad tarkvara toostuses olla vastuolulised ? paljudel inimestel on selles osas erinevad vaated. Lahkarvamused tarkvarapatentide kohta on seotud konkreetsete algoritmide ja tehnikate kasutamisega, mida tarkvara sisaldab ning mida ei tohi teised dubleerida. Selle dubleerimist peetakse intellektuaalomandi ja autorioiguse rikkumiseks, soltuvalt rikkumise raskusastmest.

Valjatootamine ja rakendamine [ muuda | muuda lahteteksti ]

Tarkvara valjatootamine ja rakendamine soltub suuresti tarkvara keerukusest. Naiteks Microsoft Wordi tarkvara valjatootamine ja loomine votab programmide funktsionaalsete erinevuste tottu palju rohkem aega kui Microsoft Notepadi arendamine ja valjatootamine . [7]

Tarkvara on tavaliselt valja tootatud ja loodud (kodeeritud/kirjutatud/programmeeritud) integreeritud arenduskeskkondades (IDE) nagu Eclipse , Emacs ja Microsoft Visual Studio , mis suudavad protsessi lihtsustada ja koostada programmi. Nagu erinevates sektsioonides margitud, loodakse tarkvara tavaliselt olemasoleva tarkvara ja rakenduse programmeerimisliidese (API), mille antud alumine tarkvara annab nagu GTK + , JavaBeans voi Swing , peale. Rakenduse programmeerimisliidese raamatukogud on liigitatud erinevatel pohjustel. Naiteks JavaBeansi teeki (inglise library ) kasutatakse ettevotete rakenduste valjatootamiseks, Windows Formsi teeki aga graafilise kasutajaliidese (GUI) rakenduste valjatootamisel (naiteks Microsoft Word) ning Windows Communication Foundationi teeki veebiteenuste valjatootamisel. Programmeerimise alusmoisted quicksort, paisktabel (inglise hash table ), rida (inglise array ) ja kahendpuu voivad olla tarkvara loomisel kasulikud. Programmi disainimisel tugineb see rakenduse programmiliidesele.

Vaata ka [ muuda | muuda lahteteksti ]

Viited [ muuda | muuda lahteteksti ]

  1. "Software" . computerhope.com Vaadatud 7.12.2013
  2. "Hardware vs Software" . diffen.com Vaadatud 7.12.2013
  3. "Machine code (machine language)" . Margaret Rouse (September 2005). Vaadatud 7.12.2013
  4. "Embedded Software?Technologies and Trends" . Ebert, Cristof (Mai 2009). Vaadatud 7.12.2013
  5. "Microcode" . Princeton University. Vaadatud 7.12.2013
  6. "Software" . sezindia.org (2006) Vaadatud 7.12.2013
  7. "Design Patterns: Elements of Reusable Object-Oriented Software". Erich Gamma, Ralph Johnson, John Vlissides, Richard Helm. Addison-Wesley Professional 1994