전체 글 208

[Linux] 리눅스 기본 환경

리눅스 기초학습목표: Shell의 의미를 알고, 유형 및 종류별로 차이를 구분할 수 있다.   1. 리눅스 기본 환경◆ HW   ◇ CPU   ◇ Memory   ◇ NIC(Network interface Card)   ◇ GPU   ◇ ...   ◇ IO(input/Output): 입출력장치 ★★★       ■ input: 키보드, 마우스       ■ Output: 모니터, 프린터 ◆ SW   ◇ Kernel   ◇ Shell ★★★       ■ 사용자가 입력한 명령어 실행       ■ 명령어를 커널이 알아들을 수 있도록 번역하여 커널에게 전달       ■ Shell 프로그램을 활용해 프로그래밍(자동화★★) 가능  ◆ Kernel   ◇ 컴퓨터 자원들을 관리하는 역할   ◇ 컴퓨터이랑만 소통하..

Linux 2023.09.18

메모리

목차메모리 관리각각의 프로세스는 독립된 메모리 공간을 갖는다. OS만이 OS 메모리 영역과 사용자 메모리 영역의 접근에 제약받지 않는다. Swapping메모리가 부족할 때, 할당 시간이 끝난 프로세스의 메모리를 보조 기억장치(Disk)로 내보내고다른 프로세스의 메모리를 불러 들임Swap-in: 주기억장치(RAM)으로 불러오는 과정Swap-out: 보조 기억장치(Disk)로 내보내는 과정단편화 (Fragmentation)프로세스들이 메모리에 적재되고 제거되는 일이 반복되면, 프로세스들이 차지하는 메모리 틈 사이에 사용하지 못할만큼의 작은 자유 공간들이 늘어나는데, 이것이 단편화다.외부 단편화: 메모리 공간 중 사용하지 못하게 되는 일부분. 물리 메모리(RAM)에서 사이사이 남는 공간들을 모두 합치면 충분한..

프로세스(Process) (1)

목차프로세스Context프로세스의 상태 및 환경 정보Program Counter: 다음 실행할 명령어 주소 저장(in memory)각종 레지스터프로세스 상태: CPU, memory etc. 자원 얼마나 사용중인지 등에 대한 상태 정보Windows는 PCB가 컨텍스트를 관리한다. 프로세스 관련 커널 자료 구조PCB(Process Control Block)PCB는 이 정보를 저장하고 관리하는 역할프로세스마다 PCB를 가지고 있음PCB에 저장되는 정보프로세스 식별자(Process ID, PID) : 프로세스 식별번호프로세스 상태 : new, ready, running, waiting, terminated 등의 상태를 저장프로그램 카운터 : 프로세스가 다음에 실행할 명령어의 주소CPU 레지스터CPU 스케쥴링 정..

쓰레드(Thread)

목차  쓰레드구성공유되는 영역Program Counter(PC): 쓰레드가 명령어의 어디까지 수행하였는지 순서를 나타낸다.register: 쓰레드가 어디까지 수행했는지 정보 저장stack: 함수 호출 , 변수 저장 등에 사용되는 메모리 공간(=stack)이 독립적이라는 것은 독립적으로 함수 호출이 가능하다는 것이다.공유되지 않는 영역code dataOS resources EX 1)예외로 Chrome 브라우저는 각각의 창을 별도의 프로세스로 실행하는 멀티 프로세스 아키텍처를 채택한다. 이것은 확장 프로그램의 충돌로부터 브라우저를 보호하기 위한 성능 최적화 설계를 위함이다.EX 2)한 프로세스에서 특정 작업(EX. i/o)을 요청하는 동안, 사용자들에게 대기 페이지(로딩중)를 보여주어야 한다.즉, 하나의 스..

스케줄러(Scheduler)

목차스케줄러운영체제의 일부로, 스케줄링을 하는 코드이다. 운영체제라고 보면 된다.time sharing system에는 보통 장기 스케줄러가 없고,무조건 ready큐에 담긴다.장기스케줄러는 new(새로운 프로세스) → ready큐에 담을 때 사용한다. 스케줄러 종류Long-term scheduler (장기스케줄러 or job scheduler)시작 프로세스 중에서 어떤 것들을 ready queue로 보낼지 결정프로세스에 memory(및 각종 자원)을 주는 문제Short-term scheduler (단기스케줄러)어떤 프로세스를 다음번에 running 시킬 지 결정프로세스에 CPU를 주는 문제Medium-Term Scheduler (중기스케줄러)여유 공간 마련을 위해 프로세스를 통째로 메모리에서 디스크로 쫓..

프로세스(Process) (2)

목차프로세스프로세스 생성프로세스가 또 다른 프로세스를 만든다부모 프로세스가 자식 프로세스 생성fork(복제 생성)하여 생성프로세스의 트리(계층 구조) 형성프로세스는 자원을 필요로 함운영체제로부터 공급 받는다.부모와 공유한다.자원 공유 방식1. 부모와 자식이 모든 자원을 공유하는 모델2. 일부를 공유하는 모델3. 전혀 공유하지 않는 모델수행(Execution)부모와 자식은 공존하며 수행되는 모델자식이 종료(terminate)될 때까지 부모가 기다리는(wait) 모델주소 공간 (Address space)자식은 부모의 공간을 그대로 복사함 (binary and OS data)자식은 그 공간에 새로운 프로그램을 올림유닉스의 예fork() 시스템 콜이 새로운 프로세스를 생성부모를 그대로 복사 (OS data ex..

데드락(Deadlock)

목차 여러 프로세스들이 다른 프로세스가 점유하고 있는 자원을 기다릴 때 무한 대기에 빠지는 상태적용 예시시스템에 2개의 tape drive가 있다.프로세스 P1과 P2가 각각 하나의 tape drive를 보유한 채, 다른 하나를 기다리고 있다. 발생 조건매 순간 하나의 프로세스만이 자원을 사용할 수 있음프로세스는 자원을 스스로 내놓을 뿐, 강제로 빼앗기지 않음자원을 가진 프로세스가 다른 자원을 기다릴 때 보유 자원을 놓지않고 계속 가지고 있음자원을 기다리는 프로세스 간 사이클이 형성되어야함 해결방안한 번에 여러 프로세스가 자원을 사용할 수 있도록 다중 작업 활성화동기화 문제 발생 우려높은 우선순위대로 자원 선점

운영체제

참고 사이트운영체제 01 운영체제의 개요 | KOCW 이화여대 반효경https://m.blog.naver.com/ilikebigmac/222009981745 컴퓨터 시스템 구조 컴퓨터 내부  →HWCPU, Memory외부(I/O device)i/o device: disk, mouse, keyboard etc.  →HWi/o Controller: I/O device를 전담하는 작은 CPU 역할 →HWCPU의 요청을 컨트롤러가 대신 받아, I/O device에게 명령을 내린다.Device driver(장치구동기) →SWI/O Device를 인식하는 방법에 대한 내용이 적혀있는 파일OS가 driver 를 통해 I/O Device를 인식i/o 작업은 많은 시간이 소요되므로, cpu역할을 하는 i/o Contro..