본문 바로가기

22년 2학기 학교공부

[SYSP] LEC2. Computer Systems

목차

    728x90
    반응형
    SMALL

    컴퓨터 시스템의 계층도

     

    컴퓨터 하드웨어의 구조

    - 하드웨어 구성요소

    버스 buses

    입출력 장치 I/O devices

    주기억장치 main memory

    캐쉬 cache memory

    중앙처리장치 CPU

     

     

    버스 : 구성요소간의 정보교환 통로

    - 종류 : 입출력버스, 시스템버스

     

     

    프로세서

    중앙처리장치 Central Processing Unit CPU

    - 산술논리연산장치 : arithmetic and logic unit ALU

    - 제어장치 : Control unit

    - 레지스터

    프로그램 카운터 PC

    상태 레지스터

    메모리 주소 레지스터

    메모리 데이터 레지스터

    명령 레지스터 instruction pointer IP

    범용 레지스터 general-purpose register

     

     

    CPU

    - 주요 기능 : 기억장치로부터 명령/데이터 호출 및 저장

    명령 해석 - 제어장치 / 명령 실행 - ALU / 입출력 연산 - I/O

    - 명령 주기 Instruction cycle

    인출 fetch : PC에 의거하여 명령어를 가져옴

    해독 decode : 명령어를 해석하여 제어 신호 생성

    실행 execution : 가져온 명령어를 실행

    결과저장 store : 실행 결과 저장

     

     

    운영체제 Operating System : 응용프로그램이 하드웨어를 효율적으로 사용할 수 있도록 도와주는 프로그램

    - 목적 : 하드웨어 추상화, 시스템 인터페이스 추상화

    - 운영체제의 관리대상 : 프로세스, 메모리, 입출력장치, 소프트웨어 자원(파일시스템, 라이브러리, 유틸리티)

     

     

    hello.c 컴파일 과정 (unix -> gcc -o hello hello.c)

    #include <stdio.h>
    
    int main()
    {
        printf("hello, world\n");
    }

     

     

    컴파일 과정을 이해하는 것의 중요성

    - 프로그램이 컴퓨터 내부에서 어떻게 처리되는지 이해할 수 있다

    - 대규모 프로그램 개발 과정을 이해할 수 있다

    - 프로그램 성능을 개선할 수 있다

    - 링크시에 발생하는 에러를 이해할 수 있다

     

     

    변환된 프로그램 실행

    cesl-linux> ./hello
    hello, world
    cesl-linux>

    리눅스 쉘에서 실행파일 이름을 치면 실행됨

    - 쉘이 여러분이 입력한 파일 이름을 찾아서, 그것이 실행파일이면 프로그램을 로드하여 실행함

    - hello 프로그램이 실행되면서 결과가 화면에 출력됨.

    - 쉘이 다음 명령을 기다리고 있음

     

     

    컴퓨터의 구조

     

    hello 명령의 인식

     

    hello 프로그램의 로딩

     

     

    hello 프로그램의 실행

     

    728x90
    반응형
    LIST