Hệ điều hành Bài tập tuần 6 1 Quản lý bộ nhớ Bài tập 1 : Xem thông tin bộ nhớ 1. Sử dụng top, ps đọc thông tin về kích thước vùng nhớ của 1 tiến trình

Tài liệu tương tự
Chöông 1 (tt.)

Microsoft Word - su_dung_sqlite_voi_php.docx

Hàm và lớp template trong Lập trình hướng đối tượng Hàm và lớp template trong Lập trình hướng đối tượng Bởi: unknown Trong phần này, chúng ta tìm hiểu

PowerPoint Presentation

Lập trình và ngôn ngữ lập trình

Cách tạo User và Thiết kế Database Cách tạo User và Thiết kế Database Bởi: Khoa CNTT ĐHSP KT Hưng Yên Cách tạo một User Database Chúng ta có thể tạo m

Microsoft Word - Khai thac AWS EC2_Web hosting.docx

Template and Exception Template and Exception Bởi: Thanh Hiền Vũ TEMPLATE Trong phần này, chúng ta tìm hiểu về một trong các đặc tính còn lại của C++,

PowerPoint Template

Chương 1. Các khái niệm cơ sở

Lớp và đối tượng-các hàm và các lớp friend Lớp và đối tượng-các hàm và các lớp friend Bởi: Thanh Hiền Vũ CÁC HÀM VÀ CÁC LỚP friend Một hàm friend của

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 11. Tệp tin Nội dung 1. Khái niệm cơ bản 2. Các thao tá

Lkgjlfjq?etyuiiofjkfjlsfjkslddghdgertt

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

Microsoft Word - danh-sach-lien-ket-doi-trong-c.docx

Chương 1:

Microsoft Word - Listen to Your Elders-2 Stories.docx

Kiến trúc tập lệnh1

Slide 1

Hướng dẫn cụ thể từng bước để đăng ký sử dụng Đơn đăng ký không tín chỉ sau đó ghi danh vào các lớp không tín chỉ. 1 tháng Sáu, 2018 Các sinh viên dự

06-BGP.ppt

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 5. Kiểu dữ liệu và biểu thức trong C Nội dung 1. Các ki

Chiến lược kiểm thử Chiến lược kiểm thử Bởi: Khoa CNTT ĐHSP KT Hưng Yên Các công đoạn kiểm thử Quá trình kiểm thử có thể chia làm các giai đoạn : Kiểm

Microsoft Word - Huong dan cau hinh mikrotik - Viet Tuan UNIFI.vn

PowerPoint Presentation

XJ-UT311WN_XJ-UT351WN

FAQs Những câu hỏi thường gặp 1. What is the Spend Based Rewards program for Visa Vietnam? The Spend Based Rewards program for Visa Vietnam is a servi

Microsoft Word - server_response_trong_servlet.docx

Slide 1

Slide 1

Những cơ sở của ngôn ngữ C# Những cơ sở của ngôn ngữ C# Bởi: phamvanviet truonglapvy Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệ

Bài 7. Con trỏ Mục tiêu: 1. Luyện tập sử dụng con trỏ và địa chỉ của các biến 2. Sử dụng con trỏ khi thao tác với mảng. Giới hạn: không dùng các thư v

Hệ điều hành UNIX Hệ điều hành UNIX Bởi: Wiki Pedia UNIX Unix hay UNIX là một hệ điều hành máy tính viết vào những năm 1960 và 1970 do một số nhân viê

Microsoft Word - menh-de-quan-he-trong-tieng-anh.docx

ỨNG DỤNG INTERNET OF THINGS XÂY DỰNG NGÔI NHÀ THÔNG MINH APPLICATION OF INTERNET OF THINGS TO SMARTHOME NGUYỄN VĂN THẮNG (1), PHẠM TRUNG MINH (1), NGU

05-quanlytientrinh.pptx

Chương trình dịch

Lesson 4: Over the phone (continued) Bài 4: Nói chuyện qua điện thoại (tiếp theo) Trần Hạnh và toàn Ban Tiếng Việt, Đài Úc Châu, xin thân chào quí bạn

Modbus RTU - Modbus TCP/IP Converter

tài liệu hướng dẫn sử dụng dành cho người dùng cuối

4. Kết luận Đề tài nghiên cứu Phát triển hệ thống nâng hạ tàu bằng đường triền dọc có hai đoạn cong quá độ, kết hợp sử dụng xe chở tàu thông minh đã t

mySQL - Part 1 - Installation

Nội dung chương 3 IT1110 Tin học đại cương Phần I: Tin học căn bản Chương 3: Hệ thống máy tính 3.1. Giới thiệu 3.2. Chức năng và các thành phần của má

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH ĐỀ CƯƠNG MÔN HỌC 1. THÔNG TIN VỀ MÔN HỌC 1.1. Tên môn học: QUẢN TRỊ HỆ CƠ SỞ DỮ LIỆU 1.

Danh sách tuyến tính kiểu hàng đợi Danh sách tuyến tính kiểu hàng đợi Bởi: Khoa CNTT ĐHSP KT Hưng Yên ĐỊNH NGHĨA Hàng đợi là một vật chứa (container)

Backup Cloud Server

UART0

Chương trình dịch

Microsoft Word - mot_so_tool_trong_android.docx

Hướng dẫn sử dụng Virtualmin

ĐỀ CƯƠNG MÔN HỌC NHẬP MÔN TIN HỌC

Microsoft Word - bai 16 pdf

MCSA 2012: Distributed File System (DFS) MCSA 2012: Distributed File System (DFS) Cuongquach.com Ở bài học hôm nay, mình xin trình bày về Distributed

CÔNG TY TNHH GIẢI PHÁP TRỰC TUYẾN TOTAL 60 Đường 18, Phường Hiệp Bình Chánh, Quận Thủ Đức, TP.HCM MST:

CÔNG TY TNHH TIN HỌC TÍN NGHỆ Hotline: TÀI LIỆU HƯỚNG DẪN CÀI ĐẶT, CẤU HÌNH, SAO LƯU PHẦN MỀM TÍN NGHỆ A. CÀI ĐẶT, CẤU HÌ

Microsoft Word - client_request_trong_servlet.docx

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

TRƯỜNG Đ CK Joel Murach lay Harris TÜ SACH BẢN QUYỄN FPT Polytechnic P H P v ä MySQL Murach's PHP and MySQL Khởi động nhanh với PHP & MySQL

Microsoft Word - jsp_client_request.docx

Tập huấn Kinh doanh lưu trú DU LỊCH tại nhà dân Bài 4: Phục vụ khách lưu trú esrt programme

Tóm tắt ngữ pháp tiếng Anh Tổng hợp và biên soạn: Thầy Tâm - Anh Văn ( TÓM TẮT NGỮ PHÁP TIẾNG ANH Mục lục Tóm tắt

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Microsoft Word - session_tracking_trong_servlet.docx

ĐỀ CƯƠNG MÔN HỌC NHẬP MÔN TIN HỌC

Microsoft Word - TT HV_NguyenThiThom_K18.doc

Microsoft Word - Huong dan su dung Mailchimp.docx

Microsoft Word - Tinh_cau_duc_hang_bang_SAP2000.doc

HEADING 1: PHẦN 1: QUẢN LÝ VÀ DUY TRÌ HỆ ĐIỀU HÀNH

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 11. Mảng và xâu kí tự Nội dung 1. Mảng 2. Xâu kí tự 2 1

Microsoft Word - DA17-TRAN THI HIEN( )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 13. Hàm Nội dung 1. Khái niệm hàm 2. Khai báo và sử dụn

PowerPoint Presentation

OpenStax-CNX module: m Giới thiệu về ngôn ngữ C và môi trường turbo C 3.0 ThS. Nguyễn Văn Linh This work is produced by OpenStax-CNX and licens

CHÀO MỪNG NGÀY NHÀ GIÁO VIỆT NAM 20/11/2012 E b 1 4 ik ik y y x ( x x y ( ) 0 ) 0 ik 2 ( z d ) x, y, z G by e e e d K x dk 2 y ~ (2.7.a) Từ đó, có thể

Intro Parallel Computing 03

Một số thao tác trong windows XP Một số thao tác trong windows XP Bởi: Vien CNTT DHQG Hanoi MỘT SỐ THAO TÁC TRONG WINDOWS XP Tạo đĩa mềm khởi động DOS

View, Procedure, Function & Trigger

Stored Procedures Stored Procedures Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và s

Array, Indexer và Collection Array, Indexer và Collection Bởi: phamvanviet truonglapvy Mảng (Array) Mảng là một tập hợp các phần tử có cùng kiểu, được

Manicurist SPF-ICOC-VIET

Hướng dẫn làm bài thi xếp lớp tiếng Anh GIỚI THIỆU VỀ BÀI THI XẾP LỚP Bài thi kiểm tra xếp lớp tiếng Anh của Cambridge English là dạng bài thi trực tu

(Microsoft Word - 8. Nguy?n Th? Phuong Hoa T\320_chu?n.doc)

Điện toán đám mây của Google và ứng dụng xây dựng hệ thống quản lý dịch vụ Đỗ Thị Phương Trường Đại học Quốc gia Hà Nội; Trường Đại học Công nghệ Chuy

Khoa hoc - Cong nghe - Thuy san so indd

Hướng Dẫn Sử Dụng Doanh Nghiệp với Giao AdminLTE Bao gồm: - Trỏ record - Quản trị với giao diện AdminLTE - Cấu hình trên Outlook 2013 ( PO

PowerPoint Presentation

Microsoft Word - status_code_trong_servlet.docx

Slide 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 9. Vào ra dữ liệu trong C Các lệnh vào ra dữ liệu C cun

Lớp đối tượng trong.net Framework Lớp đối tượng trong.net Framework Bởi: Khuyet Danh Trong chương này chúng ta sẽ tìm hiểu các lớp cơ sở mà.net cung c

Bản ghi:

Hệ điều hành Bài tập tuần 6 1 Quản lý bộ nhớ Bài tập 1 : Xem thông tin bộ nhớ 1. Sử dụng top, ps đọc thông tin về kích thước vùng nhớ của 1 tiến trình? 2. Tìm hiểu các thông tin hiển thị bởi các lệnh sau? free vmstat cat /proc/meminfo 3. Tìm hiểu lệnh trên Windows cung cấp thông tin về bộ nhớ của tiến trình? Tham khảo lệnh top : Thông tin chung : * the time your system is been up * number of users logged in * load average of 5, 10 and 15 minutes respectively. Thống kê về các task và process hiện hành: Thống kê về trạng thái của cpu :

Hệ điều hành Bài tập tuần 6 2 * us, user: CPU time in running (un-niced) user processes * sy, system: CPU time in running kernel processes * ni, niced: CPU time in running niced user processes * wa, IO wait: CPU time waiting for IO completion * hi: CPU time serving hardware interrupts * si: CPU time serving software interrupts * st: CPU time stolen for this vm by the hipervisor. Thống kê về trạng thái của memory : Thông tin về physical memory : total available memory, used memory, free memory, and memory used for buffers Thông tin về swap space : total available memory, used memory, free memory, and memory used for cached Danh sách các task và process : mỗi task /process được hiển thị trên một dòng, bao gồm các thông tin: PID The Process ID, to uniquely identify a processes. USER The effective user name of the owner of the processes. PR The scheduling priority of the process. Some values in this field are rt. It means that the process is running under real-time. NI The nice value of the process. Lower values mean higher priority. VIRT The amount of virtual memory used by the process. RES The resident memory size. Resident memory is the amount of non-swapped physical memory a task is using. SHR SHR is the shared memory used by the process.

Hệ điều hành Bài tập tuần 6 3 S This is the process status. It can have one of the following values: D - uninterruptible sleep R - running S - sleeping T - traced or stopped Z - zombie %CPU It is the percentage of CPU time the task has used since last update. %MEM Percentage of available physical memory used by the process. TIME+ The total CPU time the task has used since it started, with precision upto hundredth of a second. COMMAND The command which was used to start the process. Bài tập 2 : cấp phát bộ nhớ Heap là vùng nhớ thuộc không gian địa chỉ của tiến trình, có kích thước biến động. Kích thước Heap có thể tăng hay thu nhỏ khi tiến trình cấp phát hay giải phóng vùng nhớ. Tiến trình có thể dùng hàm malloc() để cấp một số bytes từ Heap. Hàm malloc() trả về một con trỏ tới điểm bắt đầu của vùng nhớ cấp phát. Tiến trình cũng sử dụng hàm free() để giải phóng vùng nhớ đã cấp trước đó bằng malloc(), khi không cần dùng. Đọc, hiểu và thực thi chương trình sau? #include <stdio.h> #include <stdlib.h> int main() int n,i,*ptr,sum=0; printf("enter number of elements: "); scanf("%d",&n); ptr=(int*)malloc(n*sizeof(int)); //memory allocated using malloc if(ptr==null)

Hệ điều hành Bài tập tuần 6 4 printf("error! memory not allocated."); exit(0); printf("enter elements of array: "); for(i=0;i<n;++i) scanf("%d",ptr+i); sum+=*(ptr+i); printf("sum=%d",sum); free(ptr); return 0;

Hệ điều hành Bài tập tuần 6 5 Bài tập 3 : chia sẻ vùng nhớ chung Hai tiến trình độc lập với nhau có thể chia sẽ dữ liệu qua một vùng nhớ chung (shared memory). Đọc một mô tả về shared memory : Một tiến trình tạo một shared memory segment sử dụng shmget(). Tiến trình tạo segment này có thể gán quyền (hoặc hủy bỏ quyền đã gán) cho một tiến trình khác (user khác) bằng sử dụng shmctl(). Một tiến trình truy suất segment này bằng cách attached vùng nhớ vào không gian địa chỉ của nó, sử dụng hàm shmat(). Tiến trình cũng có thể detached segment này khỏi không gian địa chỉ của nó, sử dụng shmdt(). Khi đã attached, tiến trình có thể đọc/ghi vào segment tùy thuộc vào quyền hạn. #include <sys/ipc.h> #included <sys/shm.h> int shmget(key_t key, size_t size, int shmflg); Nếu thành công, hàm trả về shared memory segment ID, thường gọi là shmid ; trả về -1 nếu lỗi Các tham số : - key : là một giá trị (tên) gán cho shared memory segment - Size : là kích thước bằng byte của shared memory segment - shmflg : chỉ định quyền truy suất, có thể là SHM_R, SHM_W, SHM_R SHM_W void *shmat(int shmid, const void *shmaddr, int shmflg); // shmat() trả về một con trỏ, shmaddr, trỏ tới vị trí đầu của shared segment. int shmdt(const void *shmaddr); Hai chương trình trong minh họa sau chia sẽ một chuỗi qua vùng nhớ chung : shm-server.c : tạo một vùng nhớ chung và ghi vào đó một chuỗi shm_client.c : attaches với vùng nhớ chung được tạo bởi chương trình shm_server và in chuỗi đọc được từ vùng nhớ Đọc, hiểu và thực thi 2 chương trình để thấy kết quả?

Hệ điều hành Bài tập tuần 6 6 shm_server.c // www.cs.cf.ac.uk/dave #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> #include <stdio.h> #define SHMSZ 27 main() char c; int shmid; key_t key; char *shm, *s; /* We'll name our shared memory segment "5678". */ key = 5678; /* Create the segment. */ if ((shmid = shmget(key, SHMSZ, IPC_CREAT 0666)) < 0) perror("shmget"); /* Now we attach the segment to our data space. */ if ((shm = shmat(shmid, NULL, 0)) == (char *) -1) perror("shmat"); /*Now put some things into the memory for the other process to read. */ s = shm; for (c = 'a'; c <= 'z'; c++) *s++ = c; *s = NULL; /* Finally, we wait until the other process changes the first character of our memory to '*', indicating that it has read what we put there. */ while (*shm!= '*') sleep(1); exit(0);

Hệ điều hành Bài tập tuần 6 7 shm_client.c /* shm-client - client program to demonstrate shared memory */ #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> #include <stdio.h> #define SHMSZ 27 main() int shmid; key_t key; char *shm, *s; /* We need to get the segment named "5678", created by the server. */ key = 5678; /* Locate the segment */ if ((shmid = shmget(key, SHMSZ, 0666)) < 0) perror("shmget"); /* Now we attach the segment to our data space. */ if ((shm = shmat(shmid, NULL, 0)) == (char *) -1) perror("shmat"); /* Now read what the server put in the memory. */ for (s = shm; *s!= NULL; s++) putchar(*s); putchar('\n'); /* Finally, change the first character of the segment to '*', indicating we have read the segment. */ *shm = '*'; exit(0);