۳۰ روز با Node – روز بیست و ششم: ماژول OS در نود جی اس

13 بهمن 1397
Nodejs-os-module

هنگامی که ما با سیستم‌عامل سرو کار داریم، ماژول OS بسیار می‌تواند برای ما مفید واقع شود. برای دسترسی به این ماژول کافی است از کد زیر استفاده نماییم.

var os = require('os');

()os.cpus

این متد برای زمانی به کار می‌آید که قصد داریم اطلاعات مهمی در مورد cpu و هسته‌های نصب شده بر روی سیستم‌عامل به دست آوریم. دقت کنید که مقدار بازگشتی این متد، یک array است.

به قطعه کد زیر توجه نمایید:

//Name of the file : cpus.js
var os = require('os');
var value =  os.cpus();
console.log("os.cpus() ==> " + JSON.stringify(value) );

تصویر زیر، نتیجه اجرای قطعه کد بالا را به نمایش درآورده است:

os.cpus

به این نکته توجه کنید که در خروجی بالا مقدار nice برابر با صفر شده است زیرا این پارامتر مخصوص به unix است

سیستم‌عامل لینوکس یا یونیکس به منظور اولویت‌بندی Process ها، نرم‌افزاری را در خود دارند تا بتوان اولویت پردازش ها را با توجه به سطح حساسیتشان معین کرد. نرم‌افزاری که برای این کار استفاده می‌شود nice نام دارد، این نرم‌افزار به هر پردازش امتیاز خاصی می‌دهد.

در واقع تصویر بالا، یک خروجی گرفته شده از سیستم‌عامل windows است.

()os.arch

این متد برای ما نوع معماری CPU سیستم‌عامل را برمی­گرداند. مقادیر که از این متد بازمی‌گرداند، عبارت است از: arm '، arm64، ia32، mips، mipsel، ppc، ppc64، s390، s390x، x32، x64 و' x86 '.

دقت کنید که این متد، یک مقدار از نوع String را به عنوان خروجی، باز می گرداند.

قطعه کد زیر را مشاهده بفرمایید:

//Name of the file: arch.js
var os = require('os');
var value =  os.arch();
console.log("os.arch() ==> " + value);

حالا ما می‌توانیم آن را به روش زیر اجرا کنیم:

os.arch

()os.endianness

از این متد برای به دست آوردن نوع به کار رفته Endianness در cpu استفاده می‌شود. بعد از به دست آوردن Endianness، با توجه به آن می‌توان کدهای node.js را کامپایل کرد. (Endianness  به ترتیبِ بایت‌ها در هنگام ذخیره کردن در یک فایل یا انتقال از طریق لینک‌های دیجیتال اشاره می‌کند؛ این مفهوم در دو فرمت Big-endian و Little-endian به کار می‌رود).

مقادیری که این متد بازگشت می‌دهد به شرح زیر است:

  • BE: این مقدار زمانی برگشت داده می‌شود که Endianness بر روی Big-endian تنظیم شده باشد.
  • LE: این مقدار زمانی برگشت داده می‌شود که Endianness بر روی Little-endian تنظیم شده باشد.

در واقع خروجی این متد از نوع String است. شما می‌توانید قطعه کد زیر را به عنوان مثال از این متد مشاهده کنید:

//Name of the file: endianness.js
var os = require('os');
var value =  os.endianness();
console.log("os.endianness() => " + value);

حالا ما می‌توانیم آن را به روش زیر اجرا کنیم:

endianness

()os.freemem

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

//Name of the file: freemem.js
var os = require('os');
var value =  os.freemem();
console.log("os.freemem() => " + value);

ما می‌توانیم قطعه کد بالا را به روش زیر اجرا کنیم:

os.freemem

()os.hostname

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

//Name of the file: hostname.js
var os = require('os');
var value =  os.hostname();
console.log("os.hostname() => " + value);

ما می‌توانیم آن را به روش زیر اجرا کنیم:

os.hostname

()os.homedir

این متد برای دریافت دایرکتوری فعلی کاربر (دقت کنید که دایرکتوری به سلسله مراتب فایل­ها/فولدرها تا یک فایل/فولدر خاص اشاره دارد) مورد استفاده قرار می­گیرد. مقدار بازگشتی این متد، از نوع String است. مثال قطعه کد زیر را مشاهده نمایید.

//Name of the file: homedir.js
var os = require('os');
var value =  os.homedir();
console.log("os.homedir() => " + value);

ما می‌توانیم آن را به روش زیر اجرا کنیم:

os.homedir

()os.platform

این متد برای به دست آوردن نوع پلت فرم سیستم‌عامل تنظیم شده و در هنگام کامپایل کردن node.js، استفاده می‌شود. این متد مقادیر زیر را بازگشت می‌دهد:

  • win32
  • aix
  • freebsd
  • linux
  • openbsd
  • darwin
  • sunos

این متد یک مقدار از نوع String را بر می‌گرداند. به قطعه کد زیر دقت کنید.

//Name of the file: platform.js
var os = require('os');
var value =  os.platform();
console.log("os.platform() => " + value);

ما می‌توانیم آن را به روش زیر اجرا کنیم:

os.platform

توجه داشته باشید که خروجی کد فوق، پلت فرم سیستم‌عامل را در زمان کامپایل node.js تعیین می‌کند.

()os.release

با استفاده از این متد ما می‌توانیم شماره نسخه (ورژن) پلتفرم سیستم‌عامل نصب شده را به دست آوریم. دقت کنید که خروجی متد بالا، مقداری از نوع String دارد. قطعه کد زیر را مشاهده بفرمایید.

//Name of the file: release.js
var os = require('os');
var value =  os.release();
console.log("os.release() => " + value);

ما می‌توانیم آن را به روش زیر اجرا کنیم:

os.release

()os.tmpdir

این متد برای دریافت دایرکتوری پیش‌فرض فایل­های موقت، در سیستم عامل، مورد استفاده قرار می­گیرد. خروجی این متد، یک مقدار از نوع String است. قطعه کد زیر را مشاهده کنید.

//Name of the file: tmpdir.js
var os = require('os');
var value =  os.tmpdir();
console.log("os.tmpdir() => " + value);

ما می‌توانیم آن را به روش زیر اجرا کنیم:

os.tmpdir

()os.totalmem

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

//Name of the file: totalmem.js
var os = require('os');
var value =  os.totalmem();
console.log("os.totalmem() => " + value);

ما می‌توانیم آن را به روش زیر اجرا کنیم:

os.totalmem

()os.uptime

این متد به ما نشان می‌دهد که سیستم‌عامل چند ثانیه پیش به‌روزرسانی شده است. دقت کنید که خروجی این متد، مقداری از نوع Integer دارد. قطعه کد زیر را مشاهده بفرمایید.

//Name of the file: uptime.js
var os = require('os');
var value =  os.uptime();
console.log("os.uptime() => " + value);

ما می‌توانیم آن را به روش زیر اجرا کنیم:

os.uptime

()os.type

این متد نام سیستم‌عامل به صورت Uname برمی‌گرداند و مقادیر که برگشت داده می‌شوند معمولاً نام‌های زیر هستند:

  • Windows_NT: برای ویندوز
  • Linux: برای لینوکس
  • debian: برای سیستم‌عامل MacOS

خروجی این متد، مقداری از نوع String دارد. قطعه کد زیر را مشاهده بفرمایید.

//Name of the file: type.js
var os = require('os');
var value =  os.type();
console.log("os.type() => " + value);

ما می‌توانیم آن را به روش زیر اجرا کنیم:

os.type

خلاصه

در درس 26ام از سلسله دروس 30 روز با نود جی اس، درباره ماژول os که یکی از ماژول‌های node.js است و با آن می‌توان اطلاعات زیادی در مورد سیستم‌عامل مورد استفاده به دست آورد، مطالبی زیادی را آموختیم.

در این قسمت درباره متدهای زیر با ارائه مثال‌های کد نویسی، اطلاعات زیادی را یاد گرفتیم.

  • os.cpus()
  • os.arch()
  • os.endianness()
  • os.freemem()
  • os.hostname()
  • os.homedir()
  • os.platform()
  • os.release()
  • os.tmpdir()
  • os.totalmem()
  • os.uptime()
  • os.type()
نویسنده شوید

دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.