OS 5

[OS] 운영체제 Process Scheduling

OS가 관리하는 스케쥴링이란 뭔지? 그중 프로세스 스케쥴링이란 뭔지?에 대해서 알아보자 다중프로그래밍(Multi Programming) OS를 구분함에 있어 하나의 시스템에서 여러개의 프로세스가 존재하는 시스템을 다중 프로그래밍이라 했었다. 이렇게 여러개의 프로세스가 하나의 시스템에 존재하면 한정된 자원을 잘~~ 할당해야 컴퓨터 시스템의 성능이 높아질수 있다. 이 자원을 할당할 프로세스를 선택하는 것을 스케쥴링이라 한다. 스케쥴링이란 자원을 할당할 프로세스를 선택하는 것이다. (in 다중프로그래밍) 한정된 자원을 관리하는데 있어 시간을 분할 해서 프로세스에게 할당할지, 아니면 한정된 자원의 공간을 분할해서 프로세스에게 할당할지에 대한 방법이 존재한다. 자원 관리 시간 분할 관리 한정된 자원을 할당하는 시..

computer science 2021.07.21

[OS] 운영체제 Thread management

쓰레드에 대해서 알아보자. 프로세스와 쓰레드 프로세스는 자원을 할당받고, 프로세스는 자원을 제어한다. 여기서 자원의 제어를 맡는 부분이 쓰레드이다. (쓰레드는 실이란 의미로 ~로 표시한다.) 하나의 프로세스엔 여러개의 쓰레드가 존재할수 있어서, 여러개의 자원을 동시에 제어할수 있다. 쓰레드의 개념 쓰레드는 공유자원에 대해서 제어할수 있다. 싱글 쓰레드 프로세스내 쓰레드가 한개여서 공유 자원에 대해서 하나의 쓰레드로만 제어하는 것을 싱글 쓰레드라한다. 쓰레드에는 이렇게 자원을 제어할수 있는 제어정보가 존재한다. 멀티 쓰레드 프로세스 내 쓰레드가 여러개있어서 공유자원에 대해서 여러개의 쓰레드가 동시에 제어할수 있다. 이를 멀티 쓰레드라한다. 쓰레드가 프로세스의 메모리공간에 어떻게 존재하는지, 공유데이터를 어..

computer science 2021.07.20

[OS] 운영체제 Process Management

이제 OS의 기능별로 하나씩 정리할 건데, 먼저 OS가 어떻게 프로세스를 관리하는지, 프로세스란 뭔지에 대해서부터 알아보자. (OS는 시스템의 자원들을 효율적으로 관리해서 성능 향상을 높이는데 목적이 있는 소프트웨어이다.) Job vs Process Job / Program 실행 할 프로그램 + 데이터이다. 실행할 이므로 실행 요청전의 상태이다. Process 실행을 위해 커널에 등록된 Job을 의미한다. 커널에 등록된다는 의미는 OS에의해 관리를 받는 다는 것이고, 커널에 의해 관리를 받으면 효율적으로 관리를 받기에 시스템 성능 향상을 이룰수 있다. Job과 Process 실행 요청전 디스크내에 존재하는 Job을 볼수있고 오른쪽에는 시스템에 의해 관리되는, 즉 커널에 의해 관리되는 Process를 볼수..

computer science 2021.07.17

[OS] 운영체제 OS Overview

운영체제의 역할 User Interface(편리성) CUI, GUI, EUCI Resource management(효율성) HW자원, SW자원 관리 Process and Thread management 프로세스와 쓰레드 관리 System management 시스템 보호 컴퓨터 시스템의 구성 컴퓨터시스템의 전체 구성도 크게 사용자가 사용하는 어플리케이션, OS(System call interface, Kernel), 하드웨어 자원들로 이루어져있다. OS는 컴퓨터 하드웨어자원을 효율적으로 관리해서 사용자에게 서비스를 제공하는 소프트웨어이다. 사용자가 하드웨어의 자원을 관리하는 OS의 핵심인 Kernel에 직접 요청하는 것을 제한하고 막기위해서 중간에 System Call Interface라는 사용자와 Ker..

computer science 2021.07.14

[OS] 운영체제 Computer System Overview

들어가기에 앞서 우리는 컴퓨터를 통해서 웹 서핑도하고, 게임도 하고, 카톡도 할수있다. 컴퓨터로 이러한 서비스들을 이용할수 있는 이유는 뭘까? 키보드로 채팅을하고, 마우스로 클릭을 하며 내가 명령한 명령들이 컴퓨터 내부에있는 하드웨어들에 의해 저장이되고, 실행이된다. 바로 이러한 컴퓨터 하드웨어 장치들이 존재하기 때문에 우리는 컴퓨터로 여러 서비스를 이용할수 있다. 그렇다고 이러한 하드웨어 장치들만 있다해서 컴퓨터에서 여러 서비스를 이용할수 있는건 아니다. 우리는 하드웨어 장치를 효율적으로 사용하게 도와주는 OS(Operating System)가 있기에 다양한 서비스를 이용할수 있다. OS(Operating System) 컴퓨터 하드웨어를 효율적으로 관리하는 것 왜? 컴퓨터 하드웨어 자원을 효율적으로 관..

computer science 2021.07.14