درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من
    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      امین سالم
      امتیاز: 6900
      رتبه:79
      0
      25
      5
      55
      فارغ التحصیل رشته سخت افزار دانشگاه شاهد هستم ، بیشتر فعالیتی که در حوزه شبکه داشته ام در حوزه زیرساخت های ارتباطی سیسکو و مایکروسافت بوده است ، دوره های CISCO(CCNA_CCNP) و MCSE را در مجتمع فنی تهران شعبه ابن سینا سپری کرده ام ، در حوزه رباتیک دارای عناوین مختلف کشوری در مسابقات داخلی هستم و علاقه مند به کارهای عملی در حوزه شبکه می باشد ، در این راستا در چندین شرکت بصورت پروژه ای و کارآموزی پروژه هایی در حوزه زیرساختی ، مایکروسافتی و VOIP را نیز انجام داده ام ، بصورت کلی دستی در برنامه نویسی و ابزارهای امنیتی هم دارم اما بیشتر هدفم داشتن ثبات کاری و ورود به دنیای واقعی کار است. در حوزه برنامه نویسی با زبان python فعالیت داشته ام و پروژه هایی به صورت فریلنسر انجام داده ام. بعنوان کاربر فعال و نویسنده بیش از ده ها مطلب تخصصی در حوزه فناوری اطلاعات در انجمن تخصصی فناوری اطلاعات ایران نیز به ثبت رسانده ام. و در نهایت علاقه مند به دنیای لینوکس و متن باز , دانش اطلاعات و یادگیری ماشین هستم و هر روز سخت در تلاش برای یادگیری مطالب بیشتر میباشم. پروفایل کاربر
      دوره های مرتبط
      دوره های توسینسو دوره آموزشی بین المللی لینوکس LPIC1 کد 101
      دوره آموزشی بین المللی لینوکس LPIC1 کد 101
      مدرس: محمد نصیری
      این دوره را در 18 قسط خریداری کنید
      دوره آموزشی راه اندازی سرویس های تحت شبکه در لینوکس CentOS
      دوره آموزشی راه اندازی سرویس های تحت شبکه در لینوکس CentOS
      مدرس: آرش حیدری
      این دوره را در 12 قسط خریداری کنید
      دوره آموزشی راه اندازی ایمیل سرور iRedMail در OpenBSD
      دوره آموزشی راه اندازی ایمیل سرور iRedMail در OpenBSD
      مدرس: محمد عابدینی
      این دوره را در 2 قسط خریداری کنید
      دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell
      دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell
      مدرس: محمد عابدینی
      این دوره را در 19 قسط خریداری کنید
      دوره آموزشی مقدماتی BASH Scripting در لینوکس
      دوره آموزشی مقدماتی BASH Scripting در لینوکس
      مدرس: مجتبی اسمائی
      این دوره را در 10 قسط خریداری کنید
      دوره اموزشي فوق تخصصي  سيستم عامل لينوكس RHCSA  قسمت اول
      دوره اموزشي فوق تخصصي سيستم عامل لينوكس RHCSA قسمت اول
      مدرس: علیرضا سیفی و هومن برازنده
      این دوره را در 10 قسط خریداری کنید
      دوره آموزشی Linux Essentials = دریچه ورود شما به دنیای لینوکس
      دوره آموزشی Linux Essentials = دریچه ورود شما به دنیای لینوکس
      مدرس: محمد نصیری
      این دوره را در 17 قسط خریداری کنید
      آموزش نصب سیستم عامل اندروید روی کامپیوترهای شخصی با Android PC
      آموزش نصب سیستم عامل اندروید روی کامپیوترهای شخصی با Android PC
      مدرس: محمد عابدینی
      این دوره را در 1 قسط خریداری کنید
      دوره آموزشی بین المللی لینوکس LPIC1 کد 102
      دوره آموزشی بین المللی لینوکس LPIC1 کد 102
      مدرس: محمد نصیری
      این دوره را در 16 قسط خریداری کنید
      دوره آموزشی رایگان نصب انواع لینوکس بصورت عادی و Dual Boot
      دوره آموزشی رایگان نصب انواع لینوکس بصورت عادی و Dual Boot
      مدرس: محمد عابدینی
      این دوره را در 4 قسط خریداری کنید
      دوره آموزشی بین المللی لینوکس LPIC2 کد 201
      دوره آموزشی بین المللی لینوکس LPIC2 کد 201
      مدرس: محمد نصیری
      این دوره را در 27 قسط خریداری کنید
      دوره آموزشی بین المللی لینوکس LPIC 303 کد 328
      دوره آموزشی بین المللی لینوکس LPIC 303 کد 328
      مدرس: محمد عابدینی
      این دوره را در 18 قسط خریداری کنید
      دوره آموزشی جامع CentOS Web Panel یا CWP
      دوره آموزشی جامع CentOS Web Panel یا CWP
      مدرس: کاظم تقندیکی
      این دوره را در 10 قسط خریداری کنید
      دوره آموزشی بین المللی لینوکس LPIC2 کد 202
      دوره آموزشی بین المللی لینوکس LPIC2 کد 202
      مدرس: امیرحسین احمدی
      این دوره را در 29 قسط خریداری کنید
      دوره آموزشی کنترل پنل هاستینگ CWP
      دوره آموزشی کنترل پنل هاستینگ CWP
      مدرس: فربد رستم صولت
      این دوره را در 6 قسط خریداری کنید
      گام به گام تخصصی مدیریت و پیکربندی سرورها با Ansible در لینوکس
      گام به گام تخصصی مدیریت و پیکربندی سرورها با Ansible در لینوکس
      مدرس: مجتبی اسمائی
      این دوره را در 10 قسط خریداری کنید
      تاریخ 10 ماه قبل
      نظرات 0
      بازدیدها 150
      امروز میخوایم بیشتر با HAL لایه ای که با سخت افزارها در ارتباط هستش و در واقع به صورت عامیانه ی خودمون لباس بسیار ساده تر از چیز یکه سخت افزارهای سیستمی ما هستن رو براشون آماده میکنه, آشنا بشیم. خب در قسمت قبلی در مورد ماهیت و کارایی هر کدوم از لایه ها در سطح سیستم عامل صحبت کردیم ولی خب خارج از لایه ی انتزاعی حتما با خودمون باید بگیم این مواردی که گفته شد رو چطوری میشه بهشون دسترسی داشت. در پوشه root دایرکتوری به نام sys داریم که HAL کل اطلاعات خودش رو اونجا نگه میداره. ابتدا با دستور cd sys به پوشه ی sys رفته سپس دستور ls رو برای نشان دادن محتوای این دایرکتوری میزنیم که محتویات زیر رو داخل سیستم خودتون مشاهده خواهید کرد:

      ➜  /sys ls
      block  class  devices   fs          kernel  power
      bus    dev    firmware  hypervisor  module
      

      برای نمونه دایرکتوری block, بلوک های سیستمی که اغلب هاردها یا فضاهای ذخیره سازی داخلی یا خارجی سیستم هستن رو نشون میده. این فضاها میتونن هارد داخلی, خارجی, USB ها و Logical Volume هایی باشند که موقع نصب یا پیکربندی سیستم ایجاد میشوند.

      ➜  /sys cd block 
      ➜  block ls
      dm-0  dm-1  sda  sr0
      

      اگر برای نمونه وارد پوشه ی sda بشیم, این امکانات و مشخصات و تنظیمات رو به من خواهد داد:

      ➜  block cd sda 
      ➜  sda ls
      alignment_offset   events             integrity  sda1  sda7    subsystem
      bdi                events_async       power      sda2  sda8    trace
      capability         events_poll_msecs  queue      sda3  sda9    uevent
      dev                ext_range          range      sda4  size
      device             holders            removable  sda5  slaves
      discard_alignment  inflight           ro         sda6  stat
      

      در کل یک سری اطلاعات به صورت فایل از سخت افزارهای سیستم در اختیار قرار میده و کاری به اسم و مدل سخت افزارهای ما نداره, فقط میگه هارد تو فلان مدله و این امکانات رو در اختیار میذاره. در مورد دایرکتوری مربوط به HAL که اطلاعات سخت افزاری رو نشون میده صحبت کردیم ولی خب لینوکس به باز بودن و قابلیت تغییر مشهوره و چقد خوب میشه اگه بتونیم به بعضی از سخت افزارهامون دسترسی و باهاشون تعامل داشته باشیم.
      در پوشه ی root دایرکتوری به نام proc وجود داره که ما علاوه بر دیدن پروسس های سیستم میتونیم به سخت افزارهامون و اطلاعات کرنل (هسته سیستم عامل) مون به صورت انتزاعی هم دسترسی داشته باشیم(اطلاعاتی رو ازشون بخونیم یا روشون بنویسیم.)

      ➜  ~ cd /proc
      ➜  /proc ls
      1     1326  1505  184   20    30    459   7     832            loadavg
      10    1336  1516  1840  2066  31    46    7010  834            locks
      1032  1339  1547  1849  2067  3190  462   720   9              mdstat
      11    1343  1592  185   2068  32    4641  721   938            meminfo
      110   1348  16    1851  2080  33    47    724   acpi           misc
      111   1351  1606  1853  2082  34    479   726   asound         modules
      112   1357  1611  1869  2090  3466  48    727   buddyinfo      mounts
      1129  1363  1622  1870  21    36    480   74    bus            mtrr
      113   1383  1626  1875  2101  3694  4875  745   cgroups        net
      1130  14    1628  1883  2115  37    49    747   cmdline        pagetypeinfo
      1131  1404  1633  1885  2119  3734  50    748   consoles       partitions
      1133  1405  1636  1886  2122  3778  51    752   cpuinfo        sched_debug
      1134  1412  1673  1887  2126  378   5167  753   crypto         schedstat
      114   1415  1678  1889  2154  38    52    754   devices        scsi
      115   1426  1681  1893  2184  3811  53    755   diskstats      self
      116   1427  1693  1894  22    385   54    756   dma            slabinfo
      117   1434  1698  1895  2212  386   542   758   driver         softirqs
      118   1447  17    1901  2213  387   55    759   execdomains    stat
      1184  1448  1714  1917  2254  388   56    764   fb             swaps
      119   1449  1728  1927  2270  3882  565   769   filesystems    sys
      12    1450  1737  1928  23    389   58    776   fs             sysrq-trigger
      120   1457  1751  1934  24    39    589   785   interrupts     sysvipc
      121   1458  1755  1948  2479  4     59    786   iomem          thread-self
      122   1464  1757  1961  25    40    594   787   ioports        timer_list
      123   1465  1762  1962  2592  4085  6     788   irq            tty
      1264  1468  1764  1974  26    4152  60    789   kallsyms       uptime
      1268  1474  1775  1976  2649  4161  612   790   kcore          version
      1270  1476  1777  1977  27    4241  632   791   keys           vmallocinfo
      1275  1477  1783  1978  28    43    635   8     key-users      vmstat
      1277  1478  18    1979  2812  44    6460  806   kmsg           zoneinfo
      13    1494  182   1980  2822  448   6746  811   kpagecgroup
      130   1498  1822  1983  2840  45    6769  814   kpagecount
      131   15    1829  1984  29    4503  697   823   kpageflags
      1322  1501  1836  2     2978  451   698   830   latency_stats
      

      چون یادگیری ما قرار هست ساده باشه و نمیخوایم با تنظیمات پیچیده جلو بریم به سراغ پوشه ی procsysfs خواهیم رفت و که فایلی با عنوان file_max که حداکثر تعداد باز بودن فایل درون سیستم عامل از طریف یک کاربر را مشخص میکند:

      ➜  fs ls
      aio-max-nr         file-nr           mqueue                protected_hardlinks
      aio-nr             inode-nr          nr_open               protected_symlinks
      binfmt_misc        inode-state       overflowgid           quota
      dentry-state       inotify           overflowuid           suid_dumpable
      dir-notify-enable  lease-break-time  pipe-max-size
      epoll              leases-enable     pipe-user-pages-hard
      file-max           mount-max         pipe-user-pages-soft
      ➜  fs cat file-max 
      385672
      

      که به صورت کاملا Live قابلیت تغییر

      [root@fedora]/proc/sys/fs# echo 100000 > file-max 
      [root@fedora]/proc/sys/fs# cat file-max 
      100000
      

      همچنین در پوشه ی proc به اطلاعات دیگه مثل اطلاعات cpu و ریز جزيیات هر پروسسور خودتون و همچنین اطلاعات حافظه به منظور درک بهتر نسبت به جزییات سیستم خودتون داشته باشید, میتونید با دستور زیر دسترسی پیدا کنید:

      ➜  /proc cat cpuinfo| less
      


      ➜  /proc cat meminfo | less
      

      و همچنین تمام بلوک های حافظه قابل خواندن سیستمی را هم از طریق دستور زیر میتوانیم ببینیم :

      ➜  /proc cat mounts
      

      تنظیمات جالب شبکه ای سطح کرنل سیستم عامل هم داخل پوشه ی procsysnet موجود میباشد, که شما میتونید تنظیمات مربوط به حافظه tcp در سیستم خودتون (tcp-mem) و یا اطلاعات مربوط به پروتکل icmp (دریافت ایمیل) و اطلاعات مربوط به بسته های ip را تغییر دهید. برای نمونه بعد از گرفتن دستور cat ip-forward میتونید مقدار این دستور رو دست خوش تغییر کنید در واقع این فایل به شما میگه که آیا سیستم شما نقض روتر را ایفا میکند و ip ها را از از خود به مسیر دیگری عبور میدهد

      ➜  /proc cd sys/net/ipv4 
      ➜  ipv4 ls
      

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

      امیدوارم امروز اطلاعات خوب و مفیدی رو با هم یاد گرفته باشیم.
      به امید فردای پربار تر کنار همدیگه

      نویسنده : امین سالم
      منبع : TOSINSO
      هرگونه نشر و کپی برداری با ذکر منبع و نام نویسنده و یا بدون ذکر نام منبع به منظور نشر اطلاعات و وسیع تر شدن جامعه لینوکس و متن باز باعث خوشحالی بنده می باشد.
      برچسب ها
      ردیفعنوان
      1HAL ، Dbus و Udev در لینوکس
      2آشنایی بیشتر با HAL
      3شناسایی و تنظیم سخت افزارها
      4تفاوت میان BIOS و UEFI
      دورهمجموعه کل دوره
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      هیچ نظری ارسال نشده است

        برای ارسال نظر ابتدا به سایت وارد شوید