===== 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 ===
* 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.
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 ===
* **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.
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 ===
* **IDE-k**:
- Visual Studio, Eclipse, PyCharm, IntelliJ IDEA.
* **Verziókezelő rendszerek**:
- Git, GitHub, GitLab.
* **Konténerizáció és DevOps**:
- Docker, Kubernetes, CI/CD rendszerek.
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 ===
* 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.
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 ===
* 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.
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 ===
* 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).
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.
* **FTP/SFTP** – fájlátvitel.
* **SMTP, IMAP, POP3** – e-mail kommunikáció.
* **DNS** – névfeloldás (pl. www.example.com → IP-cím).
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) ===
* 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).
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 ===
* 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).
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.