QNX 3.21

Hi !

I’m quite new to QNX.
My experience in LINUX is low but in DOS or Windows my experience is very better.

In our company we have 2 machines which run under QNX 3.21

Can anybody give me some information about the restrictions of the file system (max. files per directory, max. length of names, max. file-size, …)

Is there any tool available which is similiar with the old norton commander (file manager in DOS) ? Or exists a graphic file manager for QNX 3.21 ?
Can i include it in the startup procedure ? (like autoexec.bat in DOS ?)

The reason for my questions is that the software of our machines stores the data (for production) in separate directorys (one directory = one article). In this directories the machine-software constructs a huge number of files ! Sometimes there are so many file that the command
rm .fsc
doesn’t works. Then i have to erase the files in more steps like:
rm 1
.fsc
rm 2*.fsc
rm 3*.fsc
and so on, and so on.

The deletion of the data is necessary when the whole article has changed and his happens sometimes very often.
(at the beginning of the production the data is transferred through a Windows PC to QNX via RS232)

I also have the problem that some files can’t be deleted (the command ZAP also doesn’t works) - chkfsys returns no error ! Any idea how to deal with this files ?

And one last question:
Can i change the resolution of the graphic card (now its 640x480) to 800x600 or 1024x768 ???

Some of my questions maybe seem stupid but what shall i do ? I don’t have a manual of QNX 3.21 either i know all the commands in QNX 3.21.

Thanks for your efforts !

Kind regards,

Andrew

The 3 in 3.21 refers to protected mode. This is version 2.21.

Can anybody give me some information about the restrictions of the file >system (max. files per directory, max. length of names, max. file-size, >…)

File name length 16

File Size, I’m pretty sure it is 2^^31, although a file that big in QNX 2 would be a bit much.

Max files per directory: I don’t recall exactly, but you don’t want to come anywhere near it. Directory searching of an overly large directory was unwieldy in QNX 2. The file system was locked up when this was occuring too, so nothing else will run. I would say over 1000 entries is pushing your luck. However you can get a little more mileage out of QNX 2 by mounting all the relevant caches, bitmap, extent, and disk.

Is there any tool available which is similiar with the old norton commander (file manager in DOS) ? Or exists a graphic file manager for QNX 3.21 ?

There was one sold by a 3rd party, but I doubt they are still in business.
QNX windows has a graphical file manager.

Can i include it in the startup procedure ? (like autoexec.bat in DOS ?)

While that makes sense in a single threaded os like DOS, it doesn’t in QNX. You could force a program to start in the console if that is what you want.

The reason for my questions is that the software of our machines stores the data (for production) in separate directorys (one directory = one article). In this directories the machine-software constructs a huge number of files ! Sometimes there are so many file that the command
rm *.fsc
doesn’t works.

Probably works, but takes forever?

Then i have to erase the files in more steps like:
rm 1*.fsc
rm 2*.fsc
rm 3*.fsc
and so on, and so on.

If you just want to delete everything, and this is painful enough, it might be faster to zap the directory and run chkfsys.

I also have the problem that some files can’t be deleted (the command ZAP also doesn’t works) - chkfsys returns no error ! Any idea how to deal with this files ?

Two ways to handle this. 1) zap the directory that the file is in. This might have other consequences.
2) Use spatch to modify the directory sector directly. This of course is quite tricky.

And one last question:
Can i change the resolution of the graphic card (now its 640x480) to 800x600 or 1024x768 ???

Are you using QNX Windows, or the graphics library? If the former, only if the QNX Windows driver supports it. If the latter, only if you that mode is supported by the library. I vaguely recall some 800x600 support, but there was no standard back then to do this.

Some of my questions maybe seem stupid but what shall i do ? I don’t have a manual of QNX 3.21 either i know all the commands in QNX 3.21.

Hire a QNX2 expert ;-). There are still at least two or three still out there.

Mitchell pretty well covered it.

Some special versions of QNX2 were released that had BIG file system support and upped the limits. Those versions were generally suffixed with the letter ‘b’ (like 2.21atpb) but big files were definitely a performance issue on all versions of QNX2.

If the file cleanup could be done in the background you could create a script that does the rm’s as you describe and run it when needed (or kick it off periodically with cron).

I hate to contradict someone so knowledgable as Ken, but…
I’m pretty sure that the b in 2.21atpb meant Big, but in another way. The ‘b’ OS supported more tasks. There was a switch about the time when QNX went from 1.x versions to 2.x where the file system capabilities were increased.

I now have QNX’s docus in front of me, so I’ll reproduce the whole thing here.

Max number of extents per file: 65,353
Max bytes per extent 2,147,483,647
Max files per directory 32,767
Max blocks per disk: 2,147,483,647
Max disk volume by size(bytes): 1099,511,627,776
Max file size(bytes): 1,099,511,627,776
Max number open files: 4 to 1000(configurable). Default=64
Max number of QNX drives: 8
Max number of mounted drivers: 8
Max number adopted drives: 16
Max number drives/nodes in search: 8
Max characters in filename: 16
Max characters in a pathname: 256

I find the maximum file size suspicious. I think it is based on bytes/extent * extents/file. It is certain that ftell() would have a problem with a file over 2^32. Currently neither QNX 4 nor QNX 6 seems to allow a QNX File system file > 2^31.

Achh! Mitchell, you’re right. I was thinking of the big ‘bfiles’ utility. Boy oh boy, my memory is suffering from bit rot.

You’re not alone with that problem Ken. It’s quite amazing that we can remember anything at all about QNX2, isn’t it?

Hello !

Thank you very much for the fast answers - they’re very helpfull for me !
I’m glad that you’ve answered me.

Two new questions occured:
In QNX 2, is there a similiar command to the MAN-command of LINUX ?
(or at least a list, which commands are available ?)

Is it possible to install QNX 2 on a new PC ?
(The old one’s are a Pentium MMX 233 Mhz and a Pentium 133 i think).
It’s not possible for me to upgrade to a new version of QNX (6.2 or so) because the manufacturer of the machine has discontinued this machine and therefore no new software for the machine is available. As far as i know (what i’ve seen in the internet) binaries from QNX 2 will not work in QNX 4 or 6, they must be new compiled - right ?

Again, thanks for your efforts !

Kind regards

There is no man command. IIRC the closest to it was the ‘expl’ command which is sort of bizarre and never really supported. To see what standard commands are available (assuming a standard installation) you can just ‘ls /cmds’ to see most QNX commands. You do know on QNX2 that you can issue a ‘?’ following the command to see the syntax, right? For example, ‘file ?’ will give you the syntax for the files cmd.

Installing QNX2 even on an old Pentium machine could be challenging. Getting it to work on a modern Pentium 4 PC might be possible but I would guess not. Don’t even think about taking advantage of Dual core.

The QNX2 binaries are not compatible with newer versions.

You can run VMware under QNX 2 on a Pentium. I was elated to find out a few months ago that VMware is now available free. There’s no network support of course, and I only know of two ways to get data on and off the system, floppy drives, and a parallel Zip drive combined with a driver I sell. Using talk over a serial line might also work, but I haven’t tried it. There may be other ways I haven’t considered.

expl is not all that bad. Take a look in the /expl directory, and then run “$ expl command” for any commands listed. The descriptions are usually a little better than the ‘$ command ?’ help.

To ALL of you:

Thank you very much for helping me !

For now i know enough - perhaps some other questions will occur in the future.
Now i’ll try to use my QNX version with a pentium II or something like this - i think at least one old PC should be still left in your company to experiment with.

With the best wishes for a nice christmas and a happy new year !