Skip to content

A Java-based operating system simulator implementing core functionalities including booting, process scheduling with a circular algorithm, memory management with dynamic partitioning, hierarchical file system operations, process management commands, process listing, interruption, blocking/unblocking, and a simple assembler with register simulation.

Notifications You must be signed in to change notification settings

bojicuros/java-os-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

46 Commits
Β 
Β 
Β 
Β 

Repository files navigation

ΠŸΡ€ΠΎΡ˜Π΅ΠΊΡ‚Π½ΠΈ Π·Π°Π΄Π°Ρ‚Π°ΠΊ ΠΈΠ· ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π° ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ систСми

Основни Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ су сљСдСћи:

  1. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π·Π° подизањС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ систСма – booting.
  2. Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° распорСђивача процСса – Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΠΈ ΠΊΡ€ΡƒΠΆΠ½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚Π°ΠΌ.
  3. Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° ΡƒΠΏΡ€Π°Π²Ρ™Π°ΡšΠ° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΠΎΠΌ – Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡ΠΊΠΎ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡΠ°ΡšΠ΅ са ΠΎΠ΄Π°Π±ΠΈΡ€ΠΎΠΌ Π½Π°Ρ˜Π±ΠΎΡ™Π΅ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›Π΅ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΡΠΊΠ΅ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Π΅.
  4. Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Ρ„Π°Ρ˜Π» систСма – Π΄Ρ€Π²ΠΎΠ»ΠΈΠΊΠΎ (ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС ΠΈΠ½Π°Ρ‡Π΅ Ρƒ пракси ΠΊΠΎΠ΄ Π²Π΅Ρ›ΠΈΠ½Π΅ ОБ
  5. *Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π΅ са ΡƒΠ»Π°Π·Π½ΠΎ/ΠΈΠ·Π»Π°Π·Π½ΠΈΠΌ ΡƒΡ€Π΅Ρ’Π°Ρ˜ΠΈΠΌΠ° – Π½Π΅ΠΊΠ° ΡƒΠ»Π°Π· ΡƒΠ²ΠΈΡ˜Π΅ΠΊ Π±ΡƒΠ΄Π΅ тастатура, Π° ΠΈΠ·Π»Π°Π· ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€. Ова ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° сС ΠΌΠΎΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΠΈ ΠΏΡƒΡ‚Π΅ΠΌ Π±Π°Ρ„Π΅Ρ€Π° ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ pooling ΠΈΠ»ΠΈ систСма Π΄ΠΎΠ³Π°Ρ’Π°Ρ˜Π°. Овај Π΄ΠΈΠΎ Π·Π°Π΄Π°Ρ‚ΠΊΠ° јС ΠΎΠΏΡ†ΠΈΠΎΠ½ΠΈ. Π£ΠΊΠΎΠ»ΠΈΠΊΠΎ студСнтима овај Π·Π°Ρ…Ρ‚Ρ˜Π΅Π² Π΄Ρ˜Π΅Π»ΡƒΡ˜Π΅ ΠΏΡ€Π΅Ρ‚Π΅ΠΆΠ°ΠΊ, ΠΌΠΎΠ³Ρƒ користити ΡƒΠ³Ρ€Π°Ρ’Π΅Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΈ писањС ΠΏΠΎ ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ.
  6. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΠΈ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅, Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΈ Π±Ρ€ΠΈΡΠ°ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° – користити ΠΏΠΎΠ²Π΅Π·Π°Π½Π΅ листС Π±Π»ΠΎΠΊΠΎΠ²Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅.
  7. ΠžΡΠΌΠΈΡΠ»ΠΈΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ систСма којС Ρ‚Ρ€Π΅Π±Π° Π΄Π° садрТС најосновнијС ствари Π·Π° којС Ρ›Π΅ ΠΎΠΌΠΎΠ³ΡƒΡ›ΠΈΡ‚ΠΈ ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ΅ Π²Π΅Ρ›Π΅Π³ Π±Ρ€ΠΎΡ˜Π° процСса. Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ΠΈ ΠΈΠΌΠ°Ρ˜Ρƒ слободу Π΄Π° Π½Π°Π²Π΅Π΄Π΅Π½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Ρ˜Ρƒ ΠΊΠ°ΠΊΠΎ ΠΆΠ΅Π»Π΅ ΠΈΠ»ΠΈ Π΄Π° искористС Π½Π΅ΠΊΠΈ linux/windows ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈ јСзикС. ОсновнС ΠΊΠΎΠΌΠ°Π½Π΄Π΅ су:
    • Команда Π·Π° Π»ΠΈΡΡ‚Π°ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΠ° Ρƒ Π°ΠΊΡ‚ΡƒΠ΅Π»Π½ΠΎΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΡƒ
    • Команда Π·Π° ΠΏΡ€ΠΎΠΌΡ˜Π΅Π½Ρƒ Π°ΠΊΡ‚ΡƒΠ΅Π»Π½ΠΎΠ³ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΠ°
    • Команда Π·Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅, Π±Ρ€ΠΈΡΠ°ΡšΠ΅ ΠΈ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡšΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΠ°
    • Команда Π·Π° ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ΅ ΠΈΠ·Π²Ρ€ΡˆΠ½Π΅ Π΄Π°Ρ‚ΠΎΠ΄Π΅ΠΊΠ΅ ΠΈ слањС Ρƒ ΠΏΠΎΠ·Π°Π΄ΠΈΠ½Ρƒ ΠΊΠ°ΠΊΠΎ Π±ΠΈ ΠΌΠΎΠ³Π°ΠΎ Π΄Π° сС ΠΏΠΎΠΊΡ€Π΅Π½Π΅ Π½ΠΎΠ²ΠΈ процСс – ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠΈΡ˜Π΅Π²Π° сС ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ слањС Ρƒ ΠΏΠΎΠ·Π°Π΄ΠΈΠ½Ρƒ. Π’ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π° сС ΡƒΠ»Π°Π·Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΡƒΠ²ΠΈΡ˜Π΅ΠΊ ΠΏΡ€ΠΎΡΠ»Π΅Ρ’ΡƒΡ˜Ρƒ ΠΏΡ€Π΅ΠΊΠΎ тСкстуалнС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅, Ρ‚Π΅ сС Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π°ΡšΠ° Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΈΡΠΏΠΈΡΡƒΡ˜Π΅ Ρƒ Π½Π΅ΠΊΡƒ ΠΈΠ·Π»Π°Π·Π½Ρƒ тСкстуалну Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ. Позив ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡƒΠ΄Π΅ Π½Π° сљСдСћи Π½Π°Ρ›ΠΈΠ½: <Π½Π°Π·ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π΅> <Π½Π°Π·ΠΈΠ² ΠΈΠ·Π²Ρ€ΡˆΠ½Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅> <Π½Π°Π·ΠΈΠ² Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ са Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΠΌΠ°>
    • Π›ΠΈΡΡ‚Π°ΡšΠ΅ Π°ΠΊΡ‚ΡƒΠ΅Π»Π½ΠΈΡ… процСса – Π·Π° сваки процСс ΠΏΡ€ΠΈΠΊΠ°Π·Π°Ρ‚ΠΈ Π½Π΅ΠΊΠ΅ стандарднС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΏΠΎΠΏΡƒΡ‚: ΠΏΠΈΠ΄, ΠΈΠΌΠ΅Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½ΠΎ ΡΡ‚Π°ΡšΠ΅ процСса (ΠΏΡ€Π΅ΠΌΠ° ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠΌ циклусу), Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½ΠΎ Π·Π°ΡƒΠ·Π΅Ρ›Π΅ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ ΠΈ слично
    • ΠŸΡ€Π΅ΠΊΠΈΠ΄ Π½Π΅ΠΊΠΎΠ³ процСса
    • Π‘Π»ΠΎΠΊΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΎΠ΄Π±Π»ΠΎΠΊΠΈΡ€Π°ΡšΠ΅ Π½ΠΎΠΊΠΎΠ³ процСса
    • Π“Π°ΡˆΠ΅ΡšΠ΅ симулатора
  8. ΠšΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π°Π½ асСмблСр. Овом ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ највишС дСсСтак основних Π½Π°Ρ€Π΅Π΄Π±ΠΈ асСмблСра (ΠΏΡ€Π΅Π±Π°Ρ†ΠΈΠ²Π°ΡšΠ΅ ΠΈΠ·/Ρƒ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Ρƒ са рСгистра, ΡΠ°Π±ΠΈΡ€Π°ΡšΠ΅, ΠΎΠ΄ΡƒΠ·ΠΈΠΌΠ°ΡšΠ΅, мноТСњС, Π΄ΠΈΡ˜Π΅Ρ™Π΅ΡšΠ΅, Π½Π°Ρ€Π΅Π΄Π±Π° скока ΠΈ слично). Овом ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΠΈ ΡΠΈΠΌΡƒΠ»Π°Ρ†ΠΈΡ˜Ρƒ рСгистара. ΠŸΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ ΡƒΡ‡ΠΈΡ‚Π°Π²Π°ΡšΠ° асСмблСрског ΠΊΠΎΠ΄Π° (тСкстуалнС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ са Π΅ΠΊΡΡ‚Π΅Π½Π·ΠΈΡ˜ΠΎΠΌ .asm), ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС гСнСрисати ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈ машински ΠΊΠΎΠ΄, Ρ‚Π΅ Π³Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚ΠΈ. ΠžΠΌΠΎΠ³ΡƒΡ›ΠΈΡ‚ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ ΠΈ рСгистара.

About

A Java-based operating system simulator implementing core functionalities including booting, process scheduling with a circular algorithm, memory management with dynamic partitioning, hierarchical file system operations, process management commands, process listing, interruption, blocking/unblocking, and a simple assembler with register simulation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published