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]
flowchart LR
HW[Hardver] --> OS[Operációs rendszer]
OS --> APP[Alkalmazások]
APP --> USER[Felhasználó]
USER --> APP
APP --> OS
OS --> HW
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).
graph TD
SZOFT[Szoftver] --> REND[Rendszerszoftver]
SZOFT --> ALK[Alkalmazói szoftver]
SZOFT --> FEJL[Fejlesztői szoftver]
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.
flowchart LR
USER[Felhasználó] --> APP[Alkalmazói szoftver]
APP --> OS[Rendszerszoftver]
OS --> HW[Hardver]
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
flowchart TD
HW[Hardver] --> OS[Operációs rendszer]
OS --> DRIVER[Eszközmeghajtók]
OS --> UTIL[Segédprogramok]
OS --> APP[Alkalmazások]
APP --> USER[Felhasználó]
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
graph TD
UI[Felhasználói felület] --> START[Start menü és tálca]
UI --> WID[Widgetek]
UI --> MULTI[Többmonitor támogatás]
FUNC[Újdonságok] --> TEAMS[Teams integráció]
FUNC --> ANDR[Android appok]
FUNC --> GAME[Játékfunkciók]
SEC[Biztonság] --> TPM[TPM 2.0]
SEC --> SB[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.
flowchart TD
OS[Operációs rendszer] --> APP[Alkalmazói szoftver]
APP --> USER[Felhasználó]
USER --> APP
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.
graph LR
APP[Alkalmazói szoftver] --> OFF[Irodai]
APP --> GFX[Grafikai]
APP --> ENG[Mérnöki/Tudományos]
APP --> DB[Adatbázis]
APP --> GAME[Szórakozás]
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.
graph TD
LIC[Szoftverlicencek] --> COM[Kereskedelmi]
LIC --> OSS[Nyílt forráskódú]
LIC --> FREE[Szabad szoftver]
LIC --> SAAS[SaaS - előfizetés]
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.
graph TD
SRC[Kódforrás] --> COMP[Fordító]
SRC --> INT[Értelmező]
COMP --> BIN[Binaris program]
INT --> RUN[Futtatás]
BIN --> DEBUG[Debugger]
RUN --> DEBUG
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
flowchart LR
DEV[Fejlesztő] --> IDE[IDE]
IDE --> GIT[Verziókezelő]
GIT --> CI[CI/CD pipeline]
CI --> DOCKER[Konténerizáció]
DOCKER --> DEPLOY[Telepítés]
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
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.
graph TD
ROOT[/Gyökérkönyvtár/] --> D1[/Dokumentumok/]
ROOT --> D2[/Képek/]
D1 --> F1[dolgozat.docx]
D1 --> F2[táblázat.xlsx]
D2 --> F3[fotó.jpg]
D2 --> F4[diagram.png]
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.
flowchart LR
FAT[FAT32] --> USB[Pendrive]
NTFS[NTFS] --> WIN[Windows]
EXT[ext4] --> LNX[Linux]
APFS[APFS] --> MAC[macOS]
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
graph TD
FILE[Fájl] --> R[Olvasás]
FILE --> W[Írás]
FILE --> X[Végrehajtás]
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
flowchart LR
PC1[Számítógép 1] <--> NET[Hálózat] <--> PC2[Számítógép 2]
NET --> SRV[Szerver]
SRV --> USER[Felhasználó]
6.2 Hálózati protokollok
TCP/IP – az internet alapja, megbízható adatátvitelt biztosít.
HTTP/HTTPS – weboldalak és webes alkalmazások.
-
SMTP, IMAP, POP3 – e-mail kommunikáció.
-
graph TD
TCP[TCP/IP] --> HTTP[HTTP/HTTPS]
TCP --> FTP[FTP/SFTP]
TCP --> MAIL[SMTP/IMAP/POP3]
TCP --> DNS[DNS]
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.
flowchart LR
SRV[Szerver] --> FS[Fájlmegosztás]
SRV --> PR[Nyomtatás]
SRV --> WEB[Webszolgáltatás]
SRV --> DB[Adatbázis]
SRV --> CLOUD[Felhő]
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.
flowchart TD
subgraph Kliens-Szerver
CL1[Kliens] --> SV[Szerver]
CL2[Kliens] --> SV
end
subgraph P2P
P1[P2P gép] <--> P2[P2P gép]
P2 <--> P3[P2P gép]
P1 <--> P3
end
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).
flowchart LR
NET[Internet] --> FW[Tűzfal]
FW --> AV[Vírusirtó]
AV --> OS[Rendszer]
OS --> ENC[Titkosítás]
7.2 Segédprogramok (utility)
graph TD
UTIL[Segédprogramok] --> COMP[Fájltömörítők]
UTIL --> MAINT[Rendszerkarbantartók]
UTIL --> DIAG[Diagnosztikai eszközök]
UTIL --> BACKUP[Biztonsági mentés]
7.3 Biztonsági mentés és adatvédelem
flowchart LR
DATA[Adatok] --> FULL[Teljes mentés]
DATA --> INC[Növekményes mentés]
DATA --> DIFF[Differenciális mentés]
FULL --> CLOUD[Felhő]
INC --> EXT[Külső eszköz]
DIFF --> LOCAL[Helyi háttértár]
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.