Design and Engineering of Computer Systems

بواسطة: Swayam

Overview

In this course, we will understand how to design and engineer real-world computer systems, covering important concepts cutting across multiple topics such as operating systems, computer networks, computer architecture, virtualization, cloud computing, performance analysis, and distributed systems. The course is accessible to anyone who has a basic introduction to computer programming; no other prior knowledge is assumed.The course concepts will be covered in a bottom-up manner, beginning with a discussion of the building blocks of computer systems, and ending with case studies and examples of end-to-end design of real-world computer systems. We start with an overview of computer systems hardware. We then understand how the operating system manages the hardware, and how user applications are built over the operating system. We will also understand how user applications communicate over the Internet. We will then study how a computer system is assembled from various sub-components, using examples from real life. Next, we will learn how to measure the performance of computer systems, and how to optimize for good performance. Finally, we will study some techniques to improve the fault tolerance and reliability of computer systems. The course will not be tied to any specific programming language or framework, but will focus on the best practices and principles for designing and engineering computer systems. It is expected that by the end of the course, students will get a good understanding of how real-world computer systems work, and will be able to apply the concepts learnt in the course to design systems on their own.PRE-REQUISITE :Introduction to programming. A previous course in operating systems or computer networks can be helpful, but not necessary.INDUSTRY SUPPORT :Computer Systems, Operating Systems, Computer Networking, Distributed SystemsINTENDED AUDIENCE :Senior UG students or PG students in Computer Science. Working professionals.

Syllabus

Week 1 - Introduction to computer systems.• Introduction and overview of the course• Principles for designing computer systems• Overview of computer system hardware and softwareWeek 2 - Process management and CPU virtualization• Process abstraction and process management in operating systems• Threads and concurrency• Virtual machines and containersWeek 3 - Memory management• Memory management in operating systems• Virtual memory and paging• Optimizing memory access in user programsWeek 4 - Disk and network I/O• Filesystem data structures and implementation• Synchronous and event-driven APIs for socket-based network communication• Network I/O subsystem in operating systemsWeek 5 - Computer networking• Architecture of the Internet• Internet routing, transport and applications• Network securityWeek 6 - End-to-end application design• Inter-process and inter-thread synchronization• Architecture of multi-tier applications• Case studies and examples of systems designWeek 7 - Performance engineering• Performance measurement and analysis• Techniques to improve performance of computer systems• Caching, horizontal and vertical scaling, load balancingWeek 8 - Reliability engineering• Techniques for fault tolerance in computer systems• Replication, consistency, and atomicity• Case studies of designing reliable computer systems

Taught by

Mythili Vutukuru

Design and Engineering of Computer Systems
الذهاب الي الدورة

Design and Engineering of Computer Systems

بواسطة: Swayam

  • Swayam
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • الجميع
  • N/A
8.1.2PHP Version1.06sRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (667ms)
    • Application (391ms)
    • 1 x Booting (62.92%)
      667.21ms
      1 x Application (36.83%)
      390.51ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed13.81ms
      • select * from `courses` where `slug_ar` = 'design-and-engineering-of-computer-systems' limit 1
        12.07ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. design-and-engineering-of-computer-systems
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-15 12:30:48' where `id` = 2655
        640μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-15 12:30:48
        • 1. 2655
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (1)
        240μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        220μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (131) and `institutions`.`deleted_at` is null
        220μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (14) and `providers`.`deleted_at` is null
        170μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2646 limit 1
        250μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2646
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        4a0vw4A4M8pzT1aLqkQ2hpVtndVHljvI79jlTXRf
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/design...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/design-and-engineering-of-computer-systems
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "216.73.216.223" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.223" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "950214ac78860bf0-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "216.73.216.223" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.223" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "950214ac78860bf0-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "55608" "REMOTE_ADDR" => "172.70.126.40" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/design-and-engineering-of-computer-systems" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1749990648.0142 "REQUEST_TIME" => 1749990648 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sun, 15 Jun 2025 12:30:48 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImJheEVucFQrRi80Q1BaL2hUSGs1ZEE9PSIsInZhbHVlIjoiOC9SNlU0M0ZFa0lOcTJyK2FDNUE3d3ZQV1BVWmFLTTJLVzNJbG94RWwzOWY0TFpveDdYWkFyNW5tZGJuTWRrYTVKVVN5THNEandhaHVrNi9TNFlwaU00Slh2QXU3d3JrQ3gyTDBXZkNUVFdLUDRiMTNMa1QwOEFUYTk4QXR3L24iLCJtYWMiOiI1ZjYwYjQwNWUwY2M5YWU4ZDY3NWY4M2I5YmI3YmE2NGVkOGMzNjM2Y2FhMDJmYmU0ZjI4YTZkZmFhMDQ0ZGJiIiwidGFnIjoiIn0%3D; expires=Sun, 15 Jun 2025 14:30:49 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6ImJheEVucFQrRi80Q1BaL2hUSGs1ZEE9PSIsInZhbHVlIjoiOC9SNlU0M0ZFa0lOcTJyK2FDNUE3d3ZQV1BVWmFLTTJLVzNJbG94RWwzOWY0TFpveDdYWkFyNW5tZGJuTWRrYTVKVVN5T" 1 => "laravel_session=eyJpdiI6InlTd3lWbXVnSUJ4MHlJU3oza2Y1VHc9PSIsInZhbHVlIjoieTdhelVLcEVXaGJJT1FUeVI2S2F6bWFvdytwVUZZY05kR0RkQTEwSXo2V0dhc0M0eWRVb0xxL2dNTmRGUFB4UTZzdjdlbklOTmNZODJzSk9kNjMrTERXTnd5cStiQzJvL2t3V2k3bXgxcjJleXV1TWZCeC91dStUTEl4dHRDdksiLCJtYWMiOiIxYjcxZDkwY2ZjZDVjNmE5YjVmZWFhMGIxZjAzY2QyN2MzNWM1YjM1N2QzMmM2YjgyNmQ2MWE1M2VhOTJhN2I2IiwidGFnIjoiIn0%3D; expires=Sun, 15 Jun 2025 14:30:49 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6InlTd3lWbXVnSUJ4MHlJU3oza2Y1VHc9PSIsInZhbHVlIjoieTdhelVLcEVXaGJJT1FUeVI2S2F6bWFvdytwVUZZY05kR0RkQTEwSXo2V0dhc0M0eWRVb0xxL2dNTmRGUFB4UTZz" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImJheEVucFQrRi80Q1BaL2hUSGs1ZEE9PSIsInZhbHVlIjoiOC9SNlU0M0ZFa0lOcTJyK2FDNUE3d3ZQV1BVWmFLTTJLVzNJbG94RWwzOWY0TFpveDdYWkFyNW5tZGJuTWRrYTVKVVN5THNEandhaHVrNi9TNFlwaU00Slh2QXU3d3JrQ3gyTDBXZkNUVFdLUDRiMTNMa1QwOEFUYTk4QXR3L24iLCJtYWMiOiI1ZjYwYjQwNWUwY2M5YWU4ZDY3NWY4M2I5YmI3YmE2NGVkOGMzNjM2Y2FhMDJmYmU0ZjI4YTZkZmFhMDQ0ZGJiIiwidGFnIjoiIn0%3D; expires=Sun, 15-Jun-2025 14:30:49 GMT; path=/XSRF-TOKEN=eyJpdiI6ImJheEVucFQrRi80Q1BaL2hUSGs1ZEE9PSIsInZhbHVlIjoiOC9SNlU0M0ZFa0lOcTJyK2FDNUE3d3ZQV1BVWmFLTTJLVzNJbG94RWwzOWY0TFpveDdYWkFyNW5tZGJuTWRrYTVKVVN5T" 1 => "laravel_session=eyJpdiI6InlTd3lWbXVnSUJ4MHlJU3oza2Y1VHc9PSIsInZhbHVlIjoieTdhelVLcEVXaGJJT1FUeVI2S2F6bWFvdytwVUZZY05kR0RkQTEwSXo2V0dhc0M0eWRVb0xxL2dNTmRGUFB4UTZzdjdlbklOTmNZODJzSk9kNjMrTERXTnd5cStiQzJvL2t3V2k3bXgxcjJleXV1TWZCeC91dStUTEl4dHRDdksiLCJtYWMiOiIxYjcxZDkwY2ZjZDVjNmE5YjVmZWFhMGIxZjAzY2QyN2MzNWM1YjM1N2QzMmM2YjgyNmQ2MWE1M2VhOTJhN2I2IiwidGFnIjoiIn0%3D; expires=Sun, 15-Jun-2025 14:30:49 GMT; path=/; httponlylaravel_session=eyJpdiI6InlTd3lWbXVnSUJ4MHlJU3oza2Y1VHc9PSIsInZhbHVlIjoieTdhelVLcEVXaGJJT1FUeVI2S2F6bWFvdytwVUZZY05kR0RkQTEwSXo2V0dhc0M0eWRVb0xxL2dNTmRGUFB4UTZz" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "4a0vw4A4M8pzT1aLqkQ2hpVtndVHljvI79jlTXRf" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/design-and-engineering-of-computer-systems" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]