비전공자에서 주니어 개발자까지
close
프로필 배경
프로필 로고

비전공자에서 주니어 개발자까지

  • 분류 전체보기 (86)
    • 개발 도서 (15)
    • 스프링 (12)
    • 코테대비 (0)
    • CS (2)
      • 네트워크 (9)
      • 데이터베이스 (11)
      • 운영체제 (13)
    • 개발 (20)
  • 글쓰기
  • 설정
페이징

페이징

Over View 메모리 연속 할당 기법 프로세스를 메모리에 올릴 때 주소 공간을 메모리의 한 곳에 연속적으로 적재하는 방식이다. 연속 할당 방식은 물리적 메모리를 다수의 분할로 나눠 하나의 분할에 하나의 프로세스가 적재되게 한다.연속 할당은 크게 고정분할과 가변분할로 나뉜다.   고정분할 방식물리적 메모리를 정해진 개수만큼의 영구적인 분할로 나눠 각 분할에 하나의 프로세스를 적재하는 방식. 분할의 크기는 모두 동일하거나 다를 수 있다. 고정분할 방식은 동시에 메모리에 올리 수 있는 프로그램의 수가 고정되어 있고수행 가능한 프로그램의 최대 크기 또한 제한된다는 점에서 가변분할 방식에 비해 융통성이 떨어진다. 또한 고정분할 방식은 외부조각과 내부조각 문제가 발생할 수 있다.더보기내부 단편화 : 분할 크기보..

  • format_list_bulleted CS/운영체제
  • · 2024. 6. 23.
  • textsms

가상 메모리와 주소 공간

가상 메모리(Virtual Memory) 메모리가 실제 메모리보다 많아 보이게 하는 기술로, 어떤 프로세스가 실행될 때 메모리에 해당 프로세스 전체가 올라가지 않더라도 실행이 가능하다는 점에 착안하여 고안된 메모리 기법이다.  가상 메모리를 사용하는 이유 물리 메모리는 컴퓨터에 장착된 실제 메모리로서 최대 크기는 CPU에 의해 제한된다. 그러면 운영체제는 물리 메모리보다 큰 프로세스를 실행시킬 수 없을까?또한 운영체제는 여러 프로세스를 합쳐 물리 메모리보다 클 때 이들을 동시에 실행시킬 수 없을까?에 대한 해답으로 가상 메모리 기법이 등장했다. 결국 가상 메모리는 물리 메모리보다 큰 프로세스나 여러 개의 작은 프로세스를 동시에 실행시켜,사용자나 응용프로그램에 무한대의 메모리가 있다고 느끼게 하는 것이다...

  • format_list_bulleted CS/운영체제
  • · 2024. 6. 18.
  • textsms
PCB와 Context Switching

PCB와 Context Switching

Process Management 구동중인 프로세스가 여러 개일 때, CPU 스케줄링을 통해 프로세스를 관리하는 것을 말한다.CPU들은 각 프로세스들에 대해 구분할 수 있어야 관리가 가능하다.그래서 프로세스들의 특징을 갖고 있는 것이 Process Metadata이다. Process Metadata가 갖고있는 정보프로세스 고유 ID (PID)프로세스 상태 : 준비, 실행, 대기 상태를 기억.프로세스 우선순위 (스케줄링 정보)Program Counter (PC) : 다음에 실행될 명령어의 주소를 기억.CPU 레지스터 : 레지스터 상태 저장, CPU 내 범용 레지스터, 데이터 레지스터, 세그먼트 레지스터 등이 갖고 있는 값을 기억.Owner (계정정보) : CPU 사용시간의 정보, 각종 스케줄러에 필요한 정..

  • format_list_bulleted CS/운영체제
  • · 2024. 6. 18.
  • textsms

인터럽트

인터럽트 주변장치와 입출력 장치는 CPU나 메모리와는 달리 인터럽트라는 메커니즘을 통해 관리된다. 인터럽트는 입출력 장치의 연산이 CPU의 명령 수행 속도보다 느리기 때문에 필요하다. 예를 들어 사장이 신입을 연봉 5000에 데려온 경우 신입이 5000 값어치를 하길 바란다.근데 영업사원이 영업을 못 해서 신입이 매번 쉬기만 한다면 사장은 계속 돈만 날리고 있는 셈이다.그래서 신입이 쉬지 못하도록 영업을 해오기 전까지 계속 다른 일을 시키고 있다가영업을 해오면 영업사원이 신입에게 영업해 온 게 있으니 이 일을 먼저 하라고 알리게 된다.이때 영업사원이 신입에게 일을 따왔다고 알려 먼저 이 일을 먼저 하라고 알리는 것이 인터럽트이다. 컴퓨터 관점으로 보게 되면 CPU가 프로그램을 실행할 때, 입출력 하드웨어..

  • format_list_bulleted CS/운영체제
  • · 2024. 6. 17.
  • textsms

시스템 콜

시스템 콜 시스템 콜은 운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스다.  시스템 콜이 필요한 이유 우리가 일반적으로 사용하는 프로그램은 응용프로그램이다.유저레벨의 프로그램은 유저레벨의 함수들 만으로는 많은 기능을 구현하기 힘들기 때문에, 커널의 도움을 반드시 받아야 한다. 이러한 작업은 응용프로그램으로 대표되는 유저 프로세스가 있는데, 유저모드에서는 수행할 수 없다.그렇기 때문에 반드시 kernel에 관련된 것은 커널모드로 전환을 해야 작업을 수행할 수 있다. 결국 시스템 콜이 필요한 이유는 해커가 피해를 입히기 위해 악의적으로 시스템 콜을 사용하는 경우나 초보 사용자가 하드웨어 명령어를 잘 몰라서 아무렇게 함수를 호출했을 경우에 시스템 전체..

  • format_list_bulleted CS/운영체제
  • · 2024. 6. 16.
  • textsms
CPU 스케줄링 알고리즘

CPU 스케줄링 알고리즘

CPU 스케줄링 알고리즘CPU 이용률을 극대화하여 최적의 효율로 사용하기 위한 알고리즘이다.  CPU 스케줄러는 프로그램이 실행될 때, CPU 스케줄링 알고리즘에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당하는 역할을 한다.  CPU 스케줄러가 스케줄링을 결정하는 상황실행 상태에서 대기 상태로 전환될 때 (I/O wait 등)실행 상태에서 준비 상태로 전환될 때 (interrupt 발생 등)대기 상태에서 준비 상태로 전환될 때 (I/O 완료 등)종료될 때 (Terminate) 위 상황들에서 1, 4번의 경우 반드시 스케줄링이 발생하여 새로운 프로세스를 선택하는데 이때 비선점형 스케줄링이 발생한다. 반면, 선점형 스케줄링은 CPU 독점을 방지하거나, 프로세스의 우선순위를 반영하고, 모든 ..

  • format_list_bulleted CS/운영체제
  • · 2024. 6. 16.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (86)
    • 개발 도서 (15)
    • 스프링 (12)
    • 코테대비 (0)
    • CS (2)
      • 네트워크 (9)
      • 데이터베이스 (11)
      • 운영체제 (13)
    • 개발 (20)
최근 글
인기 글
최근 댓글
태그
  • #국비지원
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바