본문 바로가기
반응형

Programming/System Programming6

[System Programming] 프로세스의 스케줄링과 상태 변화 1. 프로세스 CPU 하나에 여러 개의 프로세스를 동시에 실행하여 멀티 프로세스를 구현한다. 멀티 프로세스 운영체제에서 여러 개의 프로세스가 실행되는 것처럼 보이는 이유는 여러 개의 프로세스들이 CPU의 할당시간을 나누어 실행하기 때문이다. 2. 스케줄링과 스케줄러 스케줄링이란 프로세스의 CPU 할당 순서 및 방법을 결정짓는 일을 가리킨다. 이때 스케줄링 알고리즘이 사용되며, 이를 적용하여 프로세스를 관리하는 운영체제 요소(모듈)를 스케줄러라고 한다. 3. 멀티 프로세스 세 개의 프로세스를 모두 실행한다고 했을 때, 멀티 프로세스 운영체제에서는 스케줄러에 의해 각각의 프로세스를 프로세스들이 관리하도록 한다. 정해진 순서에 따라 CPU의 실행 시간을 나누어 할당받아 실행하는 형태이다. 프로그램 실행 과정에.. 2021. 2. 13.
[System Programming] 프로젝트 디자인 - 에러코드확인 / 명령프롬프트 에러 코드 확인 - 오류의 원인 확인 및 해결 방법 필요 - Windows 시스템 함수 호출 시 오류 발생 - GetLastError 함수 호출을 통해 오류 원인 확인 가능 / Windows 시스템 함수 오류 발생시 NULL 반환 명령프롬프트 명령 프롬프트에서 명령어 추가하기 int CmdProcessing(void) - 명령어를 입력 받아 해당 명령어에 지정된 기능 수행 - Exit가 입력되면 TRUE를 반환, 프로그램 종료 2020. 12. 20.
[System Programming] Windows, UNIX / 32bit vs 64bit 운영체제 win64비트와 win32비트의 구분 방법 - CPU가 버스를 통해서 한 번에 전송 및 수신할 수 있는 데이터의 크기 - 데이터 처리 능력(명령어 포함) - 메모리에서 CPU에 한번에 전달할 수 있는 명령어의 개수에 따라 달라짐 1) 32비트 - 데이터를 4byte 단위로 처리 및 송신 - 32비트의 컴퓨터에서 최대 RAM의 크기는 4G바이트 2) 64비트 - 데이터를 8byte 단위로 처리 및 송신 - 64비트 컴퓨터에서 최대 RAM의 크기는 16테라 바이트 내부 메모리에 해당하는 램의 주소 - 운영체제에서 프로그램을 위한 가상의 주소 - 주소의 표현 범위가 넓으면 좋은 이유 -> 메모리 부족으로 프로그램 실행 불가하지 않음 내 컴퓨터에서 RAM 할당 방법 - 주소를 표현하는데 32비트를 활용(2의 3.. 2020. 12. 20.
[System Programming] 아스키코드와 유니코드 아스키 코드(ASCII CODE) - 미국에서 정의된 표준 - 1바이트(8비트)로 문자 표현 - 알파벳 26개, 확장 문자 포함 총 256개 문자 표현 유니코드(UNICODE) - 2바이트(16비트)로 문자 표현 - 전세계 언어 표현 가능 - 문자의 종류 65,536개 2020. 12. 14.
[System Programming] 프로그램의 실행 과정 / 데이터버스 주소버스 컨트롤버스 프로그램의 실행 과정 - 프로그램은 컴퓨터 내부에 저장되어서 순차적으로 실행되어야 한다. - 전처리기에 의한 치환 작업(#으로 시작하는 전처리지시자) - 컴파일러가 기계어로 번역(CPU의 명령어로 번역) - 어셈블러가 기계어를 바이너리 코드 생성(CPU의 명령어를 바이너리 코드로 번역) - 링커에 의한 연결과 결합(라이브러리와의 결합) - 로더에 의해서 실행 가능한 파일을 메모리에 적재 - 명령어를 CPU에 올려주고 CPU에서 명령어 실행 데이터 이동 버스 시스템 - 주소 버스(Address Bus) : 주소값을 이동하기 위해 필요한 버스 - 데이터 버스(Data Bus) : 데이터를 이동하기 위해 필요한 버스 - 컨트롤 버스(Control Bus) : CPU가 원하는 바를 메모리에 전달할 때 사용(제어) 2020. 12. 14.
[System Programming] 컴퓨터 하드웨어의 구성 / CPU 시스템 프로그래밍이란? - 컴퓨터 시스템을 동작시키는 프로그램 - 하드웨어를 직접 컨트롤 - Windows 운영체제 자체의 기능을 십분 활용하는 프로그래밍 - 시스템의 범위 : 하드웨어 + 운영체제 컴퓨터 시스템의 주요 구성 요소 CPU, 캐쉬 메모리 : 컴퓨터 하드웨어 구조 운영체제 : 메인 메모리(프로그램의 속도를 높임), 하드디스크(파일I/O 포함) 컴퓨터 하드웨어의 구성 - CPU CPU(Central Processing Unit) - 중앙처리장치, 기본적으로 연산을 담당 - 컴퓨터 프로그램의 실행에 있어서 핵심적인 역할 메인 메모리(Main Memory) - 컴파일이 완료된 프로그램(실행가능한 파일) 코드가 올라가서 실행되는 영역(RAM) 입출력 버스(Input/Output Bus) - 컴퓨터를.. 2020. 12. 14.
반응형