본문 바로가기
반응형

CS/컴퓨터구조와운영체제10

컴퓨터구조 + 운영체제_프로세스_02 프로세스는 저마다의 상태를 가지고 있다. 운영체제는 이러한 여러 프로세스의 다양한 상태를 PCB에 기록해서 관리하고 있고 동시에 수많은 프로세스를 계층적으로 관리를 한다. [프로세스 상태] 운영체제마다 조금씩 차이가 있지만 대부분 공통적인 상태는 5가지가 있다. 생성 상태 이제 막 생성된 프로세스로 메모리에 적재되어 PCB를 할당 받은 상태이다. 프로세스가 원래는 보조기억장치에 저장되어 있는 하나의 데이터 덩어리 > 프로세스가 생성되면 운영체제가 해당 프로세스에 PCB를 할당 > 프로세스가 끝나면 PCB를 폐기하는 사용완료가 된다. 생성단계를 거쳐서 언제든지 CPU에 할당받아 사용할 수 있는 상태가 되면 준비 상태가 된다. 준비 상태 당장이라도 CPU를 할당 받아 실행할 수 있지만 자신의 차례가 아니기에.. 2023. 8. 19.
컴퓨터구조 + 운영체제_프로세스_01 '실행 중인 프로그램' = 프로세스 프로그램이 실행되기 전까지는 그저 보조기억장치에 있는 데이터 덩어리 일뿐 보조기억장치에 저장된 프로그램을 메모리에 적재하고 실행하는 순간 해당 프로그램은 프로세스가 된다. 그리고 이러한 과정을 프로세스를 생성한다 라고 표현한다. 사용자가 보는 앞에서 실행되는 프로세스는 포그라운드 프로세스(웹브라우저, 워드프로세스, 메모장, 게임 등), 사용자가 보지 못하는 뒤에서 실행되는 프로세스는 백그라운드 프로세스라고 한다. 사용자가 직접 상호작용이 가능한 백그라운드 프로세스 사용자와 상호작용하지 않고 정해지 일만 수행하는 프로세스 (데몬, 서비스 등) 그렇다면 이러한 프로세스를 운영체제가 어떤식으로 관리하는 것일까? [프로세스 제어 블록] - PCB(Process Control .. 2023. 8. 12.
운영체제란 무엇인가? 운영체제는 사용자를 위한 프로그램이 아닌 사용자가 실행하는 프로그램을 위한 프로그램이다. 사용자가 만들고 실행하는 운영프로그램은 운영체제의 도움을 받아서 실행된다. 운영체제는 현존하는 프로그램 중 가장 규모가 큰 프로그램 중 하나이다. 운영체제가 제공하는 기능은 다양하다. 운영체제가 다양한 종류가 있어도 운영체제가 프로그램에게 제공해주는 가장 핵심적인 서비스는 존재한다. 예를들어 아이폰과 안드로이드가 제공해주는 각 운영체제는 다르지만 가장 핵심적인 기능은 전화기능, 문자기능, 인터넷연결 기능 운영체제 또한 다양하고 방대한 분량이지만, 가장 핵심적인 서비스는 컴퓨터 자원에 접근하고 조작하는 기능과 프로그램이 올바르고 안전하게 실행괴게 하는 기능이다. 커널 운영체제가 설치된 모든 기기에는 커널이 있다. 실행.. 2023. 8. 5.
다양한 입출력 방법 CPU와 장치 컨트롤러가 정보를 주고 받기 위한 다양한 입출력 방법 프로그램 입출력 인터럽트 기반 입출력 DMA 입출력 [ 프로그램 입출력] 특정 레지스터에 입출력작업을 하는 과정으로 백업작업이 완료 될때까지 반복되게 된다. CPU가 장치 컨트롤러의 입출력 명령어로써 레지스터 값을 읽고 씀으로써 장치 컨트롤러와 상호작용이 이루어진다. 입출력장치는 종류도 다양하고 제품에 따라 다양한 입출력장치가 많기에 규격화 하기가 어렵다. 그렇다면 CPU 어떻게 장치컨트롤러 레지스터들을 어떻게 인식하고 알 수 있을까 * 입출력장치에 연결된 명령어로써 장치컨트롤러와 상호작용하는 방법 예를들어 메모리에 저장된 정보를 하드디스크에 백업 (= 하드디스크에 새로운 정보 쓰기) 1. 프로그램 입출력 1). CPU는 하드디스크 컨트.. 2023. 7. 1.
728x90
반응형