آموزش حرفه ای Kernel & Device Drivers

دوره عملیاتی درایور نویسی سیستم های X86

Linux Kernel and Developing Linux Device Drivers Course

نام دوره آموزشی Linux kernel and Developing Linux Device Drivers

Device Driver

 

معرفی دوره آموزشی: درایور ها نقش های مختلفی را در یک سیستم عامل بازی می کنند. از ارتباط با سخت افزارهای رایانه گرفته تا کاربردهای نرم افزاری. درایور ها به سیستم عامل این امکان را می دهند که بدون دانستن ساختار سخت افزاری دستگاه متصل شده بتواند با آن کار کند و از منابعش استفاده کند. در حقیقت درایور ها را می تواند به مترجمی تشبیه کرد که واسط میان سخت افزار دستگاه متصل شده و نرم افزار و یا سیستم عاملی است که از آن استفاده می کند. دستگاه هایی نظیر انواع پرینترها، کارت های ویدیویی، کارت های شبکه، انواع دستگاه های ذخیره‌سازی داده، دوربین ها و همچنین انواع دستگاه های سریال اشاره کرد.

در این دوره هدف بر آن است تا دانشجو را با تهیه و راه اندازی درایور ها در محیط لینوکس آشنا کرد. درایور ها در دو مد کرنل و کاربر طبقه بندی می‌شوند که درباره آن توضیح داده خواهد شد. همچنین دانشجویان با انواع مختلف دیوایس درایور ها آشنا خواهند شد و خواهند توانست دیوایس درایور مخصوص خود را بنویسند و از آن استفاده کنند.

 

محتوای آموزشی: آموزش توسعه و اشکال زدایی در لینوکس با سناریوهای عملی بر روی سیستم ها با معماری x86

 

مخاطبین دوره Linux kernel and Developing Linux Device Drivers: توسعه دهندگان سخت افزارها و توسعه دهندگان Device Driver لینوکس

 

 سطح دوره آموزشی: پیشرفته

 

مدت زمان آموزش۳۲ ساعت

 

 نحوه برگزاری: بصورت آنلاین و حضوری

  

پیش نیاز آموزش: Developing Applications For Linux

 

دوره رایگان Linux kernel and Developing Linux Device Drivers: برای اطمینان از کیفیت دوره Linux kernel and Developing Linux Device Drivers جلسه اول دوره را رایگان ثبت نام کنید.

 

 زمانبندی و هزینه آموزش: برای اطلاع از هزینه لطفا به تقویم آموزشی مراجعه نمایید.

 

معتبرترین مدرک آموزشی: در پایان هر دوره مدرک معتبر اعطا خواهد شد که نمونه آن را می توانید در لینک"معتبر‌ترین مدرک IOT" مشاهده کنید.


Make yourself into a Linux kernel specialist, who can

  • Configure, compile, and install a Linux kernel
  • Do the same for a kernel module 
  • Navigate and read the Linux kernel sources 
  • Use the API for internal kernel services 
  • Design and implement a kernel module 
  • Modify, or design and implement a device driver 
  • Measure the performance of your implementation 

 

Introduction to the Linux kernel

  • Kernel features
  • Understanding the development process
  • Legal constraints with device drivers
  • Kernel user interface (/proc and /sys)
  • User space device drivers

 

Kernel sources

  • Specifics of Linux kernel development
  • Coding standards
  • Retrieving Linux kernel sources
  • Tour of the Linux kernel sources
  • Kernel source code browsers: cscope, Kscope, Elixir
  • Making searches in the Linux kernel sources: looking for C definitions, for definitions of kernel configuration parameters, and for other kinds of information
  • Using the UNIX command line and then kernel source code browsers

 

Kernel configuration, compiling and booting on NFS

  • Kernel configuration and compilation
  • Generated files
  • Booting the kernel. Kernel booting parameters
  • Mounting a root filesystem on NFS
  • Using the qemu software
  • Configuring, compiling and booting a Linux
  • kernel with NFS boot support

 

Linux kernel modules writing modules in action

  • Linux device drivers
  • A simple module
  • Programming constraints
  • Loading, unloading modules
  • Module dependencies
  • Kernel symbol table
  • Cleanup function
  • Adding sources to the kernel tree
  • Write a kernel module with several capabilities
  • Access kernel internals from your module
  • Set up the environment to compile it

 

Data Types in the Kernel

  • Standard C type
  • Interface Specific Types
  • Linked Lists

 

Linux device model

  • Understand how the kernel is designed to support device drivers
  • The device model
  • Binding devices and drivers
  • Platform devices, Device Tree
  • Interface in user space: /sys
  • Kobjects, Ksets, and Subsystems
  • Low-Level Sysfs Operations
  • Hotplug Event Generation
  • Buses, Devices, and Drivers
  • Classes
  • Dealing with Firmware

Kernel frameworks

  • Block vs. Character devices
  • Useful data structures
  • File and inode Structure
  • Char Device registration
  • Interaction of user space applications with the kernel
  • Details on character devices, file_operations, ioctl(), etc
  • Read and write
  • Exchanging data to/from user space
  • The principle of kernel frameworks

 

Advanced Char Driver Operations

  • Device Control
  • Blocking I/O
  • Sleeping
  • Asynchronous Notification
  • Access Control on a device file

 

Memory management I/O memory and ports

  • Linux: memory management - Physical and
  • Virtual (kernel and user) address space
  • Linux memory management implementation
  • Allocating with kmalloc()
  • Allocating by pages
  • Allocating with vmalloc()
  • Caches
  • Memory Pools
  • Buffers
  • I/O register and memory range registration
  • I/O register and memory access
  • Read / write memory barriers

 

The misc kernel subsystem

  • What the misc kernel subsystem is useful for.
  • API of the misc kernel subsystem, both the kernel side and user space side

 

Time, Delays, Processes, scheduling, sleeping and interrupts sleeping and handling interrupts in a device driver in a real example

  • Time measurement
  • Process management in the Linux kernel
  • Process Specific registers
  • The Linux kernel scheduler and how processes sleep
  • Interrupt handling in device drivers
  • Interrupt handler registration and programming, scheduling deferred work.
  • IRQ Number
  • Interrupt Sharing
  • Interrupt Driven I/O
  • Kernel Timers
  • Delaying Execution
  • Tasklets
  • Workqueues
  • Adding read capability to the character driver developed earlier
  • Register an interrupt handler
  • Waiting for data to be available in the read() file operation
  • Waking up the code when data is available from the device

 

Concurrency and Race Conditions Locking in action

  • Issues with concurrent access to shared resources
  • Locking primitives: mutexes, semaphores, spinlocks
  • Atomic operations
  • Typical locking issues
  • Using the lock validator to identify the sources of locking problems
  • Observe problems due to concurrent accesses to the device
  • Add locking to the driver to fix these issues

 

USB Drivers

  • USB Device Basics
  • Writing a USB Driver
  • probe and disconnect
  • USB Transfers Without Urbs

 

Driver debugging techniques investigating kernel faults in action

  • Debugging with printk
  • Using Debugfs
  • Analyzing a kernel oops
  • Using kgdb, a kernel debugger
  • Using the Magic SysRq commands
  • Studying a broken driver
  • Analyzing a kernel fault message and locating the problem in the source code

 

The Linux kernel development process

  • Organization of the kernel community
  • The release schedule and process: release candidates, stable releases, long-term support, etc
  • Legal aspects, licensing
  • How to submit patches to contribute code to the community

درباره درایور نویسی بیشتر بدانیم:

در این مقاله به این بحث می پردازیم که درایور چیست و پس از آن به پیش نیازها و سخنان پایانی درباره توسعه درایورها در سیستم های مبتنی بر معماری x86 می پردازیم.

 

درایور چیست ؟

درایور به صورت کلی نوعی نرم افزار کاربردی است که یک دستگاه سخت افزاری خاص را کنترل می کند و دستگاه های سخت افزاری مختلف را برای ارتباط با سیستم عامل قادر می سازد. یکی از اهداف سیستم عامل این است که ویژگی دستگاه های سخت افزاری سیستم و پیچیدگی آنها را از کاربران خود پنهان کند.  درایور برای یک سیستم کامپیوتری بسیار ضروری است زیرا اگر سخت افزار ما درایور لازم را نداشته باشد، در انجام یک عملکرد که برای آن ایجاد شده است شکست می خورد.

یکی از هزاران فواید سیستم عامل های متن باز مثل لینوکس این است که محتوا و درون آن برای همه قابل مشاهده است. زمانی سیستم عامل ها یک منطقه تاریک و مرموز بودند که کد آن به تعداد کمی از برنامه نویسان محدود می شد، اکنون سیستم عاملی مثل لینوکس می تواند به راحتی توسط هر کسی که مهارت های لازم را داشته باشد بررسی، درک و اصلاح شود. لینوکس به دموکراتیک کردن سیستم عامل ها کمک کرده است.

درایورهای سیستم عاملی مثل لینوکس نقش ویژه ای در هسته دارند. آنها نرم افزار های متمایزی هستند که باعث می شوند یک قطعه سخت افزاری خاص به یک رابط دیگر پاسخ دهد.

آنها به طور کامل جزئیات نحوه عملکرد سخت افزار را پنهان می کنند. فعالیت های کاربر با استفاده از مجموعه ای از رویداد ها یا وقفه های استاندارد انجام می شود که مستقل از درایور هستند. نگاشت و ارتباط بین آن وقفه ها به عملیات های خاصی که توسط آن سخت افزار می تواند انجام شود، نقشی است که  درایور بازی می کند.

اصولا دو رویکرد اساسی در نوشتن هسته یک سیستم عامل وجود دارد. یک رویکرد این است که هسته سیستم عامل را به صورت Monolithic یا یکپارچه طراحی کنیم. یعنی یک کرنل حجیم خواهیم داشت که تمامی قابلیت ها را در خودش دارد. مشکل این روش این است که کرنل ما دیگر ماژولار نیست یعنی همه چیز به صورت یکپارچه و در بسته نوشته شده و کاربر نمی تواند قابلیتی را خاموش یا روشن کند. با سیستم عامل های امروزی اگر بخواهید می توانید کاری کنید که قابلیت بلوتوث در زمان بوت شدن سیستم بر روی کرنل سوار نشود. به سادگی چند کامند این کار قابل انجام است اما اگر سیستم کرنل ما یکپارچه نوشته می شد دیگر نمی توانستیم به همین سادگی این کار را بکنیم. پس کرنل یکپارچه مزیت ماژولار بودن قابلیت ها را از ما می گرفت. به علاوه وقتی کرنل ماژولار نوشته نشده باشد، به سختی می توان قابلیتی به آن اضافه کرد. امروزه شما اگر در سازمانتان نیاز به یک درایور را حس کردید می توانید خودتان دست به کار شوید و با استفاده از رابطی که کرنل به شما داده است و درگاه) interface ) ای که به روی شما باز کرده، ماژولی که خودتان توسعه دادید را روی کرنل سوار کنید. مشکل دیگر کرنل های یکپارچه این است که حجم بسیار زیادی خواهند داشت، اگر بر روی سیستم لینوکسی خود حجم کرنل را مشاهده کنید خواهید دید حجم کرنل کم است، در صورتی که اگر کرنل شما یکپارچه بود حجم کرنلی که داشتید بسیار حجیم تر بود. از همه مهم تر ممکن است در کرنل شما برای یک قابلیت یا کار باگی وجود داشته باشد عملا انگار کل کرنل دچار باگ بود. این کار اساسا فقط یک خوبی داشت و آن هم سرعت بیشتر بود چون همه چیز یک پارچه و در یک جا load می شد. کرنل های امروزی به صورت ماژولار طراحی شده اند. یعنی در زمان بوت شدن سیستم، دست ما باز است که چه قابلیت هایی را به کرنل اضافه کنیم و دروازه ای برای ما فراهم شده است تا قابلیت های کرنل را کم و زیاد کنیم و بر روی ماژول هایمان مدیریت داشته باشیم. ماژول ها دقیقا همان درایورها هستند. درایورها را می توان جدا از بقیه هسته توسعه داد و در صورت نیاز در زمان اجرا به سیستم عامل اضافه کرد. این ماژولار بودن، طراحی درایورهای لینوکس را آسان می کند، تا جایی که اکنون صدها مورد از آنها در دسترس است.

دلایل زیادی برای توصیه و اهمیت نوشتن درایورهای لینوکس وجود دارد. با سرعتی که سخت افزارهای جدید تولید می شوند (و منسوخ می شود!) به تنهایی تضمین می کند که طراحان و برنامه نویسان درایور برای آینده چقدر برای شرکت ها پرکاربرد هستند. همین طور ممکن است افراد برای دسترسی به دستگاه خاصی که خودشان طراحی کرده اند، نیاز به دانستن در مورد درایورها و برنامه نویسی آن داشته باشند.

فروشندگان سخت افزار، با در دسترس قرار دادن درایور لینوکس برای محصولات خود، می توانند پایگاه بزرگ و رو به رشد لینوکس را به بازارهای بالقوه خود اضافه کنند. ماهیت متن باز بودن سیستم عامل لینوکس به این معنی است که اگر درایور نویس بخواهد، منبع را می توان به سرعت برای میلیون ها کاربر منتشر کرد. به علاوه این حوزه، حوزه ای است که افراد متخصص در آن کم است و به سرعت می توانید با رشد دانش خود در جایگاه شغلی پیشرفت کنید و از رقبای خود سبقت بگیرید.

در این دوره همانطور که نوشتن درایورها را یاد می گیرید، به طور کلی چیزهای زیادی در مورد هسته لینوکس یاد می گیرید. این به شما کمک می کند تا بفهمید دستگاه شما چگونه کار می کند و چرا همه چیز آنطور که انتظار دارید سریع نیست یا آن چیزی را که می خواهید انجام نمی دهد. دانش عمقی از هسته سیستم عامل خیلی مهم است و شما را از دیگران متمایز می کند چرا که هر چقدر بیشتر و بهتر هسته را بشناسید می توانید برنامه های خیلی بهینه تر و پیچیده تری را طراحی کنید. برنامه نویسی درایور برای لینوکس نیاز به درک عمیق سیستم عامل و عملکرد کرنل دارد که بخشی از هدف این دوره آشنایی با کرنل است.

هسته یا کرنل لینوکس یک مجموعه بزرگ و پیچیده از کد است و هکرهای کرنل به یک نقطه ورود نیاز دارند تا بتوانند بدون اینکه تحت تأثیر پیچیدگی قرار بگیرند، به کد نزدیک شوند. اغلب درایورهای دستگاه آن دروازه را فراهم می کنند. پس باید در درایوری که می نویسید به خیلی از پارامتر ها توجه داشته باشید و کار را اصولی جلو ببرید.

 

نقش Device Driver ها و خصوصیات آنها:

به عنوان یک برنامه نویس، می توانید انتخاب های خود را در مورد درایور انجام دهید. اگرچه ممکن است عجیب باشد که بگوییم یک درایور "انعطاف پذیر" است، اما ما این کلمه را دوست داریم زیرا تأکید می کند که نقش یک درایور دستگاه ارائه مکانیسم است، نه خط مشی یا policy.

تمایز بین مکانیسم و سیاست یکی از بهترین ایده های طراحی یونیکس است. اکثر مشکلات برنامه نویسی را می توان به دو بخش تقسیم کرد: «چه قابلیت هایی باید ارائه شود» (مکانیسم) و «چگونه می توان از آن قابلیت ها استفاده کرد» (سیاست). اگر این دو موضوع توسط بخش‌های مختلف برنامه مورد توجه قرار گیرد و از هم تفکیک شود، توسعه نرم‌افزار و سازگاری آن با نیازهای ما بسیار آسان‌تر است.

به عنوان مثال، مدیریت نمایشگر گرافیکی در لینوکس توسط X Server و Window Manager انجام می شود. X Server درایوری است که سخت‌افزار را می‌شناسد و یک رابط یکپارچه به برنامه‌های کاربر برای محیط های گرافیکی ارائه می‌دهد، Window Manager سیاست خاصی را بدون اطلاع از سخت‌افزار اجرا می‌کند و پنجره ها را مدیریت می کند. کاربران می توانند از یک Window Manager بر روی سخت افزارهای مختلف استفاده کنند و کاربران مختلف می توانند پیکربندی های متفاوتی را اجرا کنند.

 

2021 12 21 13 36 44

 

یا مثلا درایور فلاپی هیچ خطی مشی یا policy را مشخص نمی کند بلکه نقش آن فقط نشان دادن دیسک به عنوان یک آرایه به هم پیوسته از بلوک های داده است. این کار سطوح بالاتر سیستم  است که خط‌مشی‌ها را مشخص کنند، مانند اینکه چه کسی می‌تواند به درایو فلاپی دسترسی داشته باشد یا اینکه آیا درایو مستقیماً قابل دسترسی باشد یا از طریق یک فایل سیستم قابل دسترسی است. از آنجایی که محیط‌های مختلف معمولاً نیاز به استفاده از سخت‌افزار به روش‌های مختلف دارند، مهم است که تا حد امکان درایور ما اصطلاحا policy free باشد یعنی محدودیت یا خطی مشی نداشته باشد و به سطوح بالاتر این اجازه داده شود در این بخش کار کنند.این کار و این جدا سازی باعث می شود توسعه نرم افزار ساده تر شود.

درایور ها به صورت کلی در دو مد کرنل و کاربر قابل دسته بندی هستند. در حالت هسته، کد اجرا کننده دسترسی کامل و نامحدود به سخت افزار دارد و می تواند هر دستوری را روی CPU اجرا کند و به هر آدرس حافظه ارجاع دهد. حالت هسته عموماً برای پایین ترین سطح و قابل اعتمادترین عملکردهای سیستم عامل رزرو شده است. عدم دقت در کدنویسی در این لایه می تواند مشکل ساز باشد و فرد باید در این کار ماهر باشد. اما در مد کاربر، کد اجرا کننده توانایی دسترسی مستقیم به سخت افزار یا حافظه مرجع را ندارد. در حالت کاربر  باید به APIهای سیستم و لایه های پایین تر برای دسترسی به سخت افزار یا حافظه مراجعه شود. به دلیل محافظتی که این نوع جداسازی ایجاد می کند، خرابی ها در حالت کاربر بیش تر قابل بازیابی هستند. اکثر کدهای در حال اجرا بر روی کامپیوتر شما در حالت کاربر است.

در این دوره هدف بر آن است تا دانشجو را با تهیه و راه اندازی درایور ها در محیط لینوکس آشنا کند. همین طور دانشجویان با دو مد یعنی کاربر و هسته آشنایی پیدا خواهند کرد و می توانند بر اساس نیاز خود درایور لازم را بر روی یک لب تاپ یا هر سیستمی که embedded  نباشد طراحی کنند. ( معماری x86 )

 

پیش نیاز این دوره چیست ؟

پیش نیاز این دوره اول آشنایی خوب با زبان C است. زبان C یکی از پایه ای ترین زبان ها برای توسعه کرنل و درایور هاست. قلب سیستم یا همان کرنل با این زبان نوشته شده است و طراحی شده پس عملا در این دوره نیاز دارید که به این زبان مسلط باشید.

اگر به این حوزه علاقمندید پیشنهاد ما این است که وقت را تلف نکنید و از همین الان شروع کنید و در این حوزه جالب و کاربردی قدم بردارید تا از خود یک متخصص بسازید.

سوالات رایج به نحوه شرکت در دوره ها:

 

چه کسانی نیاز دارند این دوره را بگذرانند؟

این دوره مخصوص کسانی است که می خواهند سخت افزارها و Device Driver ها را توسعه دهند.

 

برای شرکت در این دوره چه پیش نیازهایی باید داشته باشیم؟

دانش در سطح دوره Developing Applications For Linux نیاز است.

 

با گذراندن این دوره در چه حوزه هایی می توانم وارد شوم؟

شما با یادگیری این دوره می توانید در حوزه هایی توسعه نرم افزار و سخت افزار و IOT وارد شوید.

 

دوره های خانه لینوکس حضوری هست یا آنلاین؟

دوره های خانه لینوکس هم به صورت آنلاین و هم به صورت حضوری برگزار می گردند که از هنگام شیوع بیماری کرونا اکثر دوره ها بصورت آنلاین و با کیفیت عالی برگزار می گردند. نحوه برگزاری هر دوره قبل از شروع دوره، در وبسایت مجموعه اعلام می گردد.

 

آیا امکان شرکت در دوره ها از خارج از ایران امکان پذیر هست؟

بله، امکان شرکت از هرجای دنیا در دوره های آنلاین خانه لینوکس وجود دارد.

 

سامانه آموزش آنلاین مجموعه چیست؟

سامانه آموزش آنلاین خانه لینوکس نرم افزارهای توسعه داده شده مبتنی بر پروژه متن باز bigbluebutton  Moodle +می باشد که بر روی بستر امن و قدرتمند لینوکس میزبانی شده است و هر امکانی که در سامانه های آموزش آنلاین رایج وجود دارد را در بالاترین کیفیت ارائه می دهد و همچنین یه انقلابی را از لحاظ کیفیت و قدرت استفاده از امکانات، در صنعت آموزش آنلاین بوجود آورده است.

 

آیا کیفیت دوره های آنلاین به اندازه دوره های حضوری هست؟

بی شک می توان گفت با توجه به سامانه نرم افزاری مورد استفاده در دوره های آنلاین آنیسا و میزبانی بر روی بستر لینوکس و پشتیبانی قدرتمند و وجود امکاناتی چون مشاهده ویدیوهای کلاس بعد از تشکیل کلاس و وجود همه نوع امکانات ارتباطی در بالاترین کیفیت، دوره های آنلاین کیفیتی کم از دوره های حضوری نداشته و معمولا با شرکت در دوره های آنلاین آنیسا، دشمنان دوره های آنلاین به طرفداران پروپاقرص این نوع از دوره های آموزشی تبدیل شده اند.

 

دوره ها به چه زبانی برگزار می گردند؟

دوره ها بصورت پیش فرض به زبان فارسی برگزار می گردند و درصورت نیاز می توان برخی دوره ها را بصورت خصوصی یا سازمانی به زبان انگلیسی برگزار کرد.

 

آیا می توانم همزمان در دو یا چند دوره آموزشی شرکت نماییم؟

در صورتی که یکی از این دوره ها آنلاین باشد، بله می توان. البته در صورت شرکت در دوره بصورت آفلاین، کسب مدرک به شرط قبولی در آزمون پایان دوره می باشد.

 

آیا امکان پرسش و پاسخ در کلاس آنلاین وجود دارد؟

بله شما در طول کلاس می توانید بصورت صوتی و یا تصویری، یا بصورت چت و حتی با به اشتراک گذاری تصویر صفحه کامپیوترتان در سامانهLMS ، به راحتی سوالات خود را بپرسید و استاد محترم مشکلات شما را در طول دوره به بهترین نحو حل می نماید.

 

آیا مدرس دوره تجربه عملیاتی مناسبی در حوزه مربوطه دارد؟

بله، مدرسان مجموعه آنیسا متخصصین و مدرسین برتر و مرجع حوزه تخصصی که آموزش می دهند با تجربه بالا در محیط ها کاری و عملیاتی هستند و غیر از دانش، بینش و تجربه را بصورت کاملا عملیاتی به دانشجویان منتقل می نمایند. قابل ذکر است که دوره های خانه لینوکس در بالاترین سطح علمی و عملی در دنیا ارائه می گردد.

 

آیا می توانیم قبل از شرکت در دوره تعیین سطح و مشاوره داشته باشیم؟

بله شما می توانید با تماس با مجموعه و مشاوره کاملا صادقانه و رایگان به منظور جلوگیری از طوفان مغزی در انتخاب مسیر، مشاوره و تعیین سطح شوید.

 

امکان شرکت در کلاس ها بصورت آفلاین وجود دارد؟

شما باید دوره های مجازی (آنلاین) را ثبت نام نمایید، اما می توانید با توجه به وجود مشغله کاری، یا اختلاف ساعت محل زندگی تان، دوره را در طول زمان برگزاری بصورت آفلاین ملاحظه بفرمایید. البته در صورت شرکت در دوره بصورت آفلاین، کسب مدرک منوط به قبولی در آزمون پایان دوره است.

 

ساعت برگزاری دوره ها به چه صورت است؟

معمولا زمان برگزاری دوره های در طول هفته، در بعد از ظهر ها و دوره های آخر هفته صبح ها و یا بعد از ظهر ها می باشند. لطفا برای اطلاع دقیق از ساعت برگزاری هر دوره به تقویم آموزشی مراجعه فرمایید.

 

آیا تعداد ساعت دوره های حضوری و آنلاین با یکدیگر متفاوت است؟

خیر، کاملا یکسان است.

 

سوالات رایج آزمون ها و مدارک:

 

آیا پس از دوره مدرک معتبر دریافت می کنم یا باید در آزمون های بین المللی شرکت کنم؟

پس از شرکت در هر دوره، در صورت اجرای تمرینات دوره و قبولی در آزمون های دوره، مدرک فناوران آنیسا - خانه لینوکس برای شما صادر می گردد که به دلیل سطح دانش کسب شده توسط دانشجویان، در اکثر شرکت های بزرگ دنیا از اعتبار بالایی برخوردار است.

در حوزه لینوکس، در صورت نیاز، دانشجویان می توانند جداگانه در ازمون های بین المللی موسسه LPI شرکت نمایند و پس از قبولی مدرک موسسه LPI را اخذ نمایند.

 

آیا مدرک خانه لینوکس قابل ترجمه هست؟

مدرک خانه لینوکس به زبان انگلیسی صادر می گردد و نیازی به ترجمه در هنگام پروسه مهاجرت یا همکاری با شرکت های خارجی نیست.

 

آیا می توانم بدون شرکت در دوره آموزشی در آزمون بین المللی شرکت کنم؟

بله، در صورت آمادگی برای شرکت در آزمون های بین المللی لینوکس، این امکان وجود دارد.

 

آزمون های بین المللی به چه زبانی برگزار می شوند؟

این آزمون ها در ایران به زبان انگلیسی برگزار می گردند.

 

چگونه داوطلبان می توانند صحت مدارک خود را به کارفرمایان اثبات کنند؟

کارفرمایان می توانند جهت آگاهی از وضعیت گواهینامه شما، با ارائه شماره سریال مدرک موسسه در وبسایت موسسه، مدارک خانه لینوکس را استعلام نمایند.

 

آزمون پایان دوره به چه صورت است؟

این آزمون به صورت آنلاین در سامانه LMS مجموعه برگزار می گردد. اجرای تمارین کلاسی و تاییدیه مدرس جهت صدور مدرک نیاز است.

 

سوالات عمومی:

 

آیا من می توانم ویدیوی دوره را ضبط کنم؟

خیر، به منظور حفظ حق مالکیت معنوی موسسه (البته با لطف و حمایت دانش پژوهان محترم خانه لینوکس)، دوره های آنلاین توسط موسسه ضبط می گردند و تا دو ماه در دسترس کامل دانشجو برای تمرین و یادآوری در سامانه آموزش مجازی در دسترس هستند اما ضبط و انتشار ویدیوهای کلاس توسط دانشجو غیر قانونی است.

 

چه نیازمندی های سخت افزاری برای برگزاری این کلاس به صورت آنلاین نیاز هست؟

داشتن یک سیستم با حدود 30 گیگ هارد خالی و حداقل 8 گیگ مموری و حداقل cpu در سطح core i3 نیازمندی شرکت در این دوره هست. در دوره های حضوری مجموعه به هر دانشجو یک سیستم مجزا تخصیص داده می شود. دسترسی به اینترنت نیز برای کلاس های آنلاین، نیاز است.

 

آیا من پشتیبانی رو در طول دوره دارم؟

بله شما در طول دوره پشتیبانی مجموعه و مدرس را دارید.

 

آیا امکان پیشنهاد کار از سمت موسسه به دانشجویان وجود دارد؟

بله، بدین منظور موسسه همواره آگهی های شغلی سازمان های همکار را در شبکه های اجتماعی منتشر می کند و با کسب دانش و تخصص، دانشجویان توانسته اند در بهترین شرکت ها و سازمان های داخلی و خارجی جمله Dell، Cisco، MTN، Amazon و حتی NASA مشغول به کار شوند.

 

آیا کلاس را می توانم بصورت خصوصی و یا اختصاصی برای سازمان برگزار کنم؟

بله امکان شرکت بصورت دوره خصوصی یا سفارشی شده برای سازمانها وجود دارد.

 

آیا مسیر آموزشی مشخصی برای ادامه کسب تخصص وجود دارد؟

بله، حرفه ای ترین مسیر آموزش نتیجه سال ها تجربه و آموزش حرفه ای در صنعت و همچنین نتیجه اتاق فکر اساتید آنیسا بصورت یک Roadmap جامع در حوزه های مدیریت سیستم های لینوکس، توسعه نرم افزار، DevOps، IOT، Data Science، شبکه و DevNet و همچنین زیرساخت به دانشجویان ارائه می گردد.

 

تا چه مدت به دوره دسترسی دارم؟

در دوره های آنلاین، تا دو ماه پس از اتمام دوره، ویدیوهای دوره قابل بازدید در سامانه آموزش آنلاین است.

 

سوالات رایج ثبت نام و پرداخت:

 

آیا امکان پرداخت هزینه دوره بصورت اقساط وجود دارد؟

بله خوشبختانه، این امکان وجود دارد.

 

آیا تخفیفی برای شرکت در دوره ها وجود دارد؟

بله تخفیفات دائمی چون تخفیف گروهی، دوره های همزمان، تخفیف معرفی و تخفیفات مناسبتی وجود دارد.

 

گروه سنی مخاطب دوره ها چیست؟

مخاطب دوره های تخصصی آنیسا معمولا جوانان و بزرگ سالان متخصص هستند اما دوره های مجزایی برای رده سنی نوجوانان و کودکان وجود دارد.

 

چگونه می توانم برای شرکت در دوره ثبت نام کنم؟

کافی است برای شروع در قسمت پیش ثبت نام، پیش ثبت نام را انجام داده و منتظر تماس همکاران ما باشید که در اسرع وقت و در ساعات اداری با شما تماس خواهند گرفت و شما را در ادامه پروسه ثبت نام همراهی می نمایند.

 

آیا رعایت پیش نیاز ها واجب است؟

بله، رعایت پیش نیاز های رسمی دوره بسیار مهم هستند، و عملا بدون رعایت آنها امکان بهره وری از دوره وجود ندارد.

 

من دانش آموزم آیا می توانم در دوره ها شرکت کنم؟

بله، با مشاوره و سنجش دانش شما در حوزه IT امکان شرکت در دوره مناسب سن و دانش شما وجود دارد.

 

EN / FA

فناوران آنیسا

تهران، میدان آرژانتین، خ وزرا، کوچه هشتم، یحیوی، پلاک ۴

 اطلاعات تماس:

  • 021-88716168
  • 021-88712172
  • 0910-8555111

info @ anisa.co.ir

© فناوران آنیسا | تمامی حقوق این سایت تحت مجوز GFDL برای فناوران آنیسا محفوظ است.
design by www.digitaldesign.ir