[컴퓨터구조] 정리_1
resilient
·2021. 4. 26. 11:00
아스키 7 비트 표준
확장 아스키 ANSI 8비트
컴퓨터 시스템은 기본적으로 하드웨어 요소와 시스템 소프트웨어 요소가 결합된다.
컴퓨터구조는 전통적으로 하드웨어 위주로 공부
운영체제, 소프트웨어의 역할,시동과정 , 신호선의 동작을 이해하는 것이 필요하다.
중앙처리장치, CPU 프로그램 실행과 데이터 처리에 중추적인 역할
기억장치, 메모리 주기억장치, 보조기억장치로 구분
읽기전용롬 ROM<프로그램 메모리> 읽고 쓰는 램 RAM<데이터메모리>
'버스'의 필요성
- 자주 사용하는 신호선의 배선 수를 줄인다.
버스란 정보를 교환하기 위해 CPU와 하드웨어 요소들을 연결해주는 신호선들의 집합
- 전자회로 부품을 연결하는 신호선의 다발
- 하드웨어로 설치된 전선들의 집합
버스의 종류 <기능으로 분류>
- 주소 버스 (address bus)
CPU가 외부로 내보내는 주소 신호, 단방향 전송
주소버스 배선수→외부 기억장치의 최대 용량 결정
데이터 버스(data bus)
CPU가 메모리나 I/O 장치와 데이터를 주고 받는 통로, 한번에 전송할 수 있는 비트 수
제어 버스(Control bus)
CPU 내외부의 장치를 동작시키는 제어신호 기억장치 읽기와 쓰기, 입출력장치 읽기와 쓰기 신호등
단방향 또는 양방향 전송
- 시스템버스 와 I/O 버스
칩셋은 여러칩과 회로가 모여 서로연관된 기능을 수행하도록 설계된 제어 칩들의 조합
메인보드
변경이 쉽지않아 느리게 업데이트된다.
물리적인 크기, 슬롯 방향, 섀시 장착 홀 관련
CPU소켓
- 한정도니 종류의 프로세서만 CPU소켓 공유 핀대신 CPU외관의 접점으로 소켓과 연결
시스템 소프트웨어
- 하드웨어 구동과 관련되어 컴퓨터시스템을 효율적으로 다루기 윟나 프로그램들의 집합
- ex_운영체제 (로더-진단-유틸리티-언어처리기-라이브러리-운영체제)
운영체제란?
컴퓨터를 운영하는 프로그램을 가상으로 표현
시스템 구성요소들의 중재자 (인터페이스제공)
하드웨어를 장악
다른 프로그램들을 관리 (시스템 소프트웨어와 응용프로그램들의 동작을 지원하고 관리)
장치드라이버
하드웨어나 주변장치를 구동시킬 때 운영체제가 요구하는 정보가 들어있는 소프트웨어 파일
웬만한 장치는 운영체제만으로 자동인식
운영체제의 커널
커널은
- 운영체제의 핵심부로 항상 주기억장치에 상주한다.
- 하드웨어와 소프트웨어 요소들 사이의 통신과 시스템 자원을 관리
- OS의 다른 부분에서 공통적으로 필요한 서비스 제공
- 커널 서비스 요청 →OS의 다른 부분이나 응용프로그램에서 시스템 호출을 통한다.
시스템 호출
커널에 운영체제의 서비스를 요청하는 절차
응용프로그램은 프로그래밍 언어에서 지원하지 않는 기능을 웅영체제의 루틴에서 호출해서 사용
운영체제는 여러 가지 저수준의 연산을 수행하기 위한 루틴들의 모음을 가지고 있음
루틴
특정한 작업을 수행하기 위해 자주 사용되는 프로그램이나 프로그램 소스의 일부
쉘
운영체제에서의 쉘은
- 프로그램이나 운영체제의 사용 불편을 개선하기 위해 메뉴 구동형의 사용자 인터페이스를 제공하는 유틸리티 프로그램
- 커널을 감싸고 있는 외부 층의 개념
- 명령어해석기 라고도한다. ( 커널 서비스를 이용할 수 있도록 명령어 라인이나 그래픽 인터페이스를 통해 사용자의 명령을 처리한다.)
- 소프트웨어 적으로 운영체제 프로그램을 감싸는 요소
- 어려운 명령어나 까다로운 사용법을 조개 껍질 처럼 한꺼풀 입혀 사용하기 쉽게해준다.
유틸리티
하드웨어, 운영체제, 응용프로그램을 관리하고 조화시킬 목적으로 설계된 소프트웨어
도구 또는 서비스 프로그램이라고 함
OS에도 다수의 유틸리티 프로그램들이 포함됨
윈도우 운영체제
MS사 GUI특징 운영체제- 운영체제가 사용자와 대화하기 위해 아이콘이라는 그래픽 이미지를 사용하는 프로그램 설계
API
응용프로그래밍 인터페이스의 약자로
프로그래머가 사용자 인터페이스를 일관성 있게 만들 수 있도록 완벽한 세트의 함수와 자원을 제공해주는 시스템 소프트웨어
응용 프로그램 제작자가 일관된 사용자 인터페이스를 유지하도록 운영체제 차원에서 지원
API활용사례
윈도우의 TCP/IP 소켓을 이용한 온라인 주식거래, 텔넷, FTP등 인터넷 관련 응용프로그램
MS워드 사용자가 처음으로 다른 워드프로세서를 사용하더라도 쉽게 적응
OLE
객체 연결 및 포함 의 영문약자 (Object linking and embedding)
외부 문서 참조기능을 위한 윈도우 OS의 표준
다른 응용프로그램에서 작성한 그림 등을 작성 중인 문서로 삽입해 가져올 수 있음
Object
우리말의 개체나 객체
다른 문서에 삽입할 수있는 문서나 문서의 일부
객체의 속성은 객체 자신이 무엇으로 만들어졌는지에 대한 독립적인 성격이나 정보
문서에 삽입된 객체를 선택하면 해당 응용 프로그램이 자동 실행 되어 편집 가능
외부 객체의 정보가 현재 문서의 객체로 포함되도록 속성을 가진 채로 복사
원본과 복사본이 별개로 존재한다.
파일 크기는 크지만 파일관리에 편리하다.
클립보드
운영체제에서 관리하는 임시 저장소
복사,붙여넣기에 자주 사용되는 일시적인 메모리 버퍼
여러 응용프로그램을 오가며 텍스트나 그림을 복사
클립(Clip)
프로그래밍 언어
고급언어, 어셈블리언어, 기계어
어셈블리언어는 1대1로 기계어와 대응하고 니모닉 코드라고도 한다.
(기호를 보면 동작이 연상되는 코드)
고급언어가 기계어로 번역되는 과정
연산코드 필드 → 명령,동작을 지정,
오퍼랜드 필드 → 연산의 대상을 찾는 법
번역 프로그램 종류
- 인터프리터
소스 코드를 한 줄씩 읽어서 번역하고 실행하는 방식
소스를 한줄씩읽어서 에러찾기가 쉽고 메모리를 적게 차지하나 실행속도가 느리다.
- 컴파일러
소스 코드를 한번에 모두읽어 번역해놓고 실행하는 방식
소스코드를 미리 번역해 실행파일을 만든다. 메모리 공간을 많이 차지하나 실행속도가 빠르다.
- 어셈블러
어셈블리언어로 작성된 소스코드를 기계어로 번역
- 스크립트 언어
단독으로 사용 못하고 다른 프로그램과 연결해서 사용
인터프리터 형태
서브루틴 호출과 복귀
메인 프로그램의 독립적인 일부분으로 필요할 때 호출되어 재사용 할 수있는 프로그램
ex) c언어의 함수가 대표적
메인 프로그램에서 분기하면서 돌아올 복귀 주소를 메모리의 스택 영역에 저장
서브루틴 수행 후 다시 본래 위치로 복귀
서브루틴 파라미터
메인 프로그램에서 서브루틴으로 작업을 의뢰하기 위해 보내주는 입력 데이터로 사용되는 매개변수
링크(link)
컴파일 결과로 생긴 사용자의 오브젝트 코드와 라이브러리에서 제공된 오브젝트 코드 등을 결합해 설제로 실행 가능한 파일을 만드는것
컴파일에러와 링크에러는 다르다.
다중 작업
태스크 작업
컴퓨터 시스템에서 수행되는 하나의 작업
각 프로그램에서 해야 할 작업
다중작업
멀티태스크혹은 멀티태스킹이라고 한다
CPU스케쥴링
다중작업에서 어떤 작업에 CPU의 처리 시간을 어느정도 할당할지 결정해주는것
라운드로빈
순서를 순환하며 기회를 균등하게 분할하는 방식, 각 작업에 차례대로 일정한 시간을 균등하게 할당
우선순위 할당방식
각 응용프로그램들에 대해 작업 우선순위에 따라 시간 할당비율 조정
스레드와 멀티스레드
스레드
컴퓨터에서 정상적으로 작업이 완료될 때까지 세부적으로 해야하는 작은 일들에 대한 일정표
멀티스레드
운영체제에서 여러 스레드를 동시에 관리하는것
A와B 두개의 작업이 동시에 처리되려면 각각의 스레드가 동시에 관리되어야 한다.
시동과정
롬 바이오스
롬 바이오스는 메인보드에 장착된 ROM에 내장된 프로그램이다.
부팅과 기본 입출력 시스템을 낮은 수준으로 제어한다.
롬 바이오스의 역할
컴퓨터 시스템의 부팅에 관계
운영체제를 도와 하드웨어를 저수준 제어
운영체제는 BIOS 정보로 하드웨어를 파악한다.
부트스트랩
다른 복잡한 프로그램을 실행시키는 작은 프로그램의 작업과정
이 작은 프로그램을 부트스트랩 로더 라고 한다.
<부트> → 디스크에 저장된 운영체제를 메인메모리로 새로 읽어 들여 컴퓨터의 사용을 준비하는 과정
BIOS의 시동과정
각종 상태와 정보를 수집하고 운영체제가 하드웨어를 장악해 사용자의 작업을 준비하는 과정
롬 바이오스 안의 시동 프로그램이 담당
- POST
메인보드에 연결된 각종 하드웨어 장치를 점검
- 전원이 켜지면 CMOS에 저장된 시스템 설정 값을 읽고
- 메모리 테스트를 실시하고 키보드등 을 검사한다.
- 메인보드에 달린 확장카드나 드라이브를 조사한다.
- 바이오스 복사
각 장치의 바이오스 정보를 램에 복사
- 부팅
부트스트랩 로더 프로그램을 찾아 드라이브에 저장된 운영체제를 읽어 주어 주기억장치인 램에 적재 해놓는다.
운영체제는 시동과정에서 얻은 하드웨어 정보와 바이오스 정보를 인수해 컴퓨터시스템을 장악
'CS & Network > 운영체제(OS) & 컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조] 메모리 (0) | 2021.05.05 |
---|---|
[컴퓨터구조] 기억장치 (0) | 2021.05.03 |
[컴퓨터구조] 파이프라인 (0) | 2021.05.01 |
[컴퓨터구조] 정리_3 (0) | 2021.04.29 |
[컴퓨터구조] 정리_2 (0) | 2021.04.28 |