728x90
반응형
Operating System(OS)
- 컴퓨터 하드웨어를 관리하고 , 소프트웨어와 하드웨어, 사용자를 매개하는 프로그램
운영체제의 역할
- 사용자 관점(User View 와 System View)
- User View 사용자가 컴퓨터를 쉽게 이용할 수 있도록 만듬
- System View 자원 할당자(Resource allocator)로서 컴퓨터의 자원들을 관리하는 제어 프로그램으로 동작
부트스트랩 프로그램
- 초기화 프로그램, 컴퓨터의 ROM, EEPROM에 저장되어 있으며 펌웨어(Firmware)라고 불린다.
- 시스템을 초기화 하고 부트로더(Boot loader)를 실행하며 부트로더가 운영체제를 실행한다.
인터럽트(Interrupt)
- 컴퓨터에서 신호를 보내 이벤트 발생을 알리는 것을 의미함
- 소프트웨어에 의해 발생하는 인터럽트를 트랩(Trap)이라 함
- 하드웨어 : 시스템 버스(system bus)를 통해 cpu에 신호를 보냄 소프트웨어 : 시스템 콜(system call) 명령을 통해 발생
- 인터럽트 주도적 : 인터럽트가 발생하기 전까지 CPU는 대기상태 폴링(Polling) : 주기적으로 이벤트를 감시해 처리 루틴을 실행 → 컴퓨팅 자원을 낭비하게 됨
Storage Structure
- 휘발성 장치 : RAM(메인 메모리), 주기억장치, 캐시, 레지스터 비휘발성 : 보조기억장치, 자기테이프,디스크,SSD 등
- 보조기억장치는 용량크고 저렴, 주기억장치는 비싸고 용량 작음
DMA(Direct Memory Access)
- 장치와 메모리를 직접 연결하는 방식, 버스가 지원하는 기능
- 기존엔 데이터 → CPU → 메모리 : 자원 소모가 많음 DMA를 이용할 경우 데이터 → 컨트롤러 : 직접 메모리에 전달되며 데이터 이동에 대한 인터럽트 1번만 필요, CPU의 할 일이 줄어들어 성능이 좋아짐
Computer System Architecture
- 폰노이만 구조
- 데이터 메모리와 프로그램 메모리가 구분되어 있지 않음(하나의 버스)
- CPU는 메모리로 부터 명령을 읽고, 메모리로부터 데이터 읽기쓰기 다 하는데 신호버스가 1개 이기 때문에 동시 접근이 불가능
- 메모리 값을 읽고 쓰는 구조라서 명령과 데이터에 접근할때 병목현상 발생
- 하버드 아키텍처
- 폰노이만 구조와 다르게 명령용 버스와 데이터용 버스가 물리적으로 분할되어있음
- 때문에 데이터 읽는거 명령 읽는거 동시에 작동 가능
- 처리속도를 높이기 위해 많은 전기 회로가 필요하게 됨 → 수정된 하버드 구조 도입(통합 캐시 메모리를 분리, load와 store 명령어를 동시에 실행할 수 있도록 해줌)
Processor System
- Single - : 하나의 메인 CPU만 탑재, 이후 장치에 따라 특별한 목적을 가진 프로세서를 넣음
- Mulit - : 2개 이상의 프로세서를 가짐
- 장점 경제성 증가/신뢰성 증가/처리량 증가
- 비대칭 vs 대칭 비대칭 : 보스 프로세서가 시스템을 제어하고 나머지는 지시를 받아 움직임 → 효율적으로 부하 분산 할 수 있지만 보스 프로세서가 멈추면 전부 멈 대칭 : 자유로운 회사 → 모든 프로세서가 하나의 메모리를 공유하고 동일한 작업을 병렬적으로 수행 , 프로세서의 문제가 생기면 수행하던 작업을 다른 프로세서들에게 나눠주고 문제가 생긴 프로세서만 재부팅
Multiprogramming
- 여러 프로그램을 메모리에 로드해 두고 한 프로세스가 대기 상태가 되면 다른 프로세스 작업을 수행하는 시스템
- Disk 에 있으면 프로그램, 메인 메모리에 있으면 프로세스
Time sharing(시분할)
- 멀티 태스킹(multi tasking)
- 프로세스 마다 작업시간을 정해두고 번갈아가면서 작업하는 방식 → 반응 시간을 줄이므로서 사용자는 동시에 작동하는 거 처럼 보이게 된다.
⇒ 시분할과 멀티프로그래밍 시스템은 여러작업을 동시에 메모리에 올리는 방식이기 때문에 효율적으로 작업을 처리해야 한다. 이를 CPU스케쥴링이라고 한다. (추후에 언급될 내용이다)
Caching
- 캐싱 메모리를 사용하여 컴퓨터의 속도를 높이는 기술
- 파일의 중복성이 증가하지만 속도도 증가한다.
- 지역성(Locality)의 원리 이용 지역성은 시간과 공간으로 나뉨 시간 : 한번 접근한 데이터에 다시 접근할 확률이 높다. 공간 : 특정 데이터와 가까운 메모리 주소에 있는 다른 데이터들에도 접근할 가능성이 높음
Keyword Review:
OS의 정의 /
OS의 역할 /
부트스트랩와 부트로더/
인터럽트 /
DMA /
컴퓨터 구조 /
프로세서 시스템 /
멀티프로그래밍과 시분할 시스템/
캐싱
출처 : parksb.github.io/article/5.html
폰노이만 구조 사진 : m.blog.naver.com/with_msip/221981730449
반응형
'Computer Science > OS' 카테고리의 다른 글
Python Programming 요약 (0) | 2022.06.09 |
---|---|
직무면접을 위한 공룡책 OS ch.4 (0) | 2020.11.10 |
직무면접을 위한 공룡책 OS ch.3 (0) | 2020.10.29 |