cozyhama.log
로그인
cozyhama.log
로그인
Operating System
COZYHAMA
·
2024년 4월 9일
팔로우
0
Operating System
0
Operating System
목록 보기
2/5
Introduction
운영체제란?
유저와 하드웨어 간의 연결(중재자 역할)
운영체제 목표
사용자 입장
사용자 프로그램을 실행하고 사용자 문제를 더 쉽게 해결
컴퓨터 시스템을 사용하기 편리하게 만듬
컴퓨터 입장
컴퓨터 하드웨어를 효율적으로 사용
컴퓨터 시스템 구조
하드웨어
기본적인 컴퓨텅 리소스를 제공
CPU, memory, I/O devices
운영체제
다양한 애플리케이션과 사용자 간의 다양한 하드웨어 사용을 제어하고 조정
응용 프로그램
사용자의 컴퓨팅 문제를 해결하기 위해 시스템 리소스를 사용하는 방식을 정의
Word processors, compilers, web browsers, database systems, video games
사용자
People, machines, other computers
△ Four Componets of a Computer System
운영체제의 일
관점에 따라 다름
사용자는 편리성, 사용 용이성 및 좋은 성능을 원함
자원 활용에 대해서는 관심이 없음
메인프레임이나 미니컴퓨터와 같은 공유 컴퓨터는 모든 사용자를 만족시켜야 함
워크스테이션 등 전용 시스템 사용자는 전용 리소스를 보유하지만 서버의 공유 리소스클 자주 사용
휴대용 컴퓨터는 리소스가 부족하고 유용성 및 배터리 수명에 최적화
일부 컴퓨터에는 장치 및 자동차에 내장된 컴퓨터와 같이 사용자 인터페이스가 거의 또는 전혀 없음
운영체제의 정의
운영체제는 자원 할당자
모든 자원을 관리
효율적이고 공정한 자원 사용을 위해 상충되는 요청 사이에서 결정
예를 들면, Mem 16GB를 효율적으로 관리
운영체제는 제어 프로그램
정상적 실행이 가능하도록 관리
컴퓨터의 오류 및 부적절한 사용을 방지하기 위해 프로그램 실행을 제어
보편적으로 받아들여지는 정의가 없음
"운영 체제를 주문할 때 공급업체가 배송하는 모든 것"은 적절한 근사치
매우 다양
"컴퓨터에서 항상 실행되는 유일한 프로그램"은 커널
계속 돌고 있는 프로그램(메모리 할당)
그 밖의 모든 것
시스템 프로그램(운영체제와 함께 제공)
응용 프로그램
컴퓨터 시작
부트스트랩 프로그램은 전원을 켜거나 재부팅할 때 로드
일반적으로 펌웨어로 알려진 ROM 또는 EPROM에 저장
시스템의 모든 측면을 초기화
운영체제 커널을 로드하고 실행을 시작
컴퓨터 시스템 구성
컴퓨터-시스템 작동
하나 이상의 CPUs, device controllers는 공유 메모리에 대한 액세스를 제공하는 공통 버스를 통해 연결
메모리 사이클을 두고 경쟁하는 CPUs와 devices의 동시 실행
△ Computer System Organization
컴퓨터 시스템 운영
I/O devices와 CPU가 동시에 실행 가능(병목현상 해결)
각 device controller는 특정 장치 유형을 담당
각 device controller에는 로컬 버퍼가 있음
CPU는 메인 메모리와 로컬 버퍼 사이에서 데이터를 이동
I/O는 device에서 controller의 로컬 버퍼로 이동
device controller가 CPU에 인터럽트를 발생시켜 동작을 완료했음을 알림
인터럽트의 일반적인 기능
인터럽트는 일반적으로 인터럽트 벡터를 통해 모든 서비스 루틴의 주소를 포함하는 인터럽트 서비스 루틴에 제어권을 전달
인터럽트 아키텍처는 인터럽트된 명령의 주소를 저장해야 함
트랩 또는 예외는 오류 또는 사용자 요청으로 인해 발생하는 소프트웨어에서 생성된 인터럽트
운영체제는 인터럽트 기반
인터럽트 처리
운영체제는 저장 레지스터와 프로그램 카운터를 통해 CPU의 상태를 보존
돌때마다 interrupt pin이 1인지 계속 확인
1이면 interrupt handler로 이동
발생한 인터럽트 유형을 결정
polling
예를 들면, 몇시인지 계속 체크 혹은, 커피가 나오는거 서성이며 계속 체크
vectored interrupt system
예를 들면, 알람 맞춰두고 체크 안함 혹은, 진동벨로 커피 나오는 걸 알림
별도의 코드 세그먼트가 각 인터럽트 유형에 대해 어떤 조치를 취해야 하는지 결정
△ Interrupt Timeline
I/O 구조
I/O 시작 후 I/O 완료 시에만 제어가 사용자 프로그램으로 반환
대기 명령은 다음 인터럽트가 발생할 때까지 CPU를 유휴 상태로 유지
Wait loop(메모리 접근을 위한 경쟁)
한 번에 최대 하나의 I/O 요청만 처리되며 동시 I/O 처리는 불가능
I/O가 시작된 후 I/O 완료를 기다리지 않고 제어가 사용자 프로그램으로 반환
시스템 호출 – 사용자가 I/O 완료를 기다릴 수 있도록 운영체제에 요청
Device-status table(2차원 배열)에는 유형, 주소 및 상태를 나타내는 각 I/O 장치에 대한 항목이 포함
운영체제는 device 상태를 결정하고 인터럽트를 포함하도록 테이블 항목을 수정하기 위해 I/O 장치 테이블에 대한 색인을 생성
storage 구조
Main memory
주 저장소
CPU가 직접 접근할 수 있는 유일한 큰 저장 매체
랜덤 액세스
일반적으로 휘발성(전원 꺼져있을 시 데이터가 날라감)
Secondary storage
보조 저장소
대규모 비휘발성 저장 용량을 제공하는 메인 메모리의 확장
Hard disks
자기 기록 재료로 덮인 단단한 금속 또는 유리 플래터
디스크 표면은 논리적으로 트랙으로 나누어지고, 트랙은 섹터로 세분화
Disk controller는 장치와 컴퓨터 사이의 논리적 상호작용을 결정
Solid-state disks
Hard disk보다 빠르고 비휘발성
다양한 기술
인기 증대
COZYHAMA
코딩의 지식으로 하루를 마무리
팔로우
이전 포스트
[CISC VS RISC] & [x86 VS ARM]
다음 포스트
RAID
0개의 댓글
댓글 작성
관련 채용 정보