Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Lập trình hệ thống trong Linux, ngôn ngữ c/c++

  1. #1
    Ngày gia nhập
    08 2008
    Nơi ở
    Liên Bang Nga
    Bài viết
    46

    Mặc định Lập trình hệ thống trong Linux, ngôn ngữ c/c++

    Mình có một số bài tập lập trình hệ thống trong Linux, nếu bạn nào quan tâm có thể lấy đấy làm tài liệu để thử sức. Nếu gặp khó khăn, mình có thể giúp đỡ
    1. Tạo child process và yêu cầu cả hai quá trình ( parent and child processes) thông tin về mình, tức là cho biết mình là child hay parent process
    2.Yêu cầu parent process chờ để child process in ra màn hình các số từ 1 đến 1000, sau đó cho phép cả hai kết thúc công việc(sử dụng wait)
    3.Chỉ ra rằng giá trị biến ở quá trình cha và quá trình con ban đầu trùng hợp nhau, nhưng hoàn toàn không phụ thuộc vào nhau
    4.Hãy nghĩ ra một phương pháp cho phép quá trình cha thông báo cho quá trình con rằng nó có thể hoàn tất công việc được rồi(bố nói với con là, con ơi, học thế đủ rồi, đi chơi đi. Con bảo thưa bố, vâng ạ, và chạy đi chơi)
    5.Viết chương trình mô tả hoạt động của Terminal nhờ vào các lệnh gọi hệ thống system()
    6.Viết chương trình in ra Catalogy của thư mục hiện thời, sử dụng lệnh gọi hệ thống(system call) exec và lệnh ls
    7.Kiểm tra xem quá trình thực hiện lệnh gọi hệ thống nào đó có thành công hay không nhờ sự giúp đỡ của errno và nếu như có lỗi, đưa ra lỗi với sự giúp đỡ của hàm perror
    8.Viết một chương trình my_cat, thực hiện chức năng tương tự như lệnh cat. Tức là đọc nội dung của một file, và ghi ra thiết bị xuất tiêu chuẩn(trong đa số các trường hợp, đó là màn hình). Sử dụng các hàm(open, read, write, close)
    9.Viết chương trình my_wc đếm số dòng, số từ, và số bytes của một file bất kì(open, read, write, close)
    10.Viết chương trình my_cp, thực hiện copy nội dung của một file nguồn sang một file đích. Sử dụng open, read, write, close
    11.Giải bài toán hai bố con như sau : Con đi học về, thông báo cho bố biết điểm đạt được trong kì thi vừa qua ở trường, bố nhận được thông tin, và có hướng giải quyết cụ thể.(Giải bài toán, sử dụng thiết bị vào ra chuẩn và bộ lọc |)
    12.Sử dụng pipe để giải quyết bài toán 11
    13.Sử dụng FIFO để giải bài toán 11
    14.Hãy viết các lệnh trao đổi thông tin send_msg và recv_msg, sử dụng FIFO
    15. Viết chương trình cho biết số lần nó làm việc(tức là số lần ta khởi động nó). Bộ đếm counter số lần khởi động lưu trong bộ nhớ chia sẻ(share memory) (ftok, shmget, shmat, shmdt)
    16.Giải quyết bài toán hai bố con. Con cứ 1 s một lần, viết ngẫu nhiên giá trị trong phạm vi 1..10(tức là điểm thi ở trường). Bố cứ 2 s thì lại đọc một lần xem con nói gì. Quá trình đọc ghi là hoàn toàn độc lập và ngẫu nhiên. (ftok,shmget,shmat,shmdt)
    17.Sử dụng shmctl để xóa vùng nhớ chia sẻ, so sánh kết quả với lệnh ipcs
    18.Viết chương trình tính tích phân của một hàm bất kì(tích phân xác định, hàm hoàn toàn bất kì) với sự giúp đỡ của bộ nhớ chia sẻ(shared memory)(ftok, wait, fork, shmget, shmat, shmdt)
    19.Viết chương trình tính tích phân hàm bất kì với sự giúp đỡ của các sợi thực hiện song song (thread) (pthread_create, pthread_join,pthread_mutex_lock, pthread_mutex_unlock)
    Mong rằng có đôi chút bổ ích cho các bạn. Chúc các bạn vui vẻ!
    Tôi thường thích những cái gì mà tôi không bao giờ có được...

  2. #2
    Ngày gia nhập
    10 2007
    Nơi ở
    /root
    Bài viết
    318

    1. getpid(2)
    2. wait(2) or waitpid(2)
    3. Xem lại mục đích fork() , định nghĩ process trên Linux
    4. Có thể sử dụng share memory, hoặc pipe(2) ...
    5. Sử dụng exec(3) thì đúng hơn
    6.
    PHP Code:
    execl("/bin/ls""ls""-l", (char *)0); 
    Mấy bài còn lại ngồi làm dần sẽ xong hết thôi.
    What you see is never what you get...

Các đề tài tương tự

  1. Muốn học về Linux để phát triển theo hướng mã nguồn mở trên Linux thì phải làm những gì?
    Gửi bởi vncoder trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 7
    Bài viết cuối: 06-01-2012, 07:58 AM
  2. Biên Dịch Linux Với ToolChain mips-linux-gnu- và Qemu
    Gửi bởi trần trân trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 3
    Bài viết cuối: 04-01-2011, 12:18 PM
  3. Linux programming | Chương trình C đầu tiên của bạn trên Linux
    Gửi bởi Kevin Hoang trong diễn đàn Thủ thuật, Tutorials và Mã nguồn
    Trả lời: 12
    Bài viết cuối: 22-11-2010, 03:48 PM
  4. Lập trình C trong linux. Cách biên dịch chương trình C trên Linux như thế nào?
    Gửi bởi thangbn trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 5
    Bài viết cuối: 30-05-2009, 11:38 AM
  5. Làm việc với kí tự và chuỗi trong lập trình C trên Linux [Linux Programming]
    Gửi bởi Xcross87 trong diễn đàn Thủ thuật, Tutorials và Mã nguồn
    Trả lời: 4
    Bài viết cuối: 02-10-2007, 11:33 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn