ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1.5 Resource Management
    TIL(today i learned)/운영체제 2023. 3. 11. 22:16

    프로세스란 실행중인 프로그램이다.

    또한 일을 수행하기위해 CPU시간,메모리,파일그리고 입출력등등 여러가지자원을 필요로한다.

    프로세스가 종료되면서 os는 재사용가능한자원을 회수한다.

    다시말하자면 프로그램은 실행되기전에는 디스크에 저장된 파일의내용과 같이 수동적이지만 프로세스는  능동적인 객체이다.

    싱글 스레드 프로세스

    하나의 프로그램 카운터(다음수행할 명령을 지정하는 기능을 가짐)를 가짐

    싱글 스레드 에서 하나의프로세스는 순차적으로 진행되어야한다.

    언제나 하나의 명령만 실행됨

    멀티스레드 프로세스

    여러개의 프로그램카운터를 가짐

    이카운터들은 각 스레드가 실행할 다음 명령어를 가리키게 된다.

    프로세스는 한 시스템 내의 작업의 단위이다.이러한 시스템은 프로세스의집합으로 구성되는데, 프로세스중 일부는 운영체제 프로세스이고 나머지는 유저 프로세스다.이러한 모든 프로세스는 단일 CPU코어에서 멀티 플렉싱하거나 여러 CPU코어에서 병렬로  실행할수있다.

    다중 프로세스 실행이 가능하다.

     

     

    1.5.2 Memory Management

    os는 프로세스의 관리와 연관해 다음과 같은활동에 책임을 진다.

    • 사용자 프로세스와 시스템 프로세스의 생성과 제거
    • CPU에 프로세스와 스레드 스케줄링하기
    • 프로세스의 일시 중지와 재수행
    • 프로세스의 동기화를 위한 기법 제공
    • 프로세스의 통신을 위한 기법 제공

    메인 메모리

    • 메인 메모리는 앞에서 말했듯 현대시스템작동에 중추적인 역할을한다.
    • 메모리는 크기가 수십 만에서 수십 억까지의 범위를 갖는 바이트의 대용량 배열임
    • 각각의 바이트들은 자신의 주소를가짐
    • 또한 CPU와 입출력 장차에의하여 공유되는 ,빠른 접근이가능한 데이터의 저장소다.
    • 본노이만 구조에따르면 CPU가 명령어 인출사이클동안 메인메모리로부터 명령어를 읽고,자료 인출 사이클 동안 메모리로 부터 데이터를 읽고,쓴다.

    CPU이용률과 사용자에 대한 컴퓨터의 응답속도를 계선하기위해,우리는 메모리에 여러개의 프로그램을 유지해야하며 이를위해 메모리 관리 기법이 필요하다.

    os는 메모리관리와 관련하여 다음과같은일을 수행해야함

    • 메모리의 어느 부분이 현재 사용되고 있으며 어느 프로세스에의해 사용되고있는지 추적해야한다.
    • 필요에따라 메모리를 할당하고 회수해야함
    • 어떤프로세스를 적재하고 회수할것인지를 결정해야함

    1.5.3 File-System Management

    os는 저장장치의 물리적 특성을 추상화하여 논리적인 저장장치단위인 file(파일)을 정의한다.

    이때 다수의 사용자가 파일에 접근하려고할때는 누구에의해서 ,그리고 어떤방법으로 (읽기,쓰기,첨가 등등)파일이 접근되어야 하는가를 통제하는것이 바람직하다. 

     os는 파일관리를 위하여 다음과같은 일을 담담항다.

    • 파일의 생성및 제거
    • 디렉터리 생성 및제거
    • 파일과 디렉터리를 조작하기위한 프리미티브의 제공
    • 파일을 보조저장장치로 매핑
    • 안정적인(비휘발성) 저장 매체에 파일을 백업

    1.5.4 Mass-Storage Management

    보조저장장치 관리와 관련된 os 활동

    • 마운팅과 언마운팅
    • 사용가능 공간의 관리
    • 저장 장소 할당
    • 디스크 스케줄링
    • 저장장치 분할
    • 보호

    1.5.5 Cache Management

    캐시는 정말 빠르다(메모리보다) 정보가 사용될때마다 더빠른 장치인 캐시에 일시적 으로 저장된다.그러므로 우리가 특정 정보를 찾으려할때 캐시에 없다면 메인메모리로 부터 데이터를 가져와야하며 이것이 다음에도 사용될 가능성임 높다는 가정하에 캐시에 넣는다. 

    또한 CPU 내부에 있는 프로그래밍 가능한 레지스터들은 메인메모리를 위한 고속의 캐시로 볼수있다.

     

    전적으로 하드웨어로 구성된 캐시도 있는데 예를 들어 시스템 대부분은 다음에 수행될것으로 예상되는 명령을 넣어두는 명령 캐시를 가지고있다.

    대부분 의 시스템은 하나이상의 고속데이터 캐시를 가지고있음

    캐시 크기와 교채정책을 신중하게 선택하면 성능이 크게 향상될수있다.

     

    캐시->CPU로의 데이터전송 :os의 간섭없이 하드웨어적으로 이루어짐

    디스크->메모리 로의 데이터전송:os에 의해 제어

    메모리 계층구조에서,동일한데이터가 서로다른 수준의 저장장치 시스템이 나타나게된다.

    변수A에 1을 더하는과정

    변수A에  1을 더한다고가정했을때 A가 위그림순서대로 가각의 저장장치에 복사가된다.

     

    레지스터까지 도달하면 여기서A에 1을 더하고 돌아가면서 다시 A값을 덮어 씌운다.

    최종적으로  A에 1이더해진값이 마그네틱 에 저장됨

     

    그러나 이러한 방식은 오직 하나의 프로세스만 실행하는 환경에서 아무런 문제가없지만 (항상 계층구조의 상위값을 참조하기때문) 여러개의 프로세스에 A에 이리저리 접근하는 멀티 태스킹 환경에서는 최근에 갱신된 A값을 얻느것을 보장하기위해 주의가 필요하다.

    ##########################################여기서부터는 교수님이 그냥 듣기만 하라고하심##############

    1.5.6 I/O System Management

    os의 역할중 하나는 사용자에게 특정 하드웨어 장치의 특성을 숨기는것이다.

    예를 들어 UNIX에서 입출력장치의 특성은 입출력 서브시스템에 의해 운영체제 자체의 대부분으러부터 숨겨져있다.

    또한 다음과 같이 구성되어있다.

    • 버퍼링,캐시,스풀링
    • 일반적인 장치드라이버 인터페이스
    • 특정 하드웨어 장치들을 위한 드라이버

    단지 장치드라이버 만이 자신에게 지정된 특정장치의 특성을 알고있다.

     

    코어,스레드,클럭,캐시 메모리 용어 정리:https://coffee4m.com/cpu-%EC%BD%94%EC%96%B4/

     

    CPU 코어, 쓰레드, 클럭, 캐시메모리의 의미 - coffee4m

    CPU는 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고, 명령을 실행하는 장치입니다. CPU를 고를 때 접하는 것이 CPU 코어, 쓰레드, 클럭, 캐시메모리와 같은 용어들입니다. 이 포스팅에서는

    coffee4m.com

    https://velog.io/@redgem92/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-CPU-%EC%8A%A4%EC%BC%80%EC%A5%B4%EB%A7%81-%EB%A9%80%ED%8B%B0-%ED%83%9C%EC%8A%A4%ED%82%B9-%EB%A9%80%ED%8B%B0-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8B%B1-%EB%A9%80%ED%8B%B0-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D

     

    [운영체제][CPU 스케쥴링] 멀티 태스킹, 멀티 프로세싱, 멀티 프로그래밍

    컴퓨터는 여러 일을 동시에 처리하는게 아니라 그렇게 보이는 거에요. 어떻게 돌아가는지 알아봐요.

    velog.io

     

    'TIL(today i learned) > 운영체제' 카테고리의 다른 글

    1.7 Virtualization  (0) 2023.03.13
    1.6 Security and Protection  (0) 2023.03.13
    1.4 Operating System Operations  (0) 2023.03.11
    1.3 Computer-System Architecture  (0) 2023.03.10
    [1.2.2] Storage Structure  (0) 2023.03.08
Designed by Tistory.