Skip to content

notawhalea/OSaSP-Labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HELLO WORLD! 🌍


Operating Systems and System Programming BSUIR(ОСиСП БГУИР 5 сем)

It's my solution of some tasks. Here i learn and gained experience in working with WinAPI and C++:stuck_out_tongue:

What I've done


First lab🐹

Studying the event architecture:factory: of Windows applications, the message processing mechanism, the window redrawing mechanism.

  • Develop a program that allows you to move a sprite (a colored rectangle or an ellipse) within the workspace of a window using the keyboard and mouse.
  • Make sure the mouse wheel works. Scrolling moves the sprite vertically. With the Shift key held down, scrolling the wheel moves the sprite horizontally.
  • Give the sprite movement with a bounce from the borders of the window.

Second lab🐋

Learning the output of text and fonts.:computer:

  • Develop a program that fits into a window a text table (N rows by M columns) in such a way that all columns of the table are evenly are distributed across the width of the window, and the height of the rows of the table is selected in such a way as to accommodate the text of each cell.
  • When resizing the window, the table is recalculated and redrawn.

Third lab🐶

Learn how to create and use dynamically-loaded libraries (DLLs), a method of injecting a DLL into another process using a remote thread.

  • Develop a DLL with a function that searches the entire virtual memory for a given string and replaces it with another string.
  • Develop a program that performs a static import of a DLL and calls its function.
  • Develop a program that performs a dynamic import of a DLL and calls its function.
  • Develop a program that injects a DLL into a given process using a remote thread and calls a DLL function.

Fourth lab

Working with the registry:floppy_disk:

  • Develop a program to create and delete keys in the registry.
  • Develop a program to write the initial value of the selected file in the registry to a file
  • Develop a program to work with the registry by creating and deleting subkeys

Fifht lab🐨

Studying the creation and use of threads and synchronization mechanisms.:lock:

  • Design a job queue into which multiple threads can insert items atomically.
  • Develop a handler for this queue, which extracts tasks from it and distributes them to a given number of threads.
  • Develop a program that uses a job queue and a queue handler to sort lines in a text file: The input stream reads the file into memory, cuts it into pieces and creates several sort jobs (by the number of sorting streams), placed in the job queue. Sorting threads extract tasks, sort their parts of the file, return all results output stream. The output stream waits for all the sorted parts and merges them using sorting merge.

I just relax and gained experience here.

Still in progress? Convert to draft!:wink:

I wanna hide the truth. I wanna shelter you. But with the beast inside. There's nowhere we can hide. No matter what we breed. We still are made of greed. This is my kingdom come:microphone: Demons-Imagine Dragons

Releases

No releases published

Packages

No packages published