由买买提看人间百态

topics

全部话题 - 话题: posix
首页 上页 1 2 3 4 5 6 7 下页 末页 (共7页)
x****u
发帖数: 44466
1
来自主题: Programming版 - btw, MS C++ 是ECMA-372标准
你说的是SFU,不是Microsoft POSIX subsystem。
x****u
发帖数: 44466
2
来自主题: Programming版 - btw, MS C++ 是ECMA-372标准
在OS中的地位不一样,POSIX subsystem应该是可以脱离Win32独立存在的,虽然没什么
意义。
m*******l
发帖数: 12782
3
来自主题: Programming版 - btw, MS C++ 是ECMA-372标准
不是,新的因特瑞可斯是posix subsystem的超集
d****i
发帖数: 4809
4
是ISO/IEC的标准,最早的C89标准是由ANSI制定的,后来由ISO来统一制定,C++也一样
由ISO/IEC制定标准。IEEE制定的是Unix和类Unix操作系统的标准以及POSIX的API。
d****i
发帖数: 4809
5
来自主题: Programming版 - 关于 C++:再转一篇
这个不能这么比啊,语言各有适用的地方,你光写写web,当然不需要用到C++,一大堆
的适用于web的语言放在那儿呢,但是这个世界还有很多不同的实体产业在啊。
multithreading的话, C++不设专门的thread类(虽然boost, C++11有)是有原因的,C
++和Java, C#最大的不同之处在于C++是兼容C的一个超集,和C一样是native code,这
样就得考虑不同的操作系统和硬件上的实现,thread这个东西是OS dependent的,Java
, C#等因为是属于middleware, 隔了一层抽象的虚拟机,从而与底层的东西彻底的抽象
化了,所以可以有专门的Thread类,但是C++由于是直接作用于机器硬件上,就不能给
出一个直接的thread类,尽管boost thread给了一个跨平台的thread的实现,实际上还
是POSIX,Win32的thread的wrapper而已。实际上如果考虑到有多达几百种的嵌入式
RTOS的thread的实现,你就知道为什么C++不能规定一个thread类了。
x****u
发帖数: 44466
6
来自主题: Programming版 - 一个嵌入式系统的设计构思
你举一两个极限例子也没用啊,MSJRE那几年也是到处参加测试比赛的,而且也没被使
用者抛弃,SUN告MS和SCO搞linux都是一个思路的。
JRE这玩意主要看算法,OS其实一点不重要。MS甚至搞过POSIX subsystem,你愿意甚至
可以把Linux版本的JRE搬回来用。
x****u
发帖数: 44466
7
来自主题: Programming版 - 主力程序员离职后怎么办?
Linux还Unix-like呢。
WinNT还支持POSIX,比Linux还Unix-like呢。
x****u
发帖数: 44466
8
你还真别说,Windows下不仅可以跑所有的Linux的服务,而且还有标准的POSIX子系统
支持。
h***i
发帖数: 1970
9
Windows有标准的POSIX子系统支持,你指的是cywin?
m*******l
发帖数: 12782
10
MS had a fully POSIX compliance before ...2013
c****3
发帖数: 10787
11
因为是多线程,网络程序吗。Windows的线程模式和网络编程和Linux里面很不一样。纯
BSD的scoket或者posix API,在Windows下都工作的很差,有很多限制。必须用Windows
Native API才能工作的好。
所以基本上跨平台的程序,在Linux运行好,到Windows里就会运行很差。两边都运行好
,基本要做两套,为两种系统分别优化,很费时间。所以极少两边都能运行好的,尤其
是服务器类需要高性能的网络程序。
c****3
发帖数: 10787
12
高性能网络多线程程序,用POSIX的select()是不行的,这是C10K问题
d****i
发帖数: 4809
13
所以嵌入式上面的C编程和一般台式机上的有很大的不同,比如不能用递归,尽量少用
或不用动态内存分配等等。另外,由于所有嵌入式操作系统都是C写的,只支持C,有的
甚至连C++都不支持或支持的不好,而且很多RTOS除了标准的ANSI C和POSIX API以外还
有自己一套适合自己操作系统特色的C API,这样就只有用厂商自己提供的SDK开发工具
了。
n****1
发帖数: 1136
14
来自主题: Programming版 - 看来2013还是Javascript最流行
可是chromeos上已经有native client了, 基本就是一个强调portable的posix api.
很多已有的C/C++程序, 包过dosbox/quickoffice都已经直接被编译到chromebook上了,
性能是gcc的80%左右, 而且都不用改代码的.
S*A
发帖数: 7142
15
来自主题: Programming版 - C10M 练习 step 1: 10M sockets
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 62122
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size ... 阅读全帖
d****i
发帖数: 4809
16
来自主题: Programming版 - open-source .NET了
实际上UNIX生态文化圈是最健康的,存在着好多个遵循同一个标准(POSIX)却完全不同
实现的OS, 既有闭源的OS(AIX, HP-UX, Solaris),也有开源的OS(Linux, FreeBSD,
NetBSD, OpenBSD), 不同级别的用户根据自己的需要来选择闭源或开源或两者都有,而
且工具链和开发环境都比较类似或大同小异,当然规模,稳定性和技术支持有差异。
w***g
发帖数: 5958
17
来自主题: Programming版 - 谁能示范一个小的C程序
alloca是bsd的函数,不在posix里。windows里有_alloca。
d****i
发帖数: 4809
18
来自主题: Programming版 - C 语言的官方 spec
这个好像没有什么人用吧,一般用Windows的话要么直接用Win32 API,我还是第一次听
说NT下面的native POSIX subsystem。有些就干脆用Cygwin了,哈哈。
w***g
发帖数: 5958
19
来自主题: Programming版 - C 语言的官方 spec
当年windows NT底下有win32, OS/2和posix三个子系统。这个设计其实是很合理的也
很牛X的。windows也是一个多架构的操作系统,除了x86,还可以跑在power PC和后来
的Itanium上。大家都觉得windows封闭,那完全是商业行为。
不能说windows的技术比Linux领先,其实当时像Solaris,AIX那些
也都有各自的牛X之处,有些概念现在拿出来都是很牛的。
Linux基本上落后上面这些10年的样子,属于业余水平。不得不说很多事情成功和技术
没有太大关系。
w***u
发帖数: 156
20
来自主题: Programming版 - c++posix多线程问题请教
最近要写一个多线程的应用, 碰到一些问题,
主线程在一开始就create好4个子线程,子线程一开始wait状态,然后主线程开始往下
走,开始task准备分给子线程,然后broadcast给子线程,自己进入wait状态, 子线程
wakeup,做完task,就wait,做后一个子线程完成后,发信号给主线程,然后wait,
主线程在接到信号后,wakeup,继续下一个task, 然后broadcast。问题是主线程激活
到broadcast时间很短, 而子线程从发信号到wait时间长的话,主线程broadcast的信
号就不会正确叫醒子线程,因为那时的子线程还没有进入wait状态。 如何解决呢?其
实就是要实现一个join的功能,但是又不要释放掉子线程,
w***u
发帖数: 156
21
来自主题: Programming版 - c++posix多线程问题请教
大牛们快来帮帮忙啊
W***o
发帖数: 6519
22
来自主题: Programming版 - c++posix多线程问题请教
use a lock to synch?
p*u
发帖数: 2454
23
来自主题: Programming版 - c++posix多线程问题请教
most common way is main thread puts tasks on a message queue, and worker
threads pull from it.
i don't understand why ur worker threads hv to sleep/wait. if u hv to do
this, i assume u use a condition variable to broadcast. u can use a mutex-
protected flag to slow main thread down: worker threads set this flag to
true right before they go to sleep/wait; main thread always checks this flag
before it tries to broadcast.
p***o
发帖数: 1252
24
来自主题: Programming版 - c++posix多线程问题请教
估计是自己实现的同步逻辑。这个需求用pthread barrier就好。

flag
v******y
发帖数: 84
25
来自主题: Programming版 - c++posix多线程问题请教
同意这个,楼主估计不知道boss - worker pattern
boss不需要和worker沟通
boss产生work load, 放入shared queue (用mutex同步)
boss产生work load时,如果queue 满了,就wait on queue_full condition
worker thread从queue中读取work load,如果queue空,就wait on queue_empty
condition
boss, 产生一个word load, signal 在等的work thread去读
work load 除了完了,就signal boss产生新的work load

flag
k***5
发帖数: 583
26
来自主题: Programming版 - c++posix多线程问题请教
楼主自己把自己绕晕了,不要考虑什么主,子shread,就看成5个shread,然后各个都
pending/sleep在某个signal或mutex,等被唤醒。
p*u
发帖数: 2454
27
来自主题: Programming版 - c++posix多线程问题请教
he needs to explain this better: "子线程从发信号到wait时间长"
n******7
发帖数: 12463
28
来自主题: Programming版 - 还有多少码工用windows machine的?
其实windows有个POSIX兼容的subsystem的
不过还没cygwin好用
r*****8
发帖数: 2560
29
C语言,结构体转字符串。简单的难题
结构体转字符串怎么做?我有一个野外站点,通过铱星发回来数据,10个字符1分
钱。为了降低费用,要压缩字符数量。结构体的位域(bit fields)很理想,以下例子
3个数据只要2个字符就够了。
结构体做好以后,要用字符传送(short burst message),怎么把结构体变成字
符串?我用的是个笨办法,把结构体写入一个文件。然后把文件的字符串读出来。
各位大侠有更好的方法吗?
如果有时间细看以下是程序。
// #############################################
#include // Standard input output.
#include // Standard library.
#include // String handling
#include /* POSIX terminal co... 阅读全帖
T********i
发帖数: 2416
30
来自主题: Programming版 - C++11使用感受及一些问题
第一,我不认为你的应用需要utf8分字符。
第二,如果你需要,我可以送你一个。几十行,我用了将近10年了。
第三,你这个根本不是嵌入式,就是标准的linux/posix系统。
n******7
发帖数: 12463
31
来自主题: Programming版 - ubuntu on windows
我用过基于这个的and—Linux 还是挺方便的
后来不支持64位系统就没用了
因为被迫得用一些Windows only的东西
一直对Windows和Linux协同使用很感兴趣
那个posix subsystem也琢磨过,发现还不如Cygwin好用,去年更是听说要在win10取消了
如果软软开始关注和整合Linux,我是很欢迎的
w***x
发帖数: 105
32
来自主题: Programming版 - ubuntu on windows
不觉得winnt有何牛逼。它的posix实现很渣,连thread,mutex这些基本的东西都没有。
很多windows程序员连condvar都不知道怎么回事。
实际上在软软还在吹嘘它的dos系统的时候,就已经有unix 32位抢占kernel出现了,从
内核技术上讲,简直就是地上天上的差别。但是商业上的成功,很多时候和技术关系不
大。
实际上微内核在技术上比linux/windows kernel要更简单,有些商业微内核,内核开发
人员也就是4,5个人而已,但linux kernel的开发人员。。数不过来。。。
说linux kernel技术不行。。。恐怕很多人会不同意,你可以去看看code,linux
kernel的代码基本都是大公司的专业人员写的,如果说这种code也没技术水准,呵呵。
。。不过话说有些opensource的东西和商业上是有些差距,但这和商业模式有关。至于
BSD,很多BSD内核代码都是从Linux port过来的。
至于stallman,只是个传说,他不做技术很多年了吧...不过opensource比商业好在一
点,就是理想总能传递下去,但商业公司会倒闭,所以op... 阅读全帖
x****u
发帖数: 44466
33
来自主题: Programming版 - ubuntu on windows
你这土鳖,posix是在nt内核上面实现的
现在微软和苹果都是微内核
h**********c
发帖数: 4120
34
来自主题: Programming版 - ubuntu on windows
word处理不是一行的东西很久没搞懂,段后宽度,一个图片和文本的关系
posix的wiki说的好象不太一样,学抄做系统的时候一直将是unix的东西。
w***x
发帖数: 105
35
来自主题: Programming版 - ubuntu on windows
要么是你帮着微软和苹果实现的microkernel,要么是你连概念都没弄明白。

:你这土鳖,posix是在nt内核上面实现的
e*******s
发帖数: 1979
36
来自主题: Programming版 - Visual Studio支持Linux C++
POSIX API?
d****i
发帖数: 4809
37
来自主题: Programming版 - Visual Studio支持Linux C++
POSIX API are all defined in C, has nothing to do with C++ at all. This is
the ANSI/ISO/IEEE/The Open Group standard definition.
h*i
发帖数: 3446
38
来自主题: Programming版 - 是不是大部分的程序员都用Mac?
Developers originally adopted Mac years ago because it was the only POSIX
compliant OS that's also good at desktop. Other Unix systems had gone
bankrupt. Linux desktop sucked.
Newer developers adopted Mac because that is what everyone uses for
development.
Today, the modern world of programming for the cloud requires a good command
line (aka. unix terminal).
Windows are catching up though. I heard that they recently added bash. Maybe
it's too late.
c****3
发帖数: 10787
39
性能,网络性能?
微软的操作系统和Linux不一样,把POSIX的东西移植过去,性能当然不好。用Windows
的native api,性能挺好的,国内不是好多游戏服务器就是用Windows的io completion
port
微软的问题就是灵活性差,万一需要个功能,它正好没有,不知道要等到猴年马月才有
。不过现在很多开源的库,也要windows版本,可以拿来补充
c****3
发帖数: 10787
40
性能,网络性能?
微软的操作系统和Linux不一样,把POSIX的东西移植过去,性能当然不好。用Windows
的native api,性能挺好的,国内不是好多游戏服务器就是用Windows的io completion
port
微软的问题就是灵活性差,万一需要个功能,它正好没有,不知道要等到猴年马月才有
。不过现在很多开源的库,也要windows版本,可以拿来补充
F****n
发帖数: 3271
41
来自主题: Programming版 - 用volatile退出线程对不对?(C++)
https://en.wikipedia.org/wiki/Volatile_(computer_programming)
Quotes:
"Operations on volatile variables are not atomic, nor do they establish a
proper happens-before relationship for threading. This is specified in the
relevant standards (C, C++, POSIX, WIN32)..."
"According to the C++11 ISO Standard, the volatile keyword is only meant for
use for hardware access; do not use it for inter-thread communication."
Go read the wikipedia and ask questions here if you still don't understand.
I want to ... 阅读全帖
r*****z
发帖数: 906
42
来自主题: Programming版 - std::size_t的麻烦
在posix里,不在C/C++ standards里
w***g
发帖数: 5958
43
来自主题: Programming版 - 我来给FP泼泼凉水吧
我不同意NT的性能比Linux有先天优势。
正规军要操心的事情太多,在性能上有先天的劣势。
比如NT内核和API分离,在内核外面搞win32子系统,os/2子系统,posix子系统,
各种机制与策略分离,像前面讨论的要开放各种钩子允许打补丁,
背负的东西太多太多了。
其实前两天讨论的MKL和手写代码在特定扁长形矩阵上的性能对比也是这回事。
Linux现在也是屠龙骑士变成龙了。引用你一句话: "但Linux最近20年加上无数肮脏补
丁后二者性能没有明显差异了。"
哥几个真是不易,老邢这坛子烂成这样,还是不离不弃,一上线了就过来回帖。
给自己点个赞!

Ubuntu

发帖数: 1
44
来自主题: Programming版 - Blackberry的QNX有谁用过么?
我就不難為你讓你實現DNN了,就OpenCV,你的OS怎麼支持?
乙太網簡單,呵呵,你在MCU上實現過千兆乙太網麼?
你的OS怎麼支持GUI?別告訴我沒有儀表。
怎麼支持TCP/IP?光TCP協議就累死你。
有C++庫沒?是C++14麼?兼容POSIX麼?還是冒牌的embedded C++?
如果客戶要求ABS/ESC/TSC功能和視覺功能分開,你怎麼實現?如果必須Hypervisor,
你想過沒?
你的OS支持幾種CPU?遠程debug用什麼?
別以為Renesas的CPU和NXP的都是ARM,你的OS就完全相同。
驅動程序誰寫?你需不需要重新定義一下ABI?
有文件系統麼?這又是一個大坑。
行了,不說了。
最後問你準備用什麼compiler寫OS?別告訴我用IAR。。。

发帖数: 1
45
来自主题: Programming版 - Blackberry的QNX有谁用过么?
我就不難為你讓你實現DNN了,就OpenCV,你的OS怎麼支持?
乙太網簡單,呵呵,你在MCU上實現過千兆乙太網麼?
你的OS怎麼支持GUI?別告訴我沒有儀表。
怎麼支持TCP/IP?光TCP協議就累死你。
有C++庫沒?是C++14麼?兼容POSIX麼?還是冒牌的embedded C++?
如果客戶要求ABS/ESC/TSC功能和視覺功能分開,你怎麼實現?如果必須Hypervisor,
你想過沒?
你的OS支持幾種CPU?遠程debug用什麼?
別以為Renesas的CPU和NXP的都是ARM,你的OS就完全相同。
驅動程序誰寫?你需不需要重新定義一下ABI?
有文件系統麼?這又是一個大坑。
行了,不說了。
最後問你準備用什麼compiler寫OS?別告訴我用IAR。。。

发帖数: 1
46
来自主题: Programming版 - Blackberry的QNX有谁用过么?
https://zhuanlan.zhihu.com/p/32378843
看來友商的設計現在被解密了,敢這麼大膽全面使用Arm公版設計的,我猜是華為海思。
我不是原文作者,只是看過一點內部資料。
另外提醒本版的各位「鍵盤俠們」:you know nothing...
知乎文章摘要,2019年5月2日:
先说虚拟化。虚拟化其实是从服务器来的概念,为什么汽车也会有这个需求?两点原因
:现在的中控芯片有一个趋势,集成仪表盘,降低成本。以前的仪表盘通常是用微控制
器做的,图形界面也较简单。而现在的系统越来越炫,甚至需要图形处理器来参与。很
自然的,这就使得中控和仪表盘合到单颗芯片内。它们跑的是不同的操作系统,虚拟化
能更好的实现软件隔离。当然,有些厂商认为虚拟化还不够,需要靠物理隔离才放心,
这是后话,稍后展开。另一个趋势是中控本身需要同时支持多个屏幕,每个屏幕分属于
不同的虚拟机和操作系统,这样能简化软件设计,提高软件的可靠性。
Armv8.1及之后的CPU,都支持一个叫VHE的机制,可以加速2型虚拟机的切换。具体原理
是,KVM等2型虚拟机,Hypervisor就在Linux核心里面,而... 阅读全帖

发帖数: 1
47
来自主题: Programming版 - Blackberry的QNX有谁用过么?
Quote Begin
对于1型虚拟机,比如Xen,这个改动没有影响。这里我们要提一下QNX的虚拟机,它是1
型虚拟机。QNX是目前唯一一个能达到ASIL-D等级的操作系统(包含Hypervisor)。如
果需要实现ASIL-D级别的系统,必须把现有的软件从Linux系统移植到QNX。所幸的是,
QNX也是符合POSIX标准的,尤其是图形处理器的驱动,移植起来会省事一些。QNX不是
所有的模块都是ASIL-D级,移植过去的驱动,其实是没有安全等级的。QNX依靠ASIL-D
级的核心软件模块和Hypervisor,保证99%以上的失效覆盖率。如果子模块出了问题,
那只能重启子模块。
Quote End
我的結論:
不玩SoC的自動駕駛公司都是飛到天上的豬,自動駕駛是軟硬件緊密結合產品,只靠中
間件改改,那是玩具車。
過去兩年的例子:
Tesla剛剛發佈SoC、Google自己也有SoC團隊、傳統車廠採用Nvidia的SoC、Intel收購
MobilEye。
Baidu跟QNX合作,華為海思正在做SoC,蘋果汽車也在秘密開發SoC,Qualcomm收購NXP
失敗。
j***y
发帖数: 87
48
来自主题: Unix版 - [转载] alarm, pause 又一问

you can try setitimer for BSD based (4.2 or later) system,
or settimer for POSIX based system. They have higher resolution
than alarm, although the accuracy may be machine-dependent.
m*****m
发帖数: 27
49
来自主题: Unix版 - Does Linux support thread?
Yes, Linux supports thread.
Read Chapter11: POSIX threads from "Beginning Linux Programming"
by Stones and Matthew. This will give you a pretty good idea.
l*l
发帖数: 225
50
来自主题: Unix版 - A Unix question
Normally, in the OS such as VMS or Multics ( first UNIX in 1970's ),
you can use detaching and attaching to get tge process which lost from
/dev/tty.
But POSIX 1.doesn't support connect with a lost term( /dev/tty ). But
several software can do this job.
you can try " screen " or "pty" to get your contral of the jobs.
首页 上页 1 2 3 4 5 6 7 下页 末页 (共7页)