Windows System Programming

mohadang·2023년 4월 23일
0
post-thumbnail

시스템의 범위

하드웨어 + 운영체제

시스템 프로그래밍

컴퓨터 시스템을 활용하는 SW 개발
Windows OS 자체의 기능을 십분 활용하는 프로그래밍

응용 소프트웨어 개발과의 차이점

시스템 프로그래밍은 모든 응용 프로그램에 포함되는 요소

컴퓨터 시스템 구성

컴퓨터 하드웨어

버스 인터페이스 : 데이터를 CPU 내부로 읽기 위해서 필요. I/O 버스를 통해 데이터를 받음
레지스터 : CPU 내부에서 사용하는 저장 장치. 레지스터에 있는 제이터를 ALU, CU가 사용. CPU 내부에서 컨텍스트 스위칭 할때 레지스터의 데이터가 교환
Control Unit : CPU의 다른 장치(ALU, 레지스터) 제어, CPU 안에서 CPU 역할
ALU : 수학적 연산 수행

클럭 신호

클럭 발생기에서 클럭 신호를 발생 시킨다
클럭이 발생 할때마다 CPU의 장치가 동작함
CPU의 각 장치의 동기화를 위해 필요

Stored Program Concept(폰노이만 아키텍처)

Fetch : CPU 내부로 명령어 이동
Decode : CU에서 명령어 해석
Execution : 연산을 진행(ALU의 산술 연산)

버스 시스템

데이터 버스 : 데이터 이동
어드레스 버스 : 주소 이동, 메모리 주소 데이터가 이동됨
컨트롤 버스 : 컨트롤 신호 이동, CPU와 메모리 사이의 상호 작용을 위해 신호를 주고 받는 통로(FTP에서 클라이언트와 서버가 파일을 주고 받는 것 이외에 통신을 열거나 마치는 작업등을 수행하기 위해 사용하는 Port와 비슷)

64bit system, 32bit system

X bit system의 의미

I/O BUS에서 한번에 송수신 가능한 데이터 크기
CPU에서 한번에 데이터 처리할 수 있는 크기
프로그램에서 사용할 수 있는 메모리 주소 전체 범위 결정
32bit는 포인터 크기가 32bit
64bit는 포인터 크기가 64bit

32 bit 프로그램은 64 bit 프로그램에서 동작 가능하다. 다만 성능에 지장을 줄 수 있다.
32 bit 프로그램에서 메모리 주소를 BUS로 보낸다고 하면 32 bit 프로그램은 32 bit씩 2번 데이터를 보내야만 하나의 메모리 주소를 전달 가능하다.
불필요하게 한번더 I/O 버스를 사용 하는 것이다.

profile
mohadang

0개의 댓글