티스토리 뷰
운영체제
- 컴퓨터 하드웨어와 소프트웨어를 관리하고 사용자와 컴퓨터간의 인터페이스를 제공하는 시스템 소프트웨어
- 컴퓨터 시스템: Windows, Linux, Unix
- 스마트폰 시스템: Android, Ios
컴퓨터 시스템
- 하드웨어와 소트프웨어로 구성
- 하드웨어
- 데이터를 처리하는 물리적인 기계 장치
- 컴퓨터 시스템을 구성하는 물리적 장치
- 프로세서(중앙처리장치), 버스, 메모리, 입출력장치 등 다양한 주변장치로 구성
- 소프트웨어
- 특별한 작업 지시를 위해 명령어로 작성한 프로그램
- 사용자와 상호 작용하는 프로그램
- 운영체제, 애플리케이션, 드라이버 등으로 구성
프로세서(Processor)
- 중앙처리장치(CPU: Central Processing Unit)
- 레지스터, 산술 논리 연산장치, 제어장치 등으로 구성
- 마이크프로세서: 레지스터, 산술 논리 연산장치, 제어장치를 칩 하나로 구성

버스(Bus)
- 프로세서를 포함한 각 장치 간 또는 서브시스템을 서로 연결하여 정보(데이터)를 주고받을 수 있게 해주는 통로
- 컴퓨터 내부 각 요소의 다양한 신호는 버스를 통해 전달됨
- 데이터 입출력 신호, 프로세서 상태 신호, 인터럽트 요구와 허가 신호, Clock 신호 등은 버스를 통해 전달됨
버스 위치에 따른 분류
- 내부 버스
- 프로세서 내부에서의 데이터 흐름을 관리하는 버스
- 레지스터, 연산장치, 메모리 등 CPU 내부의 여러 구성 요소들이 데이터를 주고받을 때 사용
- 예를 들어, 레지스터에 저장된 데이터를 연산장치로 보내거나, 연산장치에서 연산한 결과를 다시 레지스터에 저장하는 등의 작업을 할 때 내부 버스가 사용
- 시스템 버스 인터페이스 회로를 통해 외부 버스와 연결. 즉, 내부 버스는 외부와의 연결을 위해 중간 역할을 하는 부분이 존재
- 외부 버스
- 프로세서 외부 장치들 간의 데이터 흐름을 관리하는 버스
- 프로세서와 메모리, 프로세서와 입출력 장치, 그리고 입출력 장치 간의 연결에 사용
- 예를 들어, 메모리와 CPU 간의 데이터 전송, CPU와 하드 드라이브 간의 데이터 전송, 입출력 장치(프린터, 모니터 등)와 CPU 간의 데이터 교환을 처리하는데 외부 버스가 사용
- 외부 버스는 시스템 버스라고 불리며, CPU와 외부 장치들(메모리, 입출력 장치 등)을 연결하는 중요한 역할
- 각 시스템 버스는 버스 제어기라 불리는 제어 회로를 가짐
버스 기능에 따른 분류
- 데이터 버스
- 컴퓨터 시스템에서 데이터, 명령어 등의 정보를 교환하는 전송로
- 프로세서에서 메모리나 입출력 장치로 데이터 출력 또는 반대로 데이터를 입력 받을 때 사용하는 양방향 버스
- 데이터 버스 신호선의 수가 해당 프로세서의 성능을 결정
- 주소 버스
- 하나의 시스템 장치에서 다른 장치로 주소 정보를 전송하기 위해 사용
- 신호선의 수에 따라 최대 사용 가능한 메모리 용량이나 입출력장치 수를 결정
- 제어 버스
- 프로세서가 저장장치와 입출력장치에 데이터를 전송할 때, 현재 수행중인 작업 종류나 상태를 다른 장치에 알릴 때 이용하는 단방향 버스

레지스터(Register)
- 프로세서에 위치한 고속 메모리로 프로세서가 바로 사용할 수 있는 데이터 저장 장치
- 용도에 따라 전용 레지스터, 범용 레지스터, 저장되는 정보의 종류에 따라 데이터 레지스터, 주소 레지스터, 상태 레지스터로 나뉨
- 사용자가 저장한 정보의 변경 여부에 따라 2가지로 분류: 사용자 가시 레지스터, 사용자 불가시 레지스터
- 사용자 가시 레지스터(User-Visible Register)
- 운영체제(시스템)와 사용자 프로그램을 통해 접근 가능한 데이터와 주소, 일부 조건 코드를 보관
- 사용자 불가시 레지스터(User-Invisible Register)
- 프로세스의 제어와 상태 관리
- 프로그램 카운터, 명령어 레지스터, 프로그램 상태 레지스터, 메모리 주소 레지스터, 메모리 버퍼 레지스터 등이 속함
메모리(Memory)
- 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
- 메모리 계층 구조: 계층 구조는 1950 ~ 1960년대 메인 메모리의 높은 가격으로인해 제안된 방법으로, 다양한 레벨의 메모리를 연결하여 비용, 속도, 용량, 접근 시간 등을 상호 보완한 것


- 보조 기억 장치
- 자기 디스크: 대용랑
- 광학 디스크: 이동이 편리
- 자기 테이프: 파일을 저장하기 위해 속도가 느림
- 캐쉬: 메인 메모리와 프로세서의 속도 차를 보완 (CPU 내부에 존재)
- 레지스터: 프로세서가 사용할 자료를 보관하며 가장 빠름 (CPU 내부에 존재)
지역성(Locality)
- 프로그램이 특정 메모리 영역을 집중적으로 사용하는 특성을 의미
- 프로그램은 명령어를 순차적으로 실행하는 경향이 있어 특정 영역 메모리에 인접해 있음
- 시간 지역성: 최근에 사용한 데이터나 명령어를 곧 다시 사용할 확률이 높다
- 공간 지역성: 현재 사용한 데이터 근처의 데이터를 곧 사용할 확률이 높다
지역성을 활용한 메모리 계층 구조
- 시간 지역성 덕분에 최근에 사용한 데이터를 빠른 메모리에 저장하면, 그 데이터가 다시 필요할 때 빨리 찾을 수 있음
- 공간 지역성 덕분에 연속된 데이터를 한 번에 불러오는 방법을 사용할 수 있음
- 이렇게 자주 사용되는 데이터는 빠른 메모리에서, 덜 자주 사용되는 데이터는 느린 메모리에 저장하는 계층 구조를 사용하면, 성능을 극대화할 수 있음
메인 메모리
- 셀(Cell): 메모리의 기본 저장 단위, 각 셀은 비트(0 또는 1)를 저장할 수 있다
- 바이트(Byte): 메모리에서 데이터를 저장하는 최소 단위로 1바이트는 8비트로 구성됨.
- 주소(Address): 각 메모리 셀에는 고유한 주소가 있고, CPU는 이 주소를 통해 메모리에서 데이터를 접근함
- 워드(Word): 시스템마다 다르지만, CPU가 한 번에 처리할 수 있는 데이터의 크기를 워드라고 함
- 휘발성: 전원이 꺼지면 데이터가 사라짐

- 프로세서: 메인 메모리로부터 처리할 데이터를 가져오거나 처리한 결과를 메인 메모리에 저장
- 입출력장치: 메인 메모리에서 데이터를 받거나 저장
- 물리적 주소 공간
- 컴퓨터에 주어진 주소 공간
- 프로그래머는 직접 사용하지 않고 수식, 변수를 이용
- 논리적 주소 공간
- 컴파일러에 의해 기계어로 변환된 변수와 명령어에 할당되는 주소
- 별도의 주소 공간에 나타남
- 컴파일
- 원시 프로그램을 기계 명령어로 변환하는 처리 과정
- 컴파일러가 논리적 주소를 물리적 주소로 변환
- 메모리 속도는 어떤 동작의 시작과 종료 사이의 경과 시간으로 메모리 접근 시간과 메모리 사이클 시간으로 표현
- 메모리 접근 시간: 명령 발생 후 목표 번지를 검색하여 데이트 쓰기(읽기)를 시작할 때까지의 시간
- 메모리 사이클 시간: 두 번의 연속적인 메모리 동작 사이에 필요한 최소 지연 시간
- 일반적으로 사이클 시간이 접근 시간보다 약간 크며 메모리의 세부 구현 방법에따라 달라짐

- 프로세서와 메모리 사이의 접근 속도 차가 커짐에 따라 메인 메모리의 부담을 줄이기 위해 프로세서 칩 안이나 외부에 별도의 캐시를 구현

가상 메모리(Virtual Momory)
- 메인 메모리의 유효 크기를 늘리는 기법
- 메인 메모리의 공간 부족으로 현재 실행 중인 프로그램이나 데이터를 저장 할 수 없을 때 가상 메모리를 사용
- 프로그램과 데이터를 보조기억장치에 일부 저장한 후 필요 시 다시 메인 메모리로 옮겨 실행
- 실행 중인 프로세스가 참조하는 주소와 메인 메모리에서 사용하는 주소를 분리해야 함
- 운영체제는 페이지 테이블을 사용하여 가상 주소를 물리 주소에 매핑하고, 이를 통해 프로그램은 물리 메모리와 상호 작용하게 됨

케시(Cache)
- 프로세서와 메인 메모리 사이에서 데이터나 정보를 저장하는 고속 버퍼
- 데이터가 이동할 수 있는 통로를 확대하여 프로세서와 메인 메모리의 속도 차를 줄임

- 메인 메모리의 주소는 태그 영역과 주소 영역 등을 나타내는 연속된 값으로 구성
- 태그 영역: 메인 메모리의 주소 중에서 어던 데이터 블록이 캐시에 저장되었는지 식별하는 정보
- 주소 영역: 메모리 주소에서 어떤 캐시 블록을 찾을 수 있는지를 결정하는 정보
- 캐시는 메인 메모리 주소 영역을 나눈 후 각 블록에 번호를 부여 해 태그로 번호를 저장
- 프로세서가 메인 메모리 접근이 필요할 때 먼저 캐시를 조사하여 원하는 블록을 찾음
주변장치
- 컴퓨터의 기능을 향상시키기 위한 추가 장비
- 입력 장치(키보드, 마우스), 출력 장치(모니터), 보조기억장치, 스캐너, 모뎀 등
- 보조기억장치: 플로피 디스크, 하드 디스크, CD/DVD(광학 디스크), 테이프 드라이브 등
'운영체제' 카테고리의 다른 글
[운영체제] 운영체제의 역할과 목적, 유형별 특징 (0) | 2025.03.24 |
---|
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 운영체제
- 프로그래머스
- 호이스팅
- Java
- 자료구조
- Replace
- 블록스코프
- 스코프
- fsd 아키텍처
- 콜백 큐
- 온라인처리
- 대소문자 변환
- 컴퓨터 시스템 구성요소
- 네트워크
- 운영체제 유형
- 자료처리시스템
- 중첩스코프
- 엑셀 파일 추출
- 구성형태
- StringBuilder
- fsd 구조
- useeffet
- 네트워크 접속장치
- 운영체제 특징
- 접속형태
- replaceAll
- 렌더링 과정
- SQL 개발자
- startsWith()
- SQLD
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함