Table of Contents
1. Szoftver alapismeretek
A számítógép működését két fő tényező határozza meg:
- Hardver – a fizikai eszközök (processzor, memória, háttértár, perifériák).
- Szoftver – a programok és adatok összessége, amelyek a hardvert működtetik.
A szoftver feladata: a hardver erőforrásainak vezérlése és a felhasználó számára értelmezhető szolgáltatások biztosítása. A számítógép használhatóságát nagymértékben a szoftver határozza meg.[1]
1.1 A szoftver fogalma
- A szoftver olyan programok és adatok összessége, amelyek a hardveren futnak és konkrét feladatokat látnak el.
- A szoftver mindig a hardverhez kötődik, de ugyanaz a szoftver különböző hardverplatformokon is megjelenhet (pl. Windows, Linux, macOS).
- A szoftver jellemzői:
- nem kézzel fogható, hanem logikai entitás,
- fejlesztők készítik (programozás útján),
- a futtatáshoz megfelelő hardver és operációs rendszer szükséges.
1.2 A szoftverek fő csoportjai
- Rendszerszoftverek – az alapvető működést biztosítják (pl. operációs rendszer, driverek).
- Alkalmazói szoftverek – konkrét felhasználói feladatok elvégzésére szolgálnak (pl. CAD, szövegszerkesztő).
- Fejlesztői szoftverek – programok létrehozására szolgálnak (pl. fordítók, IDE-k).
1.3 Szoftver és hardver kapcsolata
- A hardver önmagában nem használható → szükséges a szoftver.
- A szoftver a hardver képességeit „láthatóvá” és felhasználhatóvá teszi.
- A felhasználó → alkalmazói szoftveren keresztül → rendszerszoftveren keresztül → hardvert használja.
1.4 Példák a gyakorlatból
- Rendszerszoftver: Windows 11, Linux Ubuntu, macOS.
- Alkalmazói szoftver: AutoCAD (mérnöki tervezés), MATLAB (számítás), Word/Excel (irodai).
- Fejlesztői szoftver: Visual Studio Code, GCC, Python interpreter.
2. Rendszerszoftverek, operációs rendszerek
A rendszerszoftverek azok a programok, amelyek a számítógép alapvető működését biztosítják, összekötik a hardvert a felhasználóval, és környezetet nyújtanak az alkalmazások futtatásához.[2]
2.1 A rendszerszoftver fogalma
- A rendszerszoftver olyan program, amely a számítógép hardverét vezérli, kezeli az erőforrásokat és lehetővé teszi az alkalmazások futtatását.
- Fő összetevői:
- Operációs rendszer (OS) – központi vezérlő program.
- Eszközmeghajtók (driverek) – perifériák működéséhez szükséges szoftverek.
- Segédprogramok (utility programok) – karbantartást, diagnosztikát biztosítanak.
2.2 Az operációs rendszer feladatai
- Hardver erőforrások kezelése (CPU, memória, háttértár, perifériák).
- Folyamatkezelés (programok párhuzamos futtatása).
- Fájlrendszer kezelése (adatok tárolása és elérése).
- Felhasználói felület biztosítása (grafikus GUI, parancssor).
- Hálózati kommunikáció és biztonsági funkciók.
2.3 Windows 11 bemutatása
- Megjelenés: 2021-ben adták ki, a Windows 10 utódjaként.
- Felhasználói felület:
- Új, középre rendezett Start menü és tálca.
- Lekerekített ablakok, modern ikonok.
- Widgetek integrálása (időjárás, hírek, naptár).
- Beállítások:
- Egyszerűsített Settings alkalmazás.
- Gyors keresési lehetőségek.
- Jobb támogatás több monitorhoz és érintőkijelzőkhöz.
- Újdonságok:
- Beépített Microsoft Teams integráció.
- Android alkalmazások futtatásának támogatása (Amazon Appstore, WSA).
- Javított játékfunkciók: DirectStorage, AutoHDR.
- Fokozott biztonsági követelmények: TPM 2.0, Secure Boot.
2.4 Operációs rendszerek típusai
- Windows – a legelterjedtebb asztali OS.
- Linux disztribúciók – nyílt forrású, stabil, sokféle verzió (Ubuntu, Debian, Fedora).
- macOS – Apple saját rendszere.
- Ipari rendszerek – valós idejű operációs rendszerek (RTOS) ipari és beágyazott eszközökben.
2.5 Példák mérnöki gyakorlatból
- Windows 11: mérnöki alkalmazások (AutoCAD, SolidWorks, MATLAB).
- Linux: szerverek, HPC klaszterek (FEM, CFD szimulációk).
- RTOS: beágyazott mérnöki vezérlők, PLC-k.
3. Alkalmazói szoftverek
Az alkalmazói szoftverek a felhasználók mindennapi munkáját segítik: ezek azok a programok, amelyek konkrét feladatokat oldanak meg a számítógépen. Ide tartoznak az irodai programcsomagok, mérnöki és tudományos szoftverek, valamint a szórakoztatásra szolgáló alkalmazások is.[3]
3.1 Az alkalmazói szoftver fogalma
- Olyan program, amely a felhasználói igények kiszolgálására készült.
- Az alkalmazói szoftver mindig az operációs rendszer fölött működik.
- Példák:
- Szövegszerkesztő → dokumentumok létrehozása.
- CAD program → mérnöki tervezés.
- Adatbáziskezelő → adatok tárolása és lekérdezése.
3.2 Alkalmazói szoftverek típusai
- Irodai programcsomagok – szövegszerkesztő, táblázatkezelő, prezentációkészítő.
- Példa: Microsoft Office 365, LibreOffice, Google Workspace.
- Grafikai és multimédia szoftverek – képszerkesztés, videóvágás, 3D modellezés.
- Példa: Photoshop, Blender, Premiere Pro.
- Mérnöki és tudományos szoftverek – tervezés, szimuláció, adatfeldolgozás.
- Példa: AutoCAD, SolidWorks, MATLAB, ANSYS.
- Adatbázis-kezelő rendszerek – nagy adathalmazok tárolása, lekérdezése.
- Példa: Oracle, MySQL, PostgreSQL.
- Szórakoztató és speciális alkalmazások – játékok, tanulást segítő alkalmazások.
3.3 Szoftverlicencek és terjesztés
- Kereskedelmi szoftver – fizetős, zárt forráskódú.
- Nyílt forráskódú szoftver (Open Source) – ingyenes, módosítható.
- Szabad szoftver – felhasználó szabadon tanulmányozhatja, módosíthatja és terjesztheti.
- SaaS (Software as a Service) – felhőalapú szolgáltatás, előfizetéses modell.
3.4 Példák mérnöki alkalmazásokra
- Gépészmérnökök: AutoCAD, SolidWorks, CATIA.
- Villamosmérnökök: MATLAB, LabVIEW.
- Anyagmérnökök: ANSYS, COMSOL.
- Mechatronikus mérnökök: robotikai szoftverek, PLC programozókörnyezetek.
4. Fejlesztői szoftverek
A fejlesztői szoftverek olyan programok, amelyek más szoftverek létrehozására szolgálnak. Segítségükkel a programozók, mérnökök és kutatók új alkalmazásokat, vezérlőprogramokat, szimulációs eszközöket készíthetnek.[4]
4.1 A fejlesztői szoftver fogalma
- Célja: programok írása, fordítása, tesztelése és hibakeresése.
- A fejlesztői környezet tartalmazhat:
- Fordítóprogramokat (compiler) → magas szintű nyelvből gépi kód.
- Értelmezőket (interpreter) → utasítások közvetlen végrehajtása.
- Linker → összekapcsolja a külön modulokat.
- Debugger → hibakereső eszköz.
- IDE (Integrated Development Environment) → integrált fejlesztőkörnyezet.
4.2 Programozási nyelvek
- Alacsony szintű nyelvek – gépközeli (Assembly, C).
- Magas szintű nyelvek – könnyebben érthető, hordozható (C++, Java, Python).
- Domain-specifikus nyelvek – speciális célra (SQL, MATLAB, VHDL).
- Modern trendek:
- Python → gépi tanulás, adatfeldolgozás.
- Rust → biztonságos rendszerprogramozás.
- JavaScript/TypeScript → webes fejlesztés.
4.3 Fejlesztői környezetek és eszközök
- IDE-k:
- Visual Studio, Eclipse, PyCharm, IntelliJ IDEA.
- Verziókezelő rendszerek:
- Git, GitHub, GitLab.
- Konténerizáció és DevOps:
- Docker, Kubernetes, CI/CD rendszerek.
4.4 Példák mérnöki alkalmazásokra
- Beágyazott rendszerek fejlesztése: C, C++, RTOS környezet.
- Számítástudomány: Python + MATLAB a mérnöki számításokhoz.
- Ipari vezérlés: PLC programozó környezetek (TIA Portal, Codesys).
- Szimulációk: ANSYS APDL, COMSOL scriptnyelvek.
5. Fájlkezelés és fájlrendszerek
A számítógépben az adatok hosszú távú tárolása fájlokban történik. A fájlkezelést és a fájlok rendszerezését a fájlrendszer biztosítja.[5]
5.1 A fájl fogalma
- A fájl az adatok tárolásának alapegysége.
- Jellemzői:
- név (kiterjesztéssel, pl. `dokumentum.docx`),
- tartalom (adatok, programkód, multimédia),
- méret (byte-okban).
- A fájlok lehetnek:
- szövegfájlok (pl. forráskód, konfigurációs állomány),
- bináris fájlok (pl. képek, videók, futtatható programok).
5.2 Könyvtárak és hierarchia
- A fájlokat könyvtárakba (mappákba) rendezhetjük.
- A könyvtárak hierarchikus szerkezetet alkotnak.
- Van egy gyökérkönyvtár, amelyből az egész fájlrendszer kiindul.
5.3 Fájlrendszerek típusai
- FAT32 – régebbi, egyszerű fájlrendszer, kisebb adathordozókhoz.
- NTFS – Windows alap fájlrendszere, támogatja a jogosultságokat és nagy fájlokat.
- ext4 – Linux rendszerek alapértelmezett fájlrendszere.
- APFS – Apple rendszerek (macOS, iOS) fájlrendszere.
5.4 Fájlkezelő programok
- Grafikus felület:
- Windows 11: File Explorer.
- Linux: Nautilus, Dolphin.
- macOS: Finder.
- Parancssoros eszközök:
- Windows: `dir`, `copy`, `del`.
- Linux/macOS: `ls`, `cp`, `rm`.
5.5 Jogosultságok és hozzáférés-kezelés
- A fájlokhoz való hozzáférést az operációs rendszer szabályozza.
- Jogosultságok típusa:
- Olvasás (R) – fájl megnyitása.
- Írás (W) – fájl módosítása.
- Végrehajtás (X) – futtatható fájl indítása.
- Linux rendszerekben felhasználó / csoport / mások bontásban.
5.6 Példák mérnöki gyakorlatból
- CAD fájlok (pl. `.dwg`, `.step`) → dokumentáció és tervezés.
- Adatgyűjtési fájlok (pl. `.csv`, `.xlsx`) → szenzoradatok feldolgozása.
- Szimulációs eredmények (pl. `.mat`, `.dat`) → MATLAB, ANSYS, COMSOL kimenetek.
6. Hálózati szoftverek és kommunikáció
A számítógépek hálózatba kötve sokkal hatékonyabban használhatók: adatokat oszthatnak meg, erőforrásokat közösen vehetnek igénybe, és lehetővé válik a felhőalapú szolgáltatások használata. A hálózati működést speciális protokollok és szoftverek biztosítják.[6]
6.1 A hálózati szoftver fogalma
- A hálózati szoftverek biztosítják az adatátvitelt a számítógépek között.
- Főbb feladataik:
- kommunikáció a protokollok szerint,
- hálózati erőforrások megosztása,
- biztonságos adatátvitel,
- felhasználói szolgáltatások nyújtása (web, e-mail).
6.2 Hálózati protokollok
- TCP/IP – az internet alapja, megbízható adatátvitelt biztosít.
- HTTP/HTTPS – weboldalak és webes alkalmazások.
- FTP/SFTP – fájlátvitel.
- SMTP, IMAP, POP3 – e-mail kommunikáció.
- DNS – névfeloldás (pl. www.example.com → IP-cím).
6.3 Hálózati szolgáltatások
- Fájlmegosztás – közös mappák és dokumentumok.
- Nyomtatásmegosztás – hálózati nyomtatók.
- Webszolgáltatások – honlapok, webalkalmazások.
- Adatbázis szolgáltatások – SQL szerverek.
- Felhőszolgáltatások – Google Drive, OneDrive, Dropbox.
6.4 Kommunikációs modellek
- Kliens–szerver modell – központi szerver szolgáltatja az adatokat, a kliens kéri.
- Peer-to-Peer (P2P) – minden gép egyenrangú, közvetlenül kommunikálnak.
6.5 Példák mérnöki gyakorlatból
- CAD fájlmegosztás – több mérnök dolgozik ugyanazon terven.
- Szimulációs eredmények megosztása – szerveren keresztül.
- IP-alapú ipari hálózatok – PLC-k, robotok, szenzorok összekötése.
- Felhőalapú mérnöki számítások – HPC elérés interneten keresztül.
7. Biztonsági és segédszoftverek
A számítógépes rendszerek működése során kulcsfontosságú a biztonság és a megbízhatóság. Ezt speciális biztonsági és segédszoftverek biztosítják, amelyek megvédik az adatokat, a hardvert és a felhasználót a különböző fenyegetésektől.[7]
7.1 Biztonsági szoftverek
- Vírusirtók – felismerik és eltávolítják a kártevő programokat.
- Példák: Windows Defender, Avast, Kaspersky.
- Tűzfalak – szabályozzák a hálózati forgalmat, kiszűrik a gyanús adatcsomagokat.
- Kémprogram-elhárítók – megakadályozzák a kéretlen adatszivárgást.
- Titkosító programok – biztosítják az adatok védelmét (pl. BitLocker, VeraCrypt).
7.2 Segédprogramok (utility)
- A számítógép karbantartását, optimalizálását segítik.
- Típusai:
- Fájltömörítők (ZIP, RAR, 7-Zip).
- Rendszerkarbantartó programok (CCleaner, rendszeres frissítések).
- Diagnosztikai eszközök (memóriateszt, hardver-monitorozás).
- Biztonsági mentőprogramok (Backup & Restore, Acronis True Image).
7.3 Biztonsági mentés és adatvédelem
- Rendszeres mentés szükséges hardverhiba, vírusfertőzés vagy emberi hiba esetére.
- Mentési típusok:
- Teljes mentés.
- Növekményes mentés.
- Differenciális mentés.
- Tárolási helyek:
- Helyi háttértár (HDD, SSD).
- Külső eszközök (USB, NAS).
- Felhőalapú tárolás (OneDrive, Google Drive).
7.4 Példák mérnöki gyakorlatból
- CAD modellek biztonsági mentése felhőbe (pl. OneDrive).
- Szimulációs eredmények titkosítása céges adatvédelem érdekében.
- Rendszerdiagnosztika laborokban, hardverhibák gyors azonosítása.
- Verziókezelés + backup együttes használata mérnöki projekteknél.