Memory management is a process of allocating and deallocating memory resources to programs in order to optimize computer performance. It involves methods such as virtual memory, paging and swapping to increase the effectiveness of memory usage. Memory management is handled by either the operating system or the application level depending on the system.
University of Washington
Autumn 2022
This course develops students' understanding of software functioning at different levels of abstraction. Focus areas include C, assembly, and low-level data representation. It also introduces concepts of operating systems and differences between Java and C. It serves as a starting point for those interested in hardware or high-level abstractions.
No concepts data
+ 26 more conceptsBrown University
Spring 2020
This course delves deep into the foundational principles behind computer systems, ranging from hardware intricacies to the vast global internet. Students gain insights into systems programming, the architecture of computer systems, concurrency, and the dynamics of distributed systems. Notably, the curriculum includes projects that offer hands-on experience, like building library functions, creating a toy OS, and designing a scalable key-value storage service. It's a stepping stone to advanced courses like Distributed Systems, Databases, and Computer Systems Security.
No concepts data
+ 35 more conceptsBrown University
Spring 2023
Introductory course covering computer system fundamentals including machine organization, systems programming in C/C++, operating systems concepts, isolation, security, virtualization, concurrency, and distributed systems. Projects involve implementing core OS functionality.
No concepts data
+ 32 more conceptsStanford University
Winter 2023
This course introduces students to operating system concepts, with a primary focus on Unix, and covers key systems concepts in general. It prepares students to deal with larger software systems with programming assignments that are bigger than in many other courses. Topics covered include threads & processes, concurrency & synchronization, scheduling, virtual memory, I/O, disks, file systems, protection & security, and virtual machines.
No concepts data
+ 16 more conceptsWellesley College
Spring 2023
This course explores the inner workings of computers, focusing on how they execute programs. Students gain an in-depth understanding of software and hardware abstractions, ranging from programming languages to transistors. Key areas covered include computational building blocks, hardware-software interfaces, data representation, and practical system abstractions. The course also emphasizes structured reasoning about program execution and promotes skills for independent learning, critical thinking, and problem-solving in computer science.
No concepts data
+ 25 more concepts