커널5 [운영체제] 4. 스레드 관리 - (1) 스레드의 필요성과 개념 📍1. 스레드의 필요성 ☑️ 프로세스를 수행 단위로 하는 멀티프로그래밍의 문제점 1️⃣ 프로세스 생성의 큰 오버헤드- 프로세스를 위한 메모리 할당, 부모 프로세스로부터 코드와 데이터 복사- PCB 생성, 매핑 테이블(페이지 테이블) 생성 등 2️⃣ 프로세스 스위칭(process switching) 시 큰 오버헤드 - 기존 프로세스 컨텍스트를 PCB에 저장, 새 프로세스 PCB 갱신 및 CPU 레지스터로 복원- CPU가 참고할 매핑 테이블(페이지 테이블)의 교체 시간- CPU 캐시에 새 프로세스의 코드와 데이터가 채워지는데 걸리는 시간 등3️⃣ 프로세스 사이 통신의 어려움- 프로세스가 다른 프로세스의 메모리에 접근 불가- 커널 메모리나 커널에 의해 마련된 메모리 공간을 이용하여 데이터 송수신- 이 방법.. 2025. 4. 17. [운영체제] 3. 프로세스 관리 - (3) 프로세스의 계층 구조 !!여기도 마인드맵!! 📍1. 프로세스 정보 보기1-1. Linux 쉘 명령으로 프로세스 정보 보기 1-2. Linux에서 C프로그램으로 PID와 PPID 알아내기e.g.) 시스템 호출 함수 getpid(), getppid()를 이용하여 PID와 PPID를 얻어내는 C프로그램 작성하기#include // printf()를 사용하기 위한 헤더#include // pid_t 타입을 정의하는 헤더#include // getpid(), getppid() 시스템 호출 선언int main(void) { pid_t pid, ppid; // PID를 저장할 변수들 선언 pid = getpid(); // ① 현재 프로세스의 PID 얻기 ppid = getppid(.. 2025. 4. 11. [운영체제] 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. [운영체제] 1. 운영체제 개요 - (2) 운영체제 유형, (3) 운영체제 구조 수업> 📍1. 운영체제 유형 - 멀티프로그래밍 운영체제1-1. 멀티프로그래밍 운영체제 정의✔️ 여러 프로그램을 메모리에 올려놓고 동시에 처리하는 방식 ✔️ 주요 목적은 CPU 활용률을 최대화하기 위함e.g.) 멀티프로그래밍 기법으로 3개의 프로그램이 수행되는 패턴 1-2. 멀티프로그래밍 도입으로 인한 이슈1️⃣ 큰 메모리 이슈여러 프로그램을 동시에 메모리에 올려놓기 위해서는 큰 메모리 필요 2️⃣ 메모리 할당 및 관리 이슈몇 개의 프로그램을 적재할 건지? 메모리 어디에 적재할 건지? 프로그램당 할당할 메모리 크기는? 3️⃣ 메모리 보호 이슈프로그램이 다른 프로그램의 영역을 침범하지 못하게 막는 방법 필요4️⃣ CPU 스케줄링과 컨텍스트 스위칭- 수행시킬 프로그램 선택하는 스케줄링 필요- 프로그램.. 2025. 4. 9. 이전 1 다음