본문 바로가기
반응형

🗂 Study/운영체제4

[OS] 시스템 콜 🔔 ﹥ 시스템 콜(System Call)이란? 시스템 콜이란 OS의 특정 기능을 쓸 수 있게 하는 인터페이스를 요청하는 함수입니다. 운영체제는 커널 모드(Kernel Mode)와 사용자 모드(User Mode)로 나뉘어 구동됩니다. → 커널 모드 : 모든 시스템 메모리에 접근 가능하며, 모든 CPU 명령 실행 가능 → 사용자 모드 : 하드웨어에 직접 접근이 불가하며, 사용자 애플리케이션 실행 가능. 시스템 콜 호출 시 일시적으로 커널모드로 전환. 즉, 사용자 모드에서 커널 영역의 기능에 접근할 수 있게 도와주는 기능을 시스템 콜이라고 합니다. ﹥ 시스템 콜을 사용하는 이유 OS는 프로세스의 실행, 종료나 I/O 작업 등의 사용자가 함부로 사용하면 문제가 될 만한 명령들을 Privileged Instructi.. 2021. 9. 7.
[OS] 인터럽트 (Interrupt) 🚨 ﹟인터럽트 CPU가 특정 기능을 수행하는 도중에 급하게 다른 일을 처리하고자 할 때 사용할 수 있는 기능입니다. ﹟인터럽트의 종류 1. 외부 인터럽트 주로 하드웨어, 프로그램 외부에서 발생되는 이벤트 전원 이상 기계 문제 키보드 등 I/O 관련 이벤트 2. 내부 인터럽트 주로 프로그램 내부에서 잘못된 명령이나 잘못된 데이터 사용 시 예외상황이 발생하는 것 0으로 나눴을 때 사용자 모드에서 허용되지 않은 명령 또는 공간 접근 시 계산 결과가 Overflow / Underflow 날 때 ﹟인터럽트 과정 요청 → 중단 → 보관 → 처리 → 재개 인터럽트 요청 현재 수행 중인 명령 중단 후 상태 보관 인터럽트 취급 루틴 수행 보존한 프로그램 상태 재개 References [OS] 1. 인터럽트 (Interrup.. 2021. 8. 25.
[OS] 프로세스의 주소 공간 📍 프로세스 프로세스란 실행되고 있는 프로그램으로, 각 메모리 공간을 시스템으로부터 할당받습니다. 프로세스의 주소 공간은 코드, 데이터, 스택, 힙 네 가지 영역으로 구성됩니다. 이러한 주소 공간을 가상 메모리라고 부릅니다. ﹥ 코드(Code) 코드 영역은 실행 파일을 구성하는 명령어들이 올라가는 메모리 영역으로 함수, 제어문, 상수 등이 지정됩니다. 컴파일 시에 결정되며 Read-Only 영역이기 때문에 코드를 함부로 변경할 수 없고 변경 시 오류를 발생시킵니다. ﹥ 데이터(Data) 프로그램이 구동되는 동안 항상 접근 가능한 변수가 저장되는 영역입니다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸합니다. 실행 중에 전역 변수가 변경될 수 있기 때문에 Read-Write로 .. 2021. 8. 20.
[OS] 프로세스(Process) 와 쓰레드(Thread) ✔️ 프로세스(Process)란? 프로세스를 알아보려면 먼저 프로그램에 대해 알아야 합니다. 프로그램이란 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태를 말합니다. 즉, 작업을 위해 실행할 수 있는 파일입니다. (윈도우의 .exe, 맥os의 .dmg) 💡 프로그램을 실행하는 순간 해당 파일은 컴퓨터 메모리에 올라가게 되고, 이 상태를 동적인 상태라고 부릅니다. 이 동적인 상태의 프로그램이 바로 프로세스입니다. 프로세스는 크게 코드 영역(code), 데이터 영역(data), 스택 영역(stack), 힙 영역(heap)으로 이루어져 있습니다. 코드 영역(code) : 코드 자체를 구성하는 메모리 영역 (프로그램 명령) 데이터 영역(data) : 전역 변수, 정적 변수, 배열 등.. 2021. 8. 13.
반응형