Systems Software:
- Operating systems
- Sometimes called a platform
- Examples:
- The 'kernel' looks after low-level hardware operations
- User Interface
- How the user interacts with the system - can be part of OS or separate
- GUI (graphical user interface) uses icons to represent resources and actions
- GUI's use mouse pointers or touch screens
- Device drivers
- Annoying things you need to install for anything to work
- Give OS instructions on how to use the installed hardware
- Firmware
- Servers
- Utilities
- Carry out simple maintenance tasks
- Examples:
- Defragmentation
- Rearrange files for better read/write speed
- Interfaces
- Security
- Anti-Virus
- Anti-Spyware
- Firewall
Development Software
- Programming languages and utilities
- Python
- Java
- JavaScript
- C
- C#
- C++
- ActionScript
- Ruby
- Lua
- Editors
- IDE (Integrated Development Environment)
- Code highlighting
- Code prediction
- Color coding
- Auto-indentation
- Error checking/Debugging
- Compilers
- Translate high-level source code code used by prgorammer into machine code (object code)
- Source Code > Translate Code > Create Object Code > Execute Object Code
- Interpreters
- Translate the code into machine code one line at a time as the program is running
- Source Code > *Translate Line of Code > Execute Code > *
- Assemblers
- Translate assembly language into machine code
- Linkers
- Connect seperate modules of code to ensure they work together
Applications
- Useful programs run on the OS and do real world jobs
- Examples:
- Web browser (Chrome, Firefox, Opera, not IE)
- Game software (Steam, Origin, uPlay)
- Productivity (Office, Calculator)
- Custom Written
- Advantages
- Specifically written for the customers needs
- Work with devs to design and directly support the software
- Disadvantages
- Cost borne by one customer so quite expensive
- Time needed to develop product
- No community available for bug support and testing
- Likely to be more errors
- Developer may not remain in business
- Off the shelf software
- Advantages
- Available immediately
- Thoroughly tested and relatively bug free
- Wide community of users and support
- Development costs already met, so inexpensive
- Disadvantages
- May not meet exact requirements of organisation
- Open source software
- Advantages
- Software can be adapted to individual needs
- Bugs spotted and quickly fixed
Multi-Tasking
- Running - CPU is dealing with this process
- Runnable - Ready to go, awaiting running program to finish
- Waiting - These processor are waiting to get into the queue to become runnable
- Job created, loaded from secondary storage to memory
- Job waits for scheduler to allocate processing time until it is running
- If it needs resources which aren't available, it's blocked and stops running
- Wait until resources available, allocates processing time
- Job is complete, it is terminated
Windows OS Examples:
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tzk2IUW8px8CNGv8DXeuh8FKWYwbCKKiXpJC50tQ4omcKKoTqaYWVpmW5RneUU7AeIiLBMI7NButqP48cI54_6_0R4slvb1vZskKSp41kypLiYLDcwpb4C2lDYhYfsGk9Vt1ziHsSm1YaRzOvBAst1_ojHvpWWPUCaQsTbbOjCg-BZFQu8OvUb8pDKYz2ISufzwzIVgm1u1fmQF24RaNnqyn4GMjQ12N0S=s0-d) |
MS DOS |
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tSuMqUchhzzbXaqDAuP1cnJlqLRRImPAcZZtT6kK-oacrfG8VcC6UHDck9shyuomZuH0WyeLt7XtrRlMg45jEyxkCSXCBTu6E28UgEhU-3IaJWHn3Ej1kH0fP0Q-o=s0-d) |
Windows ME |
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vVxkYC1Zokb1E0jtWaDbyGU9p1yB7V-8w14VSgZH7bMlUKsyAlfEPUpglpAn0KzdOGG3UVsRtNxWJm8eo7Ws3oO9md_qIVbL4pVHqwvsJawlUihxsBADeUw1qGl9OK2mpzCFl4ZA4ovkFr=s0-d) |
Windows 3.1 |
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_syH6shGoh-prvosSWJHOOIuzru3UcCkZmkdUvRH2If6lG2yLf7SivcmtkrbCfJ3efyMWL666hBkwbmNmhwpIEvt8rEUP6s4Et7vWAusjxC3cAno6iu2XHJkfcDlAPwpVT_Pwc=s0-d) |
Windows XP |
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_t3xGtS4ELwO8Ej2v6rGGNYAan22_czQkeIrCS123tnWfNjGHrB1tTT8NlnT4F513zIMwGzA47tZMoztCsFA8d3ygJBexb0kJyAVhC7Wt02GsnnXVckez91wktfE8QEgDVDAg=s0-d) |
Windows Vista |
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tIWmkFZytCwaakMvZCpkH9idreJJUeIh4KDt7CISZyjAbPZpj368dxXDA5QmIJVFt8wdy5krM7QOfXQHzqH51Q1651Ym13-H9R9mK6jF_kdiki6U6JRTpkp2wxFrGvKuMmPSOKuaKsNlU8ZHfZ8irdAIe2mV3duKEuVjy1-VJH0x9yDx_O=s0-d) |
Windows 8 |
Unix OS Examples:
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uTSXKLB3nevD3l_1W-6CO3O7iIsnBrJ1NrrfWlt4a_dqsXKolZ504-vnX2lbXkwhHofUJnciY38eSuOK5YsmoelLOXg-ikl49Qb8QMBmv4l5tVzHAhO6afncDVfS369u5p98VsOPPEoVKZDbFOfw=s0-d) |
Ubuntu Linux |
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_unlfdMP5cUZeBoyHrU0PX-2jLBWM-SATKNqX9Uztj-R0xoKc469ssWZLfvy1VEY-J7AmKLeMklKsNC1km6K7bEaGnebe3iwum7rihoCAonOAzqpFnjnYfxJQkc5iQtfuSZOVTjeN7UvtE=s0-d) |
Debian Linux |
Emulators
Emulators can imitate and run the software of another OS. Examples:
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sLHS-edKznlTSIvhXCUZAc3JqB0fab-2soTjn4-q5EqDorl2lndSEKbMWIRAZJ7AVFElBD1FQakSMXe74rYWzAr4-DRPizPyQspmmTxoxi3PgNM39OwaIy24qPiDhtC_mWUv1eqbDqZcpir08i=s0-d) |
DOSBOX - MS DOS Emulator |
![Super Mario Bros 3 in FCEUX](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_t6OL79FeWyqbvhXaN5w9SbJ-lqUXr94GPeDTmpIh1kc-r0MajXuHYNGIpHisLbqQtLCQzuwC7E6R2dH-wSTn3gBtzMNiVpx-CB1FIUp9nApg=s0-d) |
FCEUX - NES Emulator |
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ejoHhzTVkqlkuW9m8LT6t-vQUcL6KDXyPYwz4aHrDG8f4HsJYyVh1TDYDC5vqGcodg04avuh2cP4jhPUNYh_xqe30dz-j7bLMlHLu9x4LzYAcxc7_SXQM1NvPQ-x7wsIiVF93r6s794P/s200/Screen+Shot+2012-02-26+at+4.17.03+PM.png) |
Dolphin - Wii/GameCube Emulator |