본문 바로가기

운영 체제15

[운영체제] 2. 컴퓨터 시스템과 운영체제 - (4) 커널과 인터럽트 수업>   📍1. 컴퓨터에서 인터럽트 활용1-1. 인터럽트의 정의✔️프로그램 수행 중 시스템에 예기치 않은 상황이 발생하였음을 CPU에게 알리는 신호✔️하드웨어 인터럽트 ➡️ 비동기적 인터럽트- 외부 장치들이 어떤 상황 발생을 CPU에게 알리는 하드웨어 신호 - 비동기적이란 예정되지 않거나 발생시간을 예측할 수 없는 사건 - CPU는 인터럽트를 수신하면 인터럽트 서비스 루틴 수행✔️소프트웨어 인터럽트 ➡️ 동기적 인터럽트- CPU가 수행하는 프로그램 내부에서 발생함 - 동기적이란 발생 시점이 프로그램의 일정한 지점이기 때문 - 트랩(trap)이라고 하며, 시스템 호출과 예외(exception)가 있음 - 하드웨어 인터럽트를 수신한 것과 동일하게 처리 1-2. 컴퓨터에서 인터럽트 활용마우스를 움직이거나 .. 2025. 4. 9.
[운영체제] 2. 컴퓨터 시스템과 운영체제 - (3) 커널과 시스템 호출 수업>    📍1. 응용프로그램의 직접 자원 접근 문제1-1. 응용프로그램의 직접 자원 접근은 심각한 문제를 초래!✔️오늘날 운영체제는 멀티프로그래밍 처리 방식을 지원- 다수의 응용프로그램이 한 컴퓨터에서 동시에 수행✔️응용프로그램이 직접 컴퓨터 자원에 접근하면 충돌과 자원 훼손 발생 - 다른 응용프로그램이 적재된 메모리 내용 훼손 가능 - 다른 응용프로그램이 만든 파일 삭제 및 훼손 가능 - 응용프로그램이 커널이 적재된 영역 훼손 가능✔️응용프로그램의 직접 자원 접근 불허  ➡️ 자원에 대한 모든 접근은 커널에만 부여 1-2. 구체적인 해결 방법1️⃣메모리 공간을 사용자 공간과 커널 공간으로 분리응용프로그램은 사용자 공간에 적재, 커널 코드와 데이터는 커널 공간에만 적재2️⃣CPU의 수행 모드를 사.. 2025. 4. 9.
[운영체제] 2. 컴퓨터 시스템과 운영체제 - (2) 컴퓨터 시스템의 계층구조와 운영체제 인터페이스 .목요일 수업>    📍1. 컴퓨터 시스템의 계층 구조1-1. 컴퓨터 시스템이 계층 구조로 설계된 이유 (필요성)✔️계층 간의 독립성 확보를 위해 ➡️ 추상화 ✔️사용자- OS나 하드웨어에 대한 지식이 없어도 응용 프로그램으로 컴퓨터 활용 가능 ✔️응용 프로그램 개발자 또는 응용 프로그램- 장치의 타입이나 구조, 제어 방법을 몰라도 개발 가능, 그러나 OS를 알아야 함- e.g.) CPU 유형, 메모리 크기를 몰라도 프로그램 작성 가능, 저장 장치가 하드디스크인지 SSD인지, 저장 장치의 크기는 얼마인지, 디스크 헤드는 몇개 있는지 몰라도 파일 입출력 프로그램 작성 가능 ➡️ OS에게 요청하여 해결- 컴퓨터 하드웨어가 바뀌어도 응용프로그램을 다시 작성할 필요 없음 ✔️운영체제- 운영체제는 장치와 관련된.. 2025. 4. 9.
[운영체제] 2. 컴퓨터 시스템과 운영체제 - (1) 컴퓨터 시스템과 하드웨어 📍 1. 컴퓨터 시스템과 하드웨어1-1. 컴퓨터 시스템의 범위 - 컴퓨터 시스템을 구성하는 계층 1️⃣ 응용소프트웨어 2️⃣ 운영체제 ✔️ 상위 계층과 하드웨어 간의 인터페이스 역할 ✔️ 상위 계층에게 하드웨어를 추상화 함 ✔️ 하위 계층 관리 3️⃣ 컴퓨터 하드웨어 📍 2. 컴퓨터 하드웨어2-1. 컴퓨터 하드웨어 구성CPU, 레지스터, 메모리, 캐시, 버스 2-2. CPU ✔️ 기계 명령어를 수행하고, 다른 수행 장치들을 제어함 1️⃣ 제어 장치기계 명령어를 해석하여 수행하기 위한 제어 신호들을 발생 2️⃣ ALU(산술논리장치)산술, 논리 연산들을 수행 3️⃣ 레지스터CPU동작에 필요한 정보 저장 2-3. 레지스터 ✔️ CPU 동작에 필요한 정보를 임시로 저장하기 위한 초고속 기억장치 2-4. 메모.. 2025. 4. 9.
[운영체제] 1. 운영체제 개요 - (2) 운영체제 유형, (3) 운영체제 구조 수업>  📍1. 운영체제 유형 -  멀티프로그래밍 운영체제1-1. 멀티프로그래밍 운영체제 정의✔️ 여러 프로그램을 메모리에 올려놓고 동시에 처리하는 방식 ✔️ 주요 목적은 CPU 활용률을 최대화하기 위함e.g.) 멀티프로그래밍 기법으로 3개의 프로그램이 수행되는 패턴   1-2. 멀티프로그래밍 도입으로 인한 이슈1️⃣ 큰 메모리 이슈여러 프로그램을 동시에 메모리에 올려놓기 위해서는 큰 메모리 필요 2️⃣ 메모리 할당 및 관리 이슈몇 개의 프로그램을 적재할 건지? 메모리 어디에 적재할 건지? 프로그램당 할당할 메모리 크기는? 3️⃣ 메모리 보호 이슈프로그램이 다른 프로그램의 영역을 침범하지 못하게 막는 방법 필요4️⃣ CPU 스케줄링과 컨텍스트 스위칭- 수행시킬 프로그램 선택하는 스케줄링 필요- 프로그램.. 2025. 4. 9.
[운영체제] 1. 운영체제 개요 - (1) 운영체제 개념 📍1. 운영체제 정의 ✔️ 컴퓨터 응용소프트웨어와 하드웨어를 안전하게 인터페이스 하기 위해 필요한 서비스의 모음= 루틴= 응용소프트웨어의 개발 지원과 수행을 제어하는 소프트웨어= 컴퓨터 자원의 접근을 제어하고 효율적으로 관리하는 소프트웨어 1️⃣ 컴퓨터의 모든 자원(resource)을 효율적으로 관리함 ✔️ 하드웨어 자원CPU, 캐시, 메모리, 키보드, 마우스, 디스플레이, 하드디스크, 프린터✔️ 소프트웨어 자원응용프로그램✔️ 데이터 자원신호, 세마포어, 뮤텍스, 파일, 데이터베이스등 2️⃣ 자원에 대한 독점(exclusive) 권한을 소유함자원할당, 자원공유, 자원액세스등 3️⃣ 운영체제는 컴퓨터 시스템 관리자(supervisor) 임 수행 중인 프로그램 관리, 메모리 관리, 파일과 디스크 장치 .. 2025. 4. 9.