👩‍💻 CS/운영체제

4. Process Management 💡 프로세스 생성 (Process Creation)부모 프로세스(Parent Process)가 자식 프로세스(Children Process)를 생성한다.프로세스가 또 다른 프로세스를 만드는 구조. 복제 생성프로세스의 트리(계층 구조)가 형성된다.프로세스는 자원을 필요로 한다. 이때, 자원은 운영체제(OS)로부터 받거나 부모와 공유한다.자원의 공유부모와 자식이 모든 자원을 공유하는 모델일부를 공유하는 모델(모든 자원을 공유하는 것보다 더 효율적임) ex) Linux전혀 공유하지 않는 모델수행(Execution)부모와 자식은 공존하며 수행되는 모델자식이 종료(terminate)될 때까지 부모가 기다리는(wait = blocked) 모델주소 공간(Address spac..
3. Process (2), (3)💡 동기식 입출력과 비동기식 입출력 부연설명입출력을 요청한 프로세스가 입출력이 끝날 때까지 대기상태일 경우 동기식 입출력입출력을 요청한 프로세스가 종료시까지 대기하지 않고 CPU가 새로운 instruction을 실행할 경우 비동기식 입출력 💡 ThreadA thread is a basic unit of CPU utilizationlighweight process 라고도 불림CPU를 수행하는 단위라고 할 수 있음프로세스 1개당 여러 실행단위를 가질 수 있음🎇Thread의 구성Program Counterregister setstack space🎇Thread가 동료 Thread와 공유하는 부분code sectiondata sectionOS Resources (각종 OS..
3. Process (1) ✨ 프로세스의 개념 프로세스는 실행 중인 프로그램을 의미한다. (Process is a program in execution) 프로그램이 정확하게 언제 시작하고 종료하는지를 나타내기 위해 사용 프로세스의 문맥(context) 현재 프로세스의 상태를 나타내는 모든 요소 CPU 수행 상태를 나타내는 하드웨어 문맥 Program Counter CPU안에서 어떤 프로세스인지 구분해 줌 프로세스 code의 진행 위치를 알려줌 각종 register 프로세스의 주소공간 code, data, stack 프로세스 관련 커널 자료구조 PCB (Process Control Block) Kernel stack 프로세스의 문맥이 필요한 이유 타임 쉐어링 때문에 다시 작업을 이어서 하려고 할 때 문맥을..
System Structure & Program Execution (2) ✨ 동기식 입출력과 비동기식 입출력 동기식 입출력 (Synchronous I/O) i/o 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어가며, 다음 작업을 수행할 수 있음 처리하는데 데이터가 꼭 필요할 때 사용 read 구현 방법1 i/o 끝날 때까지 CPU일 안 시키고 대기시킴 => 낭비 매 시점 하나의 I/O만 일어날 수 있음 구현 방법 2 i/o 가 완료될 때까지 해당 프로그램에게서 CPU를 뺴앗음 i/o 처리를 기다리는 줄에 그 프로그램을 줄 세움 비동기식 입출력 (Asynchronous I/O) i/o가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어가 다음 작업을 수..
Chapter 2. System Structure & Program Execution(1) 🎈 컴퓨터 시스템 구조 Computer CPU + Memory를 (좁은 의미의) 컴퓨터라고 한다. I/O device 나머지는 IO 디바이스로 이루어져 있다. Input은 입력, Output은 출력이다. CPU는 매 클럭 사이클 마다 인터럽션 interruption을 수행해 input을 읽어오고, output을 수행한다. CPU 매 클럭 사이클마다 메모리에서 기계어를 읽어다가 실행한다 CPU는 메모리하고만 소통한다 Timer time sharing을 구현하기 위한 하드웨어 interrupt 발생 시간 설정한다 프로세스가 혼자서 계속 CPU 점유하는 것을 막는다 Memory main memory : CPU의 작업공간..
Chapter 1. Introduction to Operation Systems 💡운영체제란 무엇인가? 운영체제(Operationg System, OS)는 여러 하드웨어들과 소프트웨어를 관리하는 통치자이다. 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행해 줌 좁은 의미의 운영체제 : 커널 (운영체제의 핵심 부분으로 메모리에 항상 상주) 넓은 의미의 운영체제 : 커널뿐만 아니라 각종 주변 시스템 유틸리티를 포함한 개념. 메모리에 상주하지 않는 개별적인 프로그램들을 전부 포함함. 기계에 SW가 돌아가고 있다 > 운영체제가 관리하고 있다고 보면 된다 💡 운영체제의 목적 컴퓨터 시스템을 편리하게 사용..
늘코딩
'👩‍💻 CS/운영체제' 카테고리의 글 목록