2010-01-22 38 views
6

Tôi đã tìm kiếm rất nhiều nhưng vẫn nhầm lẫn vì sao POSIX được gọi là "Giao diện hệ điều hành di động", điều tôi học được là thư viện luồng cho môi trường Unix, bởi vì khi bạn cần sử dụng nó dưới cửa sổ bạn phải dùng Cygwin hoặc " Dịch vụ Windows của Unix ", v.v. Đó là lý do tại sao tôi bị nhầm lẫn vì sao nó được gọi là OSIX di động. Tôi là một lập trình C/C++ chuyên nghiệp trong miền Windows nhưng mới trong Unix/Linux. Cảm ơn câu trả lời của bạn trước.Tại sao POSIX được gọi là "Giao diện hệ điều hành di động"?

+3

Posix là MUCH nhiều hơn pthreads ... Bắt đầu từ đây: http://en.wikipedia.org/wiki/POSIX (xin lỗi, tôi không có thời gian để viết câu trả lời tốt hơn) – Fredrik

+7

Sai lầm đầu tiên bạn thực hiện giả định rằng Windows là "di động". Nó không phải là. Hầu hết mọi thứ được sử dụng ngay bây giờ * ngoại trừ * windows là POSIX. – Ether

Trả lời

13

Trước Posix, Unix family tree đã trở nên rất đa dạng và không tương thích. Một chương trình được viết cho một Unix không tương thích với một Unix khác mà không có nỗ lực chuyển đổi đáng kể.

Posix là một trong những nỗ lực để trình bày một tập hợp chung các tiện ích và giao diện lập trình sao cho phần mềm của bạn sẽ được chuyển sang nhiều phiên bản của Unix.

Vì Posix có giao diện chứ không phải hệ điều hành thực, nên có thể có mặt Posix trên hệ điều hành Unix không (chẳng hạn như Microsoft Windows Services for Unix trình bày mặt tiền Posix trên đầu Windows).

+0

Điều đó có nghĩa là POSIX chỉ di động với các phiên bản khác nhau trên UNIX, tôi nghĩ là di động không đồng nhất.Tôi có fedoraCore10 cài đặt bạn có thể cho tôi một điểm bắt đầu như thế nào để bắt đầu lập trình với pThreads trong fedoraCore10. cảm ơn. – MahSan

+3

Posix cũng có thể được thực hiện trên hệ điều hành Unix (chẳng hạn như Windows). Tôi đã thêm một đoạn mới vào câu trả lời của tôi để giải thích thêm. –

+0

Cảm ơn bạn rất nhiều vì câu trả lời thú vị và tốt bụng của bạn, liên kết bạn cung cấp thực sự hữu ích. cảm ơn lần nữa – MahSan

9

Đó là một hoặc hai stragglers đã quyết định không làm cho nó một phần cốt lõi của họ không làm cho nó ít di động đến hầu hết các hệ điều hành quan trọng khác.

+0

Bạn có thể vui lòng xác định ý kiến ​​/ câu trả lời của bạn, tôi không đủ tốt bằng tiếng Anh để hiểu điều này nhờ. – MahSan

+1

Hầu hết các hệ điều hành * làm * theo POSIX ở một mức độ nào đó. Chỉ có một vài người đã quyết định không. –

+3

+1 cho nền tảng cố chấp. thú vị nền tảng lớn ở đó. – asveikau

4

POSIX chỉ đơn giản là giao diện cho hệ điều hành xác định các khái niệm như chủ đề, quy trình, tín hiệu, đường ống và I/O. Đây không phải là giao diện duy nhất di động trên nhiều giao diện, nhưng chỉ đơn giản là một tiêu chuẩn. Cái tên đã được Richard Stallman định nghĩa vào những năm 1980.

Lý do xác định POSIX là nhiều phiên bản UNIX khác nhau không tương thích, vì hệ điều hành không đồng ý về việc triển khai luồng hoặc quy trình.

Dưới đây là một số liên kết nhiều hơn cho nghiên cứu thêm:

+1

Liên kết RMS được ghi chép đầy đủ. Những gì tôi chưa bao giờ có thể xác nhận, mặc dù, là liệu nó được dự định như một trò đùa (ủy ban đã tạo ra một P.o.S.) hay không. Không ai muốn nói ... –

+0

Liên kết đầu tiên đã chết – Shahbaz

3

POSIX định nghĩa một tập hợp các hàm di động C, vỏ, các chương trình mà làm cho cuộc sống của một lập trình viên dễ dàng hơn vì đã đưa ra các định nghĩa trong POSIX, việc viết mã di động dễ dàng hơn nhiều (không chỉ C, mà còn cả các tập lệnh shell nữa). Hãy tưởng tượng nếu mọi người đều có cách làm riêng của họ!

Không phải tất cả các hệ điều hành đều tuân thủ POSIX, vì vậy nếu bạn phải phát triển cho những hệ thống đó, bạn phải làm những điều cụ thể cho hệ thống. Nhưng POSIX có lẽ là tiêu chuẩn di động trên các loại hệ thống khác nhau hiện nay. Chắc chắn, có ISO C, đó là xách tay hơn, nhưng sau đó thật khó để viết các chương trình rất hữu ích chỉ trong ISO C!

Các vấn đề liên quan