[운영체제] CPU Scheduling
·
OS
이번 단원에서는CPU scheduling algorithmsscheduling 기준multiprocessor와 multicore schedulingreal-time scheduling algorithmsWindows, Linux, 그리고 Solaris operating systemCPU scheduling algorithms을 모델링하고 simulate몇몇 다른 CPU scheduling algorithmCPU Schdeuling basic conceptsCPU는 한 순간에 하나의 프로세스만을 실행함. 만약 CPU가 한 프로세스의 실행을 끝내고 다음 프로세스를 고르려면 어떤 프로세스를 선택해야하는 것인가? 이때 CPU schdeuling을 통해 CPU가 다음에 수행할 프로세스의 순서를 정하게 됨!!CPU..
[운영체제] Threads & Concurrency (2)
·
OS
이어서 treads에 대해 배워보자. 4.5 Implicit Threading implicit threading에 대해 알아보자. Implicit threading : compiler와 run-time libraries에 의해 thread를 관리하는 것 (프로그래머가 직접 관리하는 것이 아님!!) implicit threading을 쓴다면,,,, programmer는 parallel하게 실행될 수 있는 task를 찾아야 한다. programmer는 task를 function으로 코딩한다. 그러면 run-time libraries가 thread 생성 관리에 대한 디테일한 것들은 알아서 해줌 → 정리해보면, programmer는 parallel 한 task를 찾고 함수로 쓰기만 하면 나머지는 알아서 해주니까..
[운영체제] Threads & Concurrency
·
OS
이번 장에서는 threads에 대해 배운다. 뭘 배울 건지 살펴보자. thread를 구성하는 기본 component가 무엇인지: thread와 precess의 차이를 중점으로 multithreaded process의 장단점 threading의 thread pools, fork-join, Grand Central Dispatch Linux에서의 threads 그럼 가보자고. 4.1 Overview Threads Thread가 뭔지부터 알아보자. Thread는 CPU를 사용하는데 있어 가장 기본적인 unit이다! thread는 thread ID, PC, register set, stack으로 구성되어 있다. thread는 code, data, 그리고 open files와 signal과 같은 OS 자원을 공유..
[운영체제] Processes(2)
·
OS
프로세스 두번째 시간이다. 저번에 프로세스가 뭔지부터 어떻게 생성되는지에 대해 알아보았다. 이번에는 프로세스끼리 어떻게 통신하는지 알아보겠다. 가보자고 3.4 Interprocess Communication(IPC) 프로세스들은 서로 데이터를 공유하냐에 따라 independent인지 coorperating인지 나뉜다. 📢 IPC는 coorperating인 프로세스들이 데이터를 공유할 때 사용하는 메커니즘이다. IPC에는 2가지 방법이 존재한다. 첫번째, shared memory 방식 (왼쪽, (a)) 두번째, message passing 방식이다. (오른쪽, (b)) 이 2가지 방법에 대해 자세히 알아보도록 하자!!!! 3.5 IPC in Shared-Memory Systems Shared memory를..
[운영체제] Processes
·
OS
이번에는 아주 중요한 process에 대해 배우기 시작한다. 뭘 배울 건지 먼저 살펴보자. process 표현 방법과 scheduling System call 이용한 process의 생성과 소멸 Shared memory와 message passing 이용한 IPC 3.1 Process Concept 기본적인 process의 개념을 살펴보자. process는 무엇인가????? Jobs(program이 수행할 작업) → tasks or user programs OS의 내부 activities 수행 가능한 program이 disk에 저장되어 있는제, 저장되어 있을 때는 걍 data 덩어리지만, program을 CPU를 통해 실행하여 active한 상태가 되었을때, process라고 부름!!! Process S..
[운영체제] OS 구조
·
OS
이번에는 뭘 다룰거냐면,,!!! 운영체제가 제공하는 다양한 service OS가 운영프로그램에 대해 제공할 수 있는 다양한 system call이 무엇이고, 또 system call이 어떤 식으로 제공되는지 OS를 구성하는 다양한 방법 OS 설치, customization, booting OS 성능 모니터링 방법 에 대해서 배워보겠다. 2.1 Operating-System Services 굉장히 많은 정보를 담고 있는 그림이다. 하나씩 뜯어보자~! Service 서비스들을 다 살펴보자 간단하게 구분을 해보자면 왼쪽부터 program execution, I/O operations, file systems, communication, error detection까지는 운영자의 직접적인 요청에 의해 OS가 서..
[운영체제] OS 소개(2)
·
OS
1.5 Resource Management Process Management 실제 수행되고 있는 program인 process에 대한 관리 “process를 관리한다 = process에 필요한 자원을 관리한다.”, process에 필요한 자원에는 CPU time, memory, files, I/O devices 등등 이 있음 Memory Management main memory에 있는 instruction과 data에 대한 관리 memory에 있는 공간을 allocating & deallocating File-System Management file, file system Mass-Storage Management Secondary storage: HDD, SSD (Secondary storage는 ma..
[운영체제] 컴퓨터 구조 및 OS 소개
·
OS
먼저 앞으로 배울 운영체제의 간단한 Outline을 소개하겠다. 너무나도 유명한 공룡책을 참고해서 앞으로 정리해보려고 한다. Introduction OS structures Process Management CPU scheduling Synchronization and deadlock Memory Management Storage Management File Management Protection and Security Advanced topics Virtual machines Networks and distributed computers 1.1 What Operating Systems Do: Computer System Structure Hardware: 기본적인 Computing Resource를 제..
코코자
'OS' 카테고리의 글 목록