91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 11KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-06
  • 語言: 其他
  • 標簽: 系統監視??

資源簡介

華中科技大學操作系統課程設計專用,內含5個部分: 1.1 利用系統調用實現文件拷貝(含代碼和makefile) 1.2 多進程編程,實現三個子進程窗口(含代碼和makefile) 2 自己的系統調用,只有系統調用實現的代碼,系統調用需要自己編譯內核 3 字符設備驅動的編寫(含代碼和makefile) 4 GTK編寫系統監視器,可以監測系統很多方面(含代碼和makefile) 5 虛擬文件系統(實現的比較簡單)(含代碼和makefile) 說明:GTK實現的系統監視器,功能如下: 1.CPU各種信息,包括物理信息以及CPU利用率繪圖 2.內存各種信息,包括利用率,內存使用率繪圖等 3.進程信息,可以殺死進程,查看進程,以及運行新進程,同時可以查看進程詳細信息 4.系統信息,關于系統的信息,如系統版本等 5.時間計時,開機時間以及運行時間計算,還有各種小功能 6.總代碼量在1050行多一點

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

#include?“MenuBar.h“
#include?“CPUinfo.h“
#include?“Meminfo.h“
#include?“Processinfo.h“
#include?“Sysinfo.h“


//Create?the?main?version?window
void?CreateVersion(GtkWidget?*vbox);

void?CreatePageFour(GtkWidget?*notebook);
gint?refresh_clock(gpointer?data);


GtkWidget?*statusbar;

int?main(int?argc?char*?argv[])
{
GtkWidget?*window?*main_vbox;
gtk_init(&argc?&argv);

window?=?gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window)?“System?monitor“);
gtk_window_set_default_size(GTK_WINDOW(window)?800?600);
gtk_window_set_position(GTK_WINDOW(window)?GTK_WIN_POS_CENTER);
gtk_widget_show(window);
g_signal_connect(G_object(window)“destroy“G_CALLBACK(gtk_main_quit)NULL);

main_vbox?=?gtk_vbox_new(FALSE?10);
gtk_container_set_border_width(GTK_CONTAINER(main_vbox)?5);
gtk_container_add(GTK_CONTAINER(window)?main_vbox);
gtk_widget_show(main_vbox);

//Create?menubar
CreateMenuBar(main_vbox);
CreateVersion(main_vbox);

gtk_timeout_add(500?refresh_cpu?NULL);
gtk_timeout_add(500?refresh_mm?NULL);
gtk_timeout_add(500?refresh_swap?NULL);
gtk_widget_show_all(window);
gtk_main();
}

//Create?the?main?version?window
void?CreateVersion(GtkWidget?*vbox)
{
GtkWidget?*notebook;
gint?context_id;
notebook?=?gtk_notebook_new();
gtk_notebook_set_tab_pos((GtkNotebook?*)notebook?GTK_POS_TOP);
gtk_notebook_set_show_border((GtkNotebook?*)?notebook?FALSE);
gtk_box_pack_start(GTK_BOX(vbox)?notebook?TRUE?TRUE?0);
gtk_widget_show(notebook);
statusbar?=?gtk_statusbar_new();
gtk_box_pack_start(GTK_BOX(vbox)?statusbar?TRUE?TRUE?0);
gtk_widget_show(statusbar);
context_id?=?gtk_statusbar_get_context_id(GTK_STATUSBAR(statusbar)?“Timestatus“);
gtk_timeout_add(1000?refresh_clock?GINT_TO_POINTER(context_id));
refresh_clock(GINT_TO_POINTER(context_id));

CreatePageOne(notebook);
CreatePageTwo(notebook);
CreatePageThree(notebook);
//?CreatePageFour(notebook);
CreatePageFive(notebook);

gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook)?1);

}


void?CreatePageFour(GtkWidget?*notebook)
{
GtkWidget?*label?*vbox?*frame;

frame?=?gtk_frame_new(““);
gtk_container_set_border_width(GTK_CONTAINER(frame)?10);
gtk_widget_show(frame);

gtk_notebook_append_page(GTK_NOTEBOOK(notebook)?frame?gtk_label_new(“Page4“));
}

gint?refresh_clock(gpointer?data)
{
//GtkWidget?*stbar?=?data;
time_t?t;
t=time(NULL);
char?msg[1000]?temp[100];
char?*buf?*p;
buf?=?ctime(&t);
//there?are?some?
p?=?strtok(buf?“\n“);

strcpy(msg?buf);
//strcat(msg?“????????CPU?used?:“);
sprintf(temp?“?????????????????????CPU?used:?%2.2lf%%“?cpu_rate?*?100);
strcat(msg?temp);
sprintf(temp?“?????????????????????Memory?used:?%2.2lf%

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????6552??2015-03-12?23:29??4-mymonitor\CPUinfo.h

?????文件???????3204??2015-03-10?18:57??4-mymonitor\main.c

?????文件?????????96??2015-03-12?19:41??4-mymonitor\makefile

?????文件???????7742??2015-03-12?23:38??4-mymonitor\Meminfo.h

?????文件???????2374??2015-03-12?23:33??4-mymonitor\MenuBar.h

?????文件?????????31??2015-03-12?23:52??4-mymonitor\path

?????文件???????6984??2015-03-13?08:03??4-mymonitor\Processinfo.h

?????文件???????3783??2015-03-13?01:06??4-mymonitor\Sysinfo.h

?????目錄??????????0??2015-04-14?17:26??4-mymonitor

-----------?---------??----------?-----??----

????????????????30766????????????????????9


評論

共有 條評論