PSMSHELL(1)

πŸ“¦ version 3.2.1, in ubuntu jammy

πŸ’… PSMSHELL β€” like, the PSM memory management test shell, bestie

okay so this is the manual for psmshell, which lives in section 1 of the ICI executables manual. it's a little interactive playground for poking at PSM memory management and honestly? it's giving lab-partner energy. 🧚


✨ SYNOPSIS ✨

psmshell partition_size

that's it. one argument. you got this. 🫢


🌸 DESCRIPTION 🌸

so psmshell grabs a whole region of system memory that's partition_size bytes big, hands it over to PSM management, and then lets you loose inside it with an interactive "shell" so you can test out all the different PSM management functions. it's a sandbox. it's a vibe. πŸ–οΈ

here's the loop, no cap: psmshell prints a prompt string (": ") to stdout, you type a command on stdin, it runs the command (and maybe prints a diagnostic message about it), then it prints another prompt, and on and on forever until you say stop. πŸ’«

so whenever stuff gets allocated out of that PSM-managed region, we call those spots "cells" in all the psmshell operations. meaning: when you wanna allocate something, you have to give a cell number in the range 0-99, and that becomes the notional "handle" for the object so you can reference it in later commands. it's like giving your blorbo a name tag. πŸŽ€

here are all the commands it supports, and yes i mean ALL of them:

  • h β€” the help command. makes psmshell print a summary of the available commands. literally the same effect as the ? command. πŸ’–
  • ? β€” another help command. makes psmshell print a summary of the available commands. literally the same effect as the h command. (yes they're twins. iconic.) ✨
  • m cell_nbr size β€” the malloc command. allocates a large-pool object of the size you indicated, and associates that object with cell_nbr.
  • z cell_nbr size β€” the zalloc command. allocates a small-pool object of the size you indicated, and associates that object with cell_nbr.
  • p cell_nbr β€” the print command. prints the address of the object associated with cell_nbr β€” and by address we mean the offset within the managed block of memory, okay? not a real pointer. iykyk. 🫢
  • f cell_nbr β€” the free command. frees the object associated with cell_nbr, and gives the space that object used to take up back to the appropriate free block list. bye bestie, you're recycled now. πŸ‘‹
  • u β€” the usage command. prints a partition usage report, exactly as per psm_report(3). πŸ“Š
  • q β€” the quit command. frees the allocated system memory in the managed block and terminates psmshell. the dramatic exit. πŸ’€

πŸŽ€ EXIT STATUS πŸŽ€

  • "0" β€” psmshell has terminated. that's the only one. she leaves clean. periodt.

πŸ¦‹ FILES πŸ¦‹

no configuration files are needed. none. zero. she's low maintenance. πŸ™ˆ


🌈 ENVIRONMENT 🌈

no environment variables apply. she does not care about your $PATH, she does not care about your dotfiles. nothing. πŸ’œ


πŸ’€ DIAGNOSTICS πŸ’€

  • IPC initialization failed. this is an ION system error. go investigate, correct the problem, and try again. 😭
  • psmshell: can't allocate space; quitting. there wasn't enough available system memory for the partition size you picked. πŸ˜”
  • psmshell: can't allocate test variables; quitting. same deal β€” not enough available system memory for the partition size you picked. πŸ˜”

πŸ”₯ BUGS πŸ”₯

found a bug? report bugs to <ion-bugs@korgano.eecs.ohiou.edu>. they wanna hear about it fr fr. πŸ“¬


πŸ‘‘ SEE ALSO πŸ‘‘


and that's the whole page, bestie β€” this version of the psmshell man page came out with perl v5.24.1, dated 2016-07-07, filed under PSMSHELL(1). slay, go allocate responsibly. πŸ’–βœ¨πŸŒΈπŸ¦‹πŸŽ€

πŸ“¦ where this page comes from