0. Introduction

2024. 11. 28. 12:10DiveIntoSystems

728x90
반응형

컴퓨터 시스템의 정의

  • 컴퓨터 시스템: 하드웨어와 소프트웨어의 결합체로, 사용자와 프로그램이 컴퓨터를 사용할 수 있게 한다.
    • 입출력 포트(I/O ports): 외부 환경과 정보를 주고받는다.
    • 중앙 처리 장치(CPU): 명령을 실행하고 데이터를 처리한다.
    • 랜덤 액세스 메모리(RAM): 실행 중인 프로그램의 데이터와 명령을 저장한다.
    • 보조 저장 장치: 전원이 꺼져도 데이터를 영구적으로 저장한다.
    • 운영 체제(OS): 하드웨어와 사용자 프로그램 간의 인터페이스를 제공하고 자원을 관리한다.

현대 컴퓨터 시스템

  • 일반 목적 및 재프로그래밍 가능: 특정 응용 프로그램에 국한되지 않고, 하드웨어나 소프트웨어를 변경하지 않고도 다양한 프로그램을 실행할 수 있다.
  • 멀티코어 프로세서: 여러 프로그램을 동시에 실행할 수 있는 병렬 처리 기능을 갖추고 있다.

학습 목표

  • 프로그램 실행 과정 이해: 고급 프로그래밍 언어로 작성된 프로그램이 하드웨어에서 어떻게 실행되는지를 배우게 된다.
  • 시스템 비용 평가: 프로그램 성능에 영향을 미치는 시스템 비용을 이해하고, 효율적인 코드 설계 방법을 학습한다.
  • 병렬 프로그래밍 활용: 멀티코어 환경에서 병렬 프로그래밍을 통해 프로그램 성능을 향상시키는 방법을 배운다.

시작하기

  • 사용 언어 및 도구: C 프로그래밍 언어와 GNU C 컴파일러(GCC), Linux 운영 체제를 사용하여 실습을 권장한다.

이 책은 컴퓨터 시스템에 대한 깊이 있는 이해를 제공하며, 실용적인 프로그래밍 및 시스템 설계 능력을 키우는 데 중점을 둔다.

 

https://diveintosystems.org/book/introduction.html

 

Dive Into Systems

Dive into the fabulous world of computer systems! Understanding what a computer system is and how it runs your programs can help you to design code that runs efficiently and that can make the best use of the power of the underlying system. In this book, we

diveintosystems.org

 

반응형