본문 바로가기

Computer Science/운영체제10

운영체제란? 1. 운영체제 하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어(시스템의 자원과 동작을 관리하는 소프트웨어) 2. 운영체제의 역할 1. 프로세스 관리 프로세스, 스레드 스케줄링 동기화 IPC 통신 운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다. 어떤 의미에서는 프로세서(CPU) 관리하는 것이라고 볼 수도 있다. 현재 CPU를 점유해야 할 프로세스를 결정하고, 실제로 CPU를 프로세스에 할당하며, 이 프로세스 간 공유 자원 접근과 통신 등을 관리하게 된다. 2. 저장장치 관리 메모리 관리 가상 메모리 파일 시스템 1차 저장장치에 해당하는 메인 메모리와 2차 저장장치에 해당하는 하드디스크, NAND 등을 관리하는 기능이다. 1차.. 2021. 5. 29.
프로세스와 스레드의 차이 프로세스 운영체제로부터 자원을 할당받은 작업의 단위. 실행되고 있는 컴퓨터 프로그램 스레드 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위. 프로세스의 코드에 정의된 절차에 따라 실행되는 특정한 수행 경로 1. 프로그램 -> 프로세스 프로그램이란, 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태를 말한다. 프로그램을 실행하는 순간 해당 파일은 컴퓨터 메모리에 올라가게 되고, 이 상태를 동적(動的)인 상태라고 하며 이 상태의 프로그램을 프로세스라고 한다. 2. 프로세스 -> 스레드 한 프로그램을 처리하기 위한 프로세스를 여러 개 만들 수는 없다. 운영체제는 안전성을 위해서 프로세스마다 자신에게 할당된 메모리 내의 정보에만 접근할 수 있도록 제약을 두고 있고, 이를 벗어나는.. 2021. 5. 29.
인터럽트(Interrupt)의 종류와 처리과정 1. 인터럽트란? 하드웨어(I/O device)는 언제든지 CPU에 신호를 (일반적으로 시스템 버스를 통해) 보내서 Interrupt를 발생시킨다. 하드웨어(I/O device)와 CPU가 의사소통하는 방식 마이크로프로세서에서 인터럽트(interrupt)란 마이크로프로세서(CPU)가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치에 예외상황이 발생하여 처리가 필요할 경우에 마이크로프로세서에게 알려 처리할 수 있도록 하는 것을 말한다. 2. 인터럽트의 종류 하드웨어 인터럽트(Hardware Interrupt) Timer, Keyboard 입력, mouse 입력, DMA 등 인터럽트는 시스템 버스를 통해 전달됩니다. 소프트웨어 인터럽트(Software Interrupt) system call로써 구.. 2021. 5. 26.
프로세스와 프로세스의 상태 1. 프로세스란? 프로그램을 구동하여 프로그램 자체와 프로그램의 상태가 메모리 상에서 실행되는 작업 단위 컴퓨터에서 연속적으로 실행되고 있는 프로그램 사용 중인 파일, 데이터, 프로세서 상태, 메모리 영역 주소 공간, 스레드 정보 전역 데이터가 저장된 메모리 부분 등 수 많은 자원을 포함하는 개념 스케줄링의 대상이 되는 작업(task) 2. 프로세스의 메모리 영역 Code(Text) : 실행되는 코드 Data : 전역변수 Heap : 프로그램 런타임 중 동적 할당되는 메모리 Stack : 함수 실행 시 임시적으로 사용되는 저장공간 (지역변수, 매개변수) 3. 프로세스의 상태 커널 내에는 준비 큐, 대기 큐, 실행 큐 등의 자료구조가 있으며 커널은 이것들을 이용해 프로세스 상태를 관리한다. 생성(new/c.. 2021. 5. 25.