===== 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.