This is an old revision of the document!
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.