반응형

[Computer Science]/[운영체제(OS)] 48

[운영체제(OS)] 3-1) 프로세스의 개념과 PCB(Process Control Block)

: 실행중인 프로그램. 디스크에 저장된 수동적 파일(실행 파일)이 메모리에 적재될 때 프로세스가 됩니다. : 메모리 상의 특정 위치를 할당받고, 내부적으로 메모리를 동적으로 조절합니다. 1) 텍스트 세션 : 실제 실행 코드가 담겨 있으며, 고정된 메모리 영역을 할당받습니다. * 텍스트 외의 세션은 고정되어 있지 않음(항상 같은 주소값을 가지진 않음). 2) 스택 세션 : 함수 호출 시 임시 데이터 저장 - 함수 매개 변수, 반환 주소, 지역 변수 등 3) 힙 세션 : 프로그램 실행 시 동적으로 할당되는 메모리 4) 데이터 세션 : 전역 변수 - New : 프로세스가 생성 중 - Running : 내부적으로 명령어들이 실행 중 - Waiting : 사건(IO)들이 일어나기를 대기 - Ready : 프로세스..

[운영체제(OS)] 2-2) 커널(Kernel)과 시스템 콜(System Call)

: 항상 메모리에 올라가 있는 운영체제의 핵심 부분. 하드웨어와 응용 프로그램 사이에서 인터페이스를 제공하고, 컴퓨터 리소스를 관리. * 커널은 사용자와의 상호작용은 지원하지 않음. - 커널의 가장 큰 목표는 하드웨어 자원과 추상화 자원을 관리하는 것. - 커널이 추상화하여 관리하는 물리적 자원들과, 이를 추상화한 자원을 칭하는 용어 : CPU - Task or Process, 메모리 - Page or Segment, 디스크 - File, 네트워크 - Socket 커널의 역할 1) Task Management : 물리적 자원인 CPU를 추상적 자원인 Task로 제공 2) Memory Management : 물리적 자원인 메모리를 추상적 자원인 Page 또는 Segement로 제공 3) File Syste..

[운영체제(OS)] 2-1) 운영체제 서비스

CPU Memory Disk & I/O device 1) 유저 인터페이스(User Interface) GUI(Graphical User Interface) : 그래픽 기반의 유저 인터페이스(흔히 마우스, 키보드로 입력하여 수행사항을 보여줌). 화면의 여러 그래픽(UI)들과 상호작용하여 명령을 전달합니다. 대부분의 PC 사용자들은 GUI를 통해 상호작용합니다. CLI(Command Line Interface) : 운영체제 대부분이 CLI를 프로세스가 시작하거나 사용자가 처음 로그온할 때 수행되는 특수 프로그램으로 취급. CLI 명령어 해석기는 Shell이라고 불립니다. 주로 시스템 관리자 및 시스템에 자세한 정보를 알고 있는 경우는 CLI를 통해 상호작용합니다. CLI가 사용자의 명령을 가져와서 실행하는 ..

[운영체제(OS)] 1-2) 부팅 매커니즘과 인터럽트(interrupt)

- 부트스트램(bootstrap, 부팅) : pc의 전원 버튼을 누른 직후부터 운영체제가 메모리에서 동작하기 시작할 때 까지의 과정 1) 메인보드에 전력 공급 2) ROM or EEPROM에 저장된 BIOS 루틴(펌웨어. Basic Input Output System) 시작 3) BIOS는 셀프테스트로 주변 하드웨어 체크 4) MBR(Master Boot Record)에 존재하는 부팅정보를 읽어오는 부트스트랩 실행 5) RAM에 Bootloader를 적재. 디스크에 있는 OS(커널) 코드를 복사하여 메모리에 적재. 초기화. - 입출력장치와 CPU는 동시 실행 가능. - 각 장치 컨트롤러는 특정 디바이스 유형을 담당. 로컬 버퍼 존재. - CPU는 메인 메모리 ~ 로컬 버퍼간 데이터 이동시켜줌. - 입출력..

[운영체제(OS)] 1-1) 컴퓨터 시스템 기본 구성

: 하드웨어, 운영체제, 응용 프로그램, 사용자 1) 하드웨어 : 기본 연산을 하는 자원을 제공하는 장치. 2) 운영체제 : 응용 프로그램 간의 하드웨어 사용을 제어, 조정하는 역할. 3) 응용 프로그램 : 웹 브라우저, 엑셀 등의 애플리케이션. 4) 사용자 : 요청을 하는 주체(사람, 컴퓨터 등). 운영체제(매개체)를 통해 하드웨어에 명령어 전달. - 리소스 할당의 주체 : 모든 리소스 관리. 데드락 현상 방지. - 제어 프로그램 : 프로그램 실행을 제어하고, 오류 및 부적절한 사용을 방지. - 운영체제의 목적 : 유저 프로그램을 구동하고, 유저 문제를 쉽게 해결. 컴퓨터 시스템을 쉽게 사용. 컴퓨터 하드웨어를 효율적으로 사용. - 운영체제 = 커널(컴퓨터를 부팅하면 항상 실행되는 하나의 프로그램) +..

[운영체제(OS)] 1. 운영체제 개요 키워드

- RAM(Random-Access Memory) : 메인 메모리. - ROM(Read-Only Memory) : 읽기 전용 메모리. 컴퓨터의 전원이 끊어져도 유지됨. 보통 컴퓨터에 기본적인 운영 체제 기능이나, 인터럽트를 내장시키기 위해 이용. - EEPROM(Electrically Erasable Programmable Read-Only Memory) : 프로그램 가능 읽기 전용 메모리. 속도가 느리므로 주로 사용되지 않는 정적 프로그램과 데이터를 포함. - 펌웨어(Firmware) : 쓰기 작업이 자주 발생하지 않고 비휘발성인 메모리이며, 하드웨어의 제어와 구동을 담당하는 운영체제. - HDD(Hard Disk Drive) : 보조저장장치. 대부분의 프로그램(시스템 및 응용 프로그램)은 메모리에 적..

[운영체제(OS)] 9-6) Dynamic Loading & Overlays

Loading : 메모리를 데이터를 옮기는 것. : 동적 적재. 프로세스가 시작하고, 필요한 작업이 호출될 때 해당 작업을 메모리에 적재(로딩)하는 방식으로 메모리를 효율적으로 사용할 수 있게 해줍니다. * 장점 : 자주 호출되지 않는 루틴(ex. 에러 처리)에 대해 특히 효율적. : 오버레이의 사전적 의미는 덮어씌우는 것입니다. 메모리보다 프로세스가 더 클 때 사용되는 기법입니다. 현재는 VMM(Virtual memory management)이 나온 후 필요없는 기법이지만 한 때 정말 유용했던 기법이라 합니다. 다음과 같이 symbol table, common routines(공동 루틴들), pass1, pass2 등으로 이뤄진 프로그램이 있습니다. pass1이 수행된 후 pass2가 수행되는 프로그램..

[운영체제(OS)] 9-5) 메모리 내 프로세스 구조 (Process Address Space)

프로세스 메모리 구조를 알아보기 전에, 프로세스가 무엇이냐에 대해 간단하게 짚고 넘어갈겁니다. 프로그램이 실행 파일이라면, 프로그램 안에서 실행되고 있는 주체를 프로세스라 합니다. 각각의 프로세스는 ID를 가지며, 이를 줄여서 PID(Process ID)라 하는데요, 윈도우의 작업관리자, 맥의 활성상태보기 앱에서도 다음과 같이 실행중인 프로세스들을 확인할 수 있습니다. 이를 더 자세히 살펴보면 다음과 같습니다. 메모리 영역에 대해 잘 모르신다면 아래 포스팅을 잠깐 보고 오셔야 합니다. [C#] 메모리(+ 가비지) 1. C# 메모리 구조 2. C# 메모리 관리 1. C# 메모리 구조 메모리의 영역에는 4가지가 있습니다. Stack 영역 지역 변수, 매개 변수를 저장. 컴파일 시점에 크기를 할당하는 정적 할..

반응형